@charset "UTF-8";
html { box-sizing: border-box; }

*, *::after, *::before { box-sizing: inherit; }

/* Font Family Declarations */
/* Font Sizing Handler */
/* Typography Styles */
/* Centered element - Parent container should be position: relative; */
/* Force element to fill it's parent container */
/* This mixin can be used to set the object-fit: @include object-fit(contain); or object-fit and object-position: @include object-fit(cover, top); */
.section.hero .hero-image-section .hero-overlay .hero-title-image + h1, .section.hero .hero-image-section .hero-overlay .field-name-field-city-title-image + h1, .section.hero .hero-image-section .hero-overlay .hero-title-image + div.hero-content-wrapper h1, .section.hero .hero-image-section .hero-overlay .field-name-field-city-title-image + div.hero-content-wrapper h1 { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; word-wrap: normal; }

.section.hero .hero-image-section { display: table; height: 55.7vw; overflow: hidden; padding-top: 80px; position: relative; vertical-align: middle; width: 100%; }

.section.hero .hero-image-section .field-name-field-hero-section-hero-image-m { height: 100%; left: 0; overflow: hidden; position: absolute; top: 0; max-width: 100vw; width: 100%; }

.section.hero .hero-image-section .field-name-field-hero-section-hero-image-m:after { background-color: rgba(0, 0, 0, 0.2); content: ''; display: block; height: 100%; left: 0; position: absolute; top: 0; width: 100%; }

@media (min-width: 768px) { .section.hero .hero-image-section .field-name-field-hero-section-hero-image-m { display: none; } }

.section.hero .hero-image-section .field-name-field-hero-section-hero-image-m img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 767px) { .section.hero .hero-image-section .field-name-field-hero-section-hero-image-m + .hero-img { display: none; } }

.section.hero .hero-image-section .hero-img { height: 100%; left: 0; overflow: hidden; position: absolute; top: 0; max-width: 100vw; width: 100%; }

.section.hero .hero-image-section .hero-img img { height: auto; width: 100%; }

@media only screen and (max-width: 767px) { .section.hero .hero-image-section .hero-img img { font-family: 'object-fit: cover;'; height: 100%; left: 50%; max-width: none; object-fit: cover; position: absolute; top: 50%; transform: translate(-50%, -50%); }
  .portrait .section.hero .hero-image-section .hero-img img { height: auto !important; width: 100%; } }

.path-frontpage .section.hero .hero-image-section .hero-img img { height: 100% !important; object-fit: cover; }

.section.hero .hero-image-section .hero-img .media picture { width: 100%; height: 100%; display: flex; }

.section.hero .hero-image-section .hero-img .media picture img { font-family: 'object-fit: cover;'; object-fit: cover; }

.page-node-type-partner .section.hero .hero-image-section .hero-img:not(.hero-img-responsive):not(.hero-type-video), .page-node-type-article .section.hero .hero-image-section .hero-img:not(.hero-img-responsive):not(.hero-type-video) { display: none; }

.section.hero .hero-image-section .hero-img::after { background-color: rgba(0, 0, 0, 0.2); content: ''; display: block; height: 100%; left: 0; position: absolute; top: 0; width: 100%; }

.section.hero .hero-image-section .hero-img.hero-type-video { overflow: hidden; }

.section.hero .hero-image-section .hero-img.hero-type-video iframe { height: 100%; left: 0; min-height: 56vw; min-width: 100vw; position: absolute; top: 0; z-index: 2; }

.section.hero .hero-image-section .hero-img.hero-type-video img { z-index: 1; }

@media only screen and (min-width: 768px) { .no-touch .section.hero .hero-image-section .hero-img.hero-type-video img { display: none; } }

.touch .section.hero .hero-image-section .hero-img.hero-type-video iframe { display: none; }

@media only screen and (max-width: 767px) { .section.hero .hero-image-section .hero-img.hero-type-video iframe { display: none; } }

.page-node-type-partner .section.hero .hero-image-section .hero-img.hero-type-map { display: block; }

.section.hero .hero-image-section .hero-img.hero-type-map::after { background-color: rgba(166, 53, 3, 0.8); }

.page-node-type-event .section.hero .hero-image-section .hero-img.hero-type-map::after { background-color: rgba(144, 105, 32, 0.8); }

.page-node-type-city .section.hero .hero-image-section .hero-img.hero-type-map::after { background-color: rgba(49, 80, 52, 0.8); }

.page-node-type-article .section.hero .hero-image-section .hero-img.hero-type-map::after { background-color: rgba(18, 52, 65, 0.8); }

.section.hero .hero-image-section .hero-link a { bottom: 0; display: block; left: 0; position: absolute; right: 0; text-indent: -999999px; top: 0; z-index: 20; }

.section.hero .hero-image-section .hero-overlay { color: #FFFFFF; display: table-cell; position: relative; text-align: center; vertical-align: middle; z-index: 3; }

@media only screen and (max-width: 767px) { .section.hero .hero-image-section .hero-overlay { padding: 40px 20px; max-width: 95vw; margin: 0 auto; } }

@media only screen and (max-width: 1023px) { .path-frontpage .section.hero .hero-image-section .hero-overlay { display: block; height: 60vh; position: relative; z-index: 2; }
  .path-frontpage .section.hero .hero-image-section .hero-overlay .hero-title-image { padding-left: 24px; padding-right: 24px; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); left: 50%; position: absolute; top: 50%; margin-left: auto; margin-right: auto; max-width: 500px; width: 100%; } }

.section.hero .hero-image-section .hero-overlay h1 { font-size: 54px; font-size: 3.375rem; line-height: .9; text-shadow: 3px 2px 12px rgba(0, 0, 0, 0.7); margin: 0 auto; max-width: 1200px; }

@media only screen and (min-width: 900px) and (max-width: 1332px) { .section.hero .hero-image-section .hero-overlay h1 { font-size: 6vw; } }

@media only screen and (min-width: 1333px) { .section.hero .hero-image-section .hero-overlay h1 { font-size: 80px; font-size: 5rem; } }

.page-not-found .section.hero .hero-image-section .hero-overlay h1 { font-size: 54px; font-size: 3.375rem; margin-bottom: 25px; max-width: 800px; }

@media only screen and (min-width: 768px) { .section.hero .hero-image-section .hero-overlay h1 .page-node-type-partner, .section.hero .hero-image-section .hero-overlay h1 .page-node-type-point-of-interest, .page-node-type-event .section.hero .hero-image-section .hero-overlay h1 { font-size: 74px; font-size: 4.625rem; } }

.section.hero .hero-image-section .hero-overlay h2, .section.hero .hero-image-section .hero-overlay h3 { font-family: 'TN-Regular', arial, sans-serif; font-style: normal; font-weight: normal; display: inline-block; font-size: 18px; letter-spacing: 8px; text-shadow: 3px 2px 12px rgba(0, 0, 0, 0.7); text-transform: uppercase; }

.section.hero .hero-image-section .hero-overlay h2.event-partner-title, .section.hero .hero-image-section .hero-overlay h3.event-partner-title { display: block; margin-bottom: 0; }

@media only screen and (max-width: 519px) { .section.hero .hero-image-section .hero-overlay h2 { letter-spacing: 3px; } }

.section.hero .hero-image-section .hero-overlay .field--name-field-hero-subtext { font-weight: bold; margin: 10px auto 0; max-width: 1200px; text-align: center; text-shadow: 3px 2px 12px rgba(0, 0, 0, 0.7); width: 90%; }

.section.hero .hero-image-section .hero-overlay .hero-content-wrapper .hero-subtitle { position: relative; margin-bottom: 30px; padding-bottom: 16px; font-size: 28px; line-height: 1.2; margin-left: auto; margin-right: auto; max-width: 520px; }

.section.hero .hero-image-section .hero-overlay .hero-content-wrapper .hero-subtitle::after { background: url("/themes/custom/tnvacation/img/hr_small_white.png") no-repeat center; content: ''; display: block; height: 7px; position: absolute; width: 30px; top: 100%; left: 50%; transform: translateX(-50%); }

.page-not-found .section.hero .hero-image-section .hero-overlay .hero-content-wrapper .hero-subtitle { padding-bottom: 25px; }

.section.hero .hero-image-section .hero-overlay .hero-content-wrapper .hero-description { display: none; }

.section.hero .hero-image-section .hero-overlay .hero-title-image, .section.hero .hero-image-section .hero-overlay .field-name-field-city-title-image { margin: 0 auto 8px; max-width: 50vw; }

.page-node-type-region .section.hero .hero-image-section .hero-overlay .hero-title-image, .page-node-type-region .section.hero .hero-image-section .hero-overlay .field-name-field-city-title-image { position: relative; margin-bottom: 30px; padding-bottom: 16px; }

.page-node-type-region .section.hero .hero-image-section .hero-overlay .hero-title-image::after, .page-node-type-region .section.hero .hero-image-section .hero-overlay .field-name-field-city-title-image::after { background: url("/themes/custom/tnvacation/img/hr_small_white.png") no-repeat center; content: ''; display: block; height: 7px; position: absolute; width: 30px; top: 100%; left: 50%; transform: translateX(-50%); }

@media only screen and (max-width: 767px) { .section.hero .hero-image-section .hero-overlay .hero-title-image, .section.hero .hero-image-section .hero-overlay .field-name-field-city-title-image { max-width: 80vw; } }

.section.hero .hero-image-section .hero-overlay .hero-title-image img, .section.hero .hero-image-section .hero-overlay .field-name-field-city-title-image img { margin: 0 auto; max-width: 80%; }

.path-frontpage .section.hero .hero-image-section .hero-overlay .hero-title-image img, .path-frontpage .section.hero .hero-image-section .hero-overlay .field-name-field-city-title-image img { max-width: 80%; }

@media only screen and (min-width: 768px) { .path-frontpage .section.hero .hero-image-section .hero-overlay .hero-title-image img, .path-frontpage .section.hero .hero-image-section .hero-overlay .field-name-field-city-title-image img { max-width: 480px; } }

@media (min-width: 1600px) { .path-frontpage .section.hero .hero-image-section .hero-overlay .hero-title-image img, .path-frontpage .section.hero .hero-image-section .hero-overlay .field-name-field-city-title-image img { max-width: 600px; } }

@media (min-width: 1200px) { .reverse-landing .section.hero .hero-image-section .hero-overlay .hero-title-image img, .reverse-landing .section.hero .hero-image-section .hero-overlay .field-name-field-city-title-image img { width: 225px; } }

.section.hero .hero-image-section .hero-overlay .hero-mobile-title-image { margin-bottom: 40px; }

@media (min-width: 768px) { .section.hero .hero-image-section .hero-overlay .hero-mobile-title-image { display: none; } }

@media (max-width: 768px) { .section.hero .hero-image-section .hero-overlay .hero-mobile-title-image + .hero-title-image { display: none; } }

.section.hero .hero-image-section .hero-overlay .photo-credit { position: absolute; left: 10px; bottom: 5px; text-shadow: 0 0 10px #000000; font-style: italic; }

.section.hero .hero-image-section .hero-overlay .title-eyebrow h2 { padding-bottom: 2vh; }

.section.hero .hero-image-section .hero-overlay .media img { margin: 0 auto; }

.page-node-type-trail .section.hero .hero-image-section .hero-overlay .media { display: flex; justify-content: center; }

.page-node-type-trail .section.hero .hero-image-section .hero-overlay .media img { margin: auto; }

.section.hero .hero-image-section .play-button-controls ~ .photo-credit-wrapper, .section.hero .hero-image-section .play-button-controls ~ .hero-overlay > .photo-credit { left: inherit; right: 24px; }

.section.hero .hero-image-section .photo-credit-wrapper { bottom: 20px; color: #FFFFFF; position: absolute; left: 24px; z-index: 2; }

@media only screen and (max-width: 767px) { .section.hero .hero-image-section.portrait .hero-img img { height: auto !important; width: 100%; } }

.section.hero .hero-image-section .photo-credit { color: #FFFFFF; position: absolute; text-shadow: 0 0 10px #000000; font-style: italic; bottom: 15px; left: 20px; }

@media only screen and (max-width: 767px) { .section.hero .hero-image-section { height: 100vh; }
  body.touch .section.hero .hero-image-section .play-button-controls { display: none; }
  .section.hero .hero-image-section .play-button-controls ~ .photo-credit-wrapper, .section.hero .hero-image-section .play-button-controls ~ .hero-overlay > .photo-credit { left: 24px; right: inherit; } }

.short-hero .section.hero .hero-image-section { height: 33vw; }

@media only screen and (min-width: 520px) { .short-hero .section.hero .hero-image-section .hero-img img { -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); left: 50%; position: absolute; top: 50%; }
  .short-hero .section.hero .hero-image-section .hero-img.hero-type-video iframe { -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); left: 0; position: absolute; top: 50%; } }

.page-node-type-partner.short-hero .section.hero .hero-image-section { height: 653px; max-height: 653px; }

.page-node-type-partner.short-hero .section.hero .hero-image-section .hero-img img { height: 100%; }

@media only screen and (min-width: 768px) and (max-width: 1023px) { .page-node-type-partner.short-hero .section.hero .hero-image-section { height: 766px; max-height: 766px; } }

.section.hero .page-node-type-event .hero-image-section, .page-node-type-point-of-interest .section.hero .hero-image-section { height: 653px; max-height: 653px; }

.section.hero .page-node-type-event .hero-image-section .hero-img img, .page-node-type-point-of-interest .section.hero .hero-image-section .hero-img img { height: 100%; }

@media only screen and (min-width: 768px) and (max-width: 1023px) { .section.hero .page-node-type-event .hero-image-section, .page-node-type-point-of-interest .section.hero .hero-image-section { height: 766px; max-height: 766px; } }

.section.hero.west-vacation-guide .hero-image-section .hero-overlay .hero-title-image, .section.hero.east-vacation-guide .hero-image-section .hero-overlay .hero-title-image, .section.hero.middle-vacation-guide .hero-image-section .hero-overlay .hero-title-image { margin: 0 auto 8px; max-width: 80vw; }

@media only screen and (min-width: 768px) { .section.hero.west-vacation-guide .hero-image-section .hero-overlay .hero-title-image, .section.hero.east-vacation-guide .hero-image-section .hero-overlay .hero-title-image, .section.hero.middle-vacation-guide .hero-image-section .hero-overlay .hero-title-image { margin: 0 7vw 0 auto; max-width: 44vw; } }

.section.hero.tmp-hero-section-wrapper { position: relative; }

.section.hero.tmp-hero-section-wrapper:after { content: ''; position: absolute; bottom: 0; left: 0; height: 63px; width: 100%; background-image: url("/themes/custom/tnvacation/img/tn-music-pathways/hero-edge.png"); background-position: top; background-size: cover; z-index: 1; }

.section.hero.tmp-hero-section-wrapper .hero-overlay { display: flex; align-items: center; flex-direction: column; justify-content: center; height: 100%; width: 100%; }

@media only screen and (min-width: 768px) { .section.hero.tmp-hero-section-wrapper .hero-overlay { flex-direction: row; } }

.section.hero.tmp-hero-section-wrapper .hero-overlay .hero-title-image { display: flex; justify-content: center; width: 100%; }

@media only screen and (min-width: 768px) { .section.hero.tmp-hero-section-wrapper .hero-overlay .hero-title-image { justify-content: flex-end; width: 43%; } }

.section.hero.tmp-hero-section-wrapper .hero-overlay .hero-title-image img { margin: 0; width: 240px; }

@media only screen and (min-width: 768px) { .section.hero.tmp-hero-section-wrapper .hero-overlay .hero-title-image img { margin: 1rem 0 2rem; } }

.section.hero.tmp-hero-section-wrapper .hero-overlay .hero-content-wrapper { display: flex; flex-direction: column; align-items: center; margin: 0; width: 100%; }

@media only screen and (min-width: 768px) { .section.hero.tmp-hero-section-wrapper .hero-overlay .hero-content-wrapper { flex-direction: column; align-items: flex-start; margin: 0 0 0 2rem; width: 57%; } }

.section.hero.tmp-hero-section-wrapper .hero-overlay .hero-content-wrapper .hero-subtitle { font-family: 'Hand-Mocha-Mattari', arial, sans-serif; font-style: normal; font-weight: normal; font-size: 42px; font-size: 2.625rem; color: #FEFBF1; margin: 0; padding: 0; }

.section.hero.tmp-hero-section-wrapper .hero-overlay .hero-content-wrapper .hero-subtitle:after { content: none; }

.section.hero.tmp-hero-section-wrapper .hero-overlay .hero-content-wrapper .hero-description { display: block; }

.section.hero.tmp-hero-section-wrapper .hero-overlay .hero-content-wrapper .hero-description * { font-size: 18px; font-size: 1.125rem; }

.page-node-type-event .section.hero .hero-ctas, .page-node-type-point-of-interest .section.hero .hero-ctas { position: relative; margin-top: 12px; padding-top: 60px; text-align: center; }

.page-node-type-event .section.hero .hero-ctas::after, .page-node-type-point-of-interest .section.hero .hero-ctas::after { background: url("/themes/custom/tnvacation/img/hr_small_white.png") no-repeat center; content: ''; display: block; height: 7px; position: absolute; width: 30px; top: 0; left: 50%; transform: translateX(-50%); }

.section.hero .hero-ctas .field { display: inline-block; margin: 0 15px; vertical-align: middle; }

.section.hero .hero-ctas .field + .mytrip { margin: 0 15px; }

.section.hero .hero-ctas a { font-family: 'Freight-Sans', arial, sans-serif; font-weight: 700; color: #FFFFFF; font-size: 13px; line-height: 1.5; }

.section.hero .hero-ctas a span { font-size: 36px; }

.section.hero .hero-ctas .mytrip:not(.mytrip--button) { background-color: transparent; border: 0 none; border-radius: 0; color: inherit; cursor: pointer; font-style: normal; font-weight: inherit; hyphens: auto; line-height: normal; margin: 0; text-decoration: none; text-transform: none; transition: inherit; user-select: none; white-space: normal; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; color: #FFFFFF; cursor: pointer; display: inline-block; height: 76px; position: relative; text-align: center; vertical-align: middle; width: 115px; }

.section.hero .hero-ctas .mytrip:not(.mytrip--button).mytrip-add .add { opacity: 1; }

.section.hero .hero-ctas .mytrip:not(.mytrip--button).mytrip-add .remove { opacity: 0; }

.section.hero .hero-ctas .mytrip:not(.mytrip--button).mytrip-add:hover:before { content: '\e93e'; }

.section.hero .hero-ctas .mytrip:not(.mytrip--button).mytrip-add:focus .add { opacity: 1; }

.section.hero .hero-ctas .mytrip:not(.mytrip--button).mytrip-add:focus .remove { opacity: 0; }

.section.hero .hero-ctas .mytrip:not(.mytrip--button).mytrip-remove .add { opacity: 0; }

.section.hero .hero-ctas .mytrip:not(.mytrip--button).mytrip-remove .remove { opacity: 1; }

.section.hero .hero-ctas .mytrip:not(.mytrip--button).mytrip-remove:before { -webkit-transform: all 0.3s linear; -moz-transform: all 0.3s linear; -ms-transform: all 0.3s linear; -o-transform: all 0.3s linear; transform: all 0.3s linear; content: '\e93e'; }

.section.hero .hero-ctas .mytrip:not(.mytrip--button).mytrip-remove:hover:before { content: '\e93d'; }

.section.hero .hero-ctas .mytrip:not(.mytrip--button).mytrip-remove:focus .add { opacity: 0; }

.section.hero .hero-ctas .mytrip:not(.mytrip--button).mytrip-remove:focus .remove { opacity: 1; }

.section.hero .hero-ctas .mytrip:not(.mytrip--button):before { content: ""; /* use !important to prevent issues with browser extensions that change fonts */ font-family: 'icomoon'; font-style: normal; font-variant: normal; font-weight: normal; line-height: 1; speak: none; text-transform: none; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-size: 36px; font-size: 2.25rem; height: 36px; width: 36px; }

.section.hero .hero-ctas .mytrip:not(.mytrip--button) .mt-label { -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; font-size: 13px; font-size: 0.8125rem; bottom: 4px; color: #FFFFFF; font-weight: 700; line-height: 1; left: 0; opacity: 0; position: absolute; text-align: center; top: auto; width: 100%; }

.section.hero .hero-ctas .my-trip-button .mytrip { background-size: cover; background: url("/themes/custom/tnvacation/img/cta-clear-white.png") center repeat-x transparent; background-size: cover; color: #FFFFFF !important; }

.section.hero .hero-ctas .my-trip-button .mytrip::before { content: none; }

.section.hero .hero-ctas .my-trip-button .mytrip::after { content: none; }

.section.hero .hero-ctas .my-trip-button .mytrip:hover { color: #FFFFFF !important; }

.section.hero .hero-ctas .my-trip-button .mytrip:before, .section.hero .hero-ctas .my-trip-button .mytrip:after { content: unset; background-image: none; }

.page-node-type-partner .section.hero .hero-ctas { display: flex; align-items: center; justify-content: space-between; max-width: 350px; margin: 3rem auto 0; flex-wrap: wrap; }

.page-node-type-partner .section.hero .hero-ctas .button { padding: 14px 15px 11px; }

@media (max-width: 768px) { .page-node-type-partner .section.hero .hero-ctas { margin: 2rem auto 0; flex-direction: column; } }

.page-node-type-article .section.hero .hero-image-section .hero-overlay { text-align: left; }

.page-node-type-article .section.hero .hero-image-section .hero-overlay .outer-wrapper { max-width: 740px; }

.page-node-type-article .section.hero .hero-image-section .hero-overlay h1 { font-family: 'Hand-Freight-Micro', Georgia, 'Times New Roman', Times, serif; font-style: normal; font-weight: normal; position: relative; margin-bottom: 30px; padding-bottom: 16px; }

.page-node-type-article .section.hero .hero-image-section .hero-overlay h1::after { background: url("/themes/custom/tnvacation/img/hr_small_white.png") no-repeat center; content: ''; display: block; height: 7px; position: absolute; width: 30px; top: 100%; left: 0; }

@media only screen and (max-width: 767px) { .page-node-type-article .section.hero .hero-image-section .hero-overlay h1 { font-size: 36px; font-size: 2.25rem; } }

.page-node-type-article .section.hero .hero-image-section .hero-overlay .article-preview { font-size: 18px; }

@media only screen and (max-width: 767px) { .page-node-type-article .section.hero .hero-image-section .hero-overlay .article-preview { display: none; } }

.node:not(.node--type-experience) .section.hero .hero-image-section .hero-type-video iframe { width: 100%; }

@media only screen and (min-width: 520px) { .hero-title-right .paragraph--type-hero-section .hero-title-image { margin: 0 10% 8px auto !important; } }

/*# sourceMappingURL=../../maps/libraries/tnv/hero-section.css.map */
