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); */
.component-section { left: -webkit-calc(-50vw + 50%); left: -moz-calc(-50vw + 50%); left: calc(-50vw + 50%); max-width: none; position: relative; width: 100%; width: 100vw; position: relative; }

.component-section .section-bg { height: 100%; left: 0; overflow: hidden; position: absolute; top: 0; width: 100%; z-index: 0; }

.component-section .section-bg 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%; height: auto; max-height: none; max-width: none; min-height: 100%; min-width: 100%; width: auto; }

.component-section header { text-align: center; margin: 0 0 3rem; padding: 0 1rem; position: relative; }

@media only screen and (min-width: 768px) { .component-section header { padding: 0; } }

.component-section .section--content { display: block; margin: 0 auto; max-width: 1440px; position: relative; width: 100%; }

.component-section.bg--dark { background-color: #000000; color: #FFFFFF; }

.component-section.section--pad { padding-top: 3rem; padding-bottom: 3rem; }

.component-section.road-trip--tmp-callout { background-position: bottom; background-repeat: no-repeat; background-size: cover; display: block; margin-bottom: -75px; margin-top: -20px; padding-bottom: 50px; padding-top: 20px; position: relative; z-index: 4; }

.component-section.road-trip--tmp-callout .section--content { margin: 60px auto; max-width: 1200px; }

.component-section.block-embed-card-wrapper { align-content: center; background-position: top left; background-repeat: repeat; background-size: initial; display: flex; flex-direction: column; padding: 3rem 0; }

.component-section.block-embed-card-wrapper:not(.secondary):before { background: url("/themes/custom/tnvacation/img/acid-edge-black.png") top left no-repeat; background-size: cover; content: ''; height: 35px; left: 0; position: absolute; top: -35px; width: 100%; z-index: 1; }

@media only screen and (min-width: 768px) { .component-section.block-embed-card-wrapper:not(.secondary) { background-position: top center; }
  .component-section.block-embed-card-wrapper:not(.secondary):before { height: 60px; top: -60px; } }

@media only screen and (min-width: 1024px) { .component-section.block-embed-card-wrapper:not(.secondary):before { height: 90px; top: -90px; } }

.component-section.block-embed-card-wrapper header { text-align: center; margin: 0 0 3rem; padding: 0 1rem; }

@media only screen and (min-width: 768px) { .component-section.block-embed-card-wrapper header { padding: 0; } }

.component-section.block-embed-card-wrapper header .field--name-field-section-title { font-family: 'Hand-Mocha-Mattari', arial, sans-serif; font-style: normal; font-weight: normal; font-size: 36px; font-size: 2.25rem; display: inline-block; position: relative; text-transform: uppercase; }

.component-section.block-embed-card-wrapper header .field--name-field-section-title:before { content: ' '; background-image: url("/themes/custom/tnvacation/img/tn-music-pathways/red-star.png"); height: 17px; position: absolute; top: 17px; left: -36px; z-index: 0; width: 17px; }

.component-section.block-embed-card-wrapper header .field--name-field-section-title:after { content: ' '; background-image: url("/themes/custom/tnvacation/img/tn-music-pathways/red-star.png"); height: 17px; position: absolute; top: 17px; right: -36px; z-index: 0; width: 17px; }

.component-section.block-embed-card-wrapper header .field--name-field-section-title h2 { margin: 0; }

.component-section.block-embed-card-wrapper header .field--name-field-subtitle { font-family: 'Freight-Sans', arial, sans-serif; font-weight: 500; font-size: 18px; font-size: 1.125rem; }

.component-section.block-embed-card-wrapper header .field--name-field-subtitle * { margin: 0; }

.component-section.block-embed-card-wrapper .section--content { display: block; margin: 0 auto; max-width: 1440px; width: 100%; }

.component-section.block-embed-card-wrapper .section--content .section--components { display: flex; flex-direction: column; justify-content: center; }

@media only screen and (min-width: 768px) { .component-section.block-embed-card-wrapper .section--content .section--components { flex-direction: row; padding: 0; } }

.component-section.block-embed-card-wrapper.secondary .section-bg img { -webkit-transform: unset; left: 0; top: 0; }

.component-section.block-embed-card-wrapper.secondary p { margin: 1.5rem auto 0; max-width: 725px; width: 95%; }

.component-section.block-embed-card-wrapper.secondary p:first-child { font-size: 1.4rem; line-height: 1.5rem; }

.component-section.how-to-explore-seven-genres-wrapper .section-bg { z-index: 1; }

.tmp-common-section { background-image: url("/themes/custom/tnvacation/img/tn-music-pathways/tmp-filter-bg_1.png"); background-color: #222222; background-position: top left; background-repeat: no-repeat; background-size: initial; }

/*# sourceMappingURL=../../maps/libraries/paragraph/section.css.map */
