/* Minification failed. Returning unminified contents.
(3014,30): run-time error CSS1039: Token not allowed after unary operator: '-tile-side-lines'
(3015,22): run-time error CSS1039: Token not allowed after unary operator: '-tile-side-lines'
(5741,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5742,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5748,17): run-time error CSS1039: Token not allowed after unary operator: '-bento-slide-w'
(5754,15): run-time error CSS1039: Token not allowed after unary operator: '-bento-gap'
(5866,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5867,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5873,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5874,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6116,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6117,38): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6118,38): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6119,38): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6158,15): run-time error CSS1039: Token not allowed after unary operator: '-ftrc-hdr-offset'
(7526,15): run-time error CSS1039: Token not allowed after unary operator: '-bento-gap'
(7533,20): run-time error CSS1039: Token not allowed after unary operator: '-bento-slide-w'
(7535,17): run-time error CSS1039: Token not allowed after unary operator: '-bento-slide-w'
(7951,61): run-time error CSS1030: Expected identifier, found '.'
(7951,80): run-time error CSS1031: Expected selector, found ')'
(7951,80): run-time error CSS1025: Expected comma or open brace, found ')'
(8134,61): run-time error CSS1030: Expected identifier, found '.'
(8134,85): run-time error CSS1031: Expected selector, found ')'
(8134,85): run-time error CSS1025: Expected comma or open brace, found ')'
(8192,61): run-time error CSS1030: Expected identifier, found '.'
(8192,85): run-time error CSS1031: Expected selector, found ')'
(8192,85): run-time error CSS1025: Expected comma or open brace, found ')'
(8659,67): run-time error CSS1030: Expected identifier, found '.'
(8659,91): run-time error CSS1031: Expected selector, found ')'
(8659,91): run-time error CSS1025: Expected comma or open brace, found ')'
(9163,42): run-time error CSS1030: Expected identifier, found '.'
(9163,60): run-time error CSS1031: Expected selector, found ')'
(9163,60): run-time error CSS1025: Expected comma or open brace, found ')'
(9168,46): run-time error CSS1030: Expected identifier, found '.'
(9168,64): run-time error CSS1031: Expected selector, found ')'
(9168,64): run-time error CSS1025: Expected comma or open brace, found ')'
(9211,38): run-time error CSS1030: Expected identifier, found '.'
(9211,81): run-time error CSS1031: Expected selector, found ')'
(9211,81): run-time error CSS1025: Expected comma or open brace, found ')'
(9216,38): run-time error CSS1030: Expected identifier, found '.'
(9216,81): run-time error CSS1031: Expected selector, found ')'
(9216,81): run-time error CSS1025: Expected comma or open brace, found ')'
(9221,57): run-time error CSS1030: Expected identifier, found '.'
(9221,100): run-time error CSS1031: Expected selector, found ')'
(9221,100): run-time error CSS1025: Expected comma or open brace, found ')'
(9227,42): run-time error CSS1030: Expected identifier, found '.'
(9227,85): run-time error CSS1031: Expected selector, found ')'
(9227,85): run-time error CSS1025: Expected comma or open brace, found ')'
(9231,42): run-time error CSS1030: Expected identifier, found '.'
(9231,85): run-time error CSS1031: Expected selector, found ')'
(9231,85): run-time error CSS1025: Expected comma or open brace, found ')'
(9239,41): run-time error CSS1039: Token not allowed after unary operator: '-bento-slide-w'
(9240,48): run-time error CSS1039: Token not allowed after unary operator: '-bento-slide-w'
(9248,33): run-time error CSS1039: Token not allowed after unary operator: '-bento-slide-w'
(9249,42): run-time error CSS1039: Token not allowed after unary operator: '-bento-slide-w'
(9254,34): run-time error CSS1039: Token not allowed after unary operator: '-bento-slide-w'
(9264,46): run-time error CSS1030: Expected identifier, found '.'
(9264,64): run-time error CSS1031: Expected selector, found ')'
(9264,64): run-time error CSS1025: Expected comma or open brace, found ')'
 */
.contentWrapper {
    position: relative;
    background: #ffffff;
    padding: 0;
    margin: 0;
}

.static-flex {
    margin-right: auto;
    margin-left: auto;
    padding-left: 0;
    padding-right: 0;
}

.static-flex__h2 {
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 40px;
    margin-bottom: 12px;
    margin-top: 0;
    padding-top: 0;
    text-align: center;
}
.static-flex__h2--subheading {
    color: #000;
    text-align: center;
    font-family: "Open Sans", sans-serif;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    margin: 0 auto 24px !important;
    width: 1078px;
}
.static-flex__text-center {
    text-align: center !important;
}

.static-flex__section {
    margin-bottom: 64px;
    margin-right: auto;
    margin-left: auto;
    padding-left: 0;
    padding-right: 0;
}
.static-flex__section--gutters {
    margin-right: 32px;
    margin-left: 32px;
}
.static-flex__section--no-gutters {
    margin-right: 0;
    margin-left: 0;
}

.static-flex__section--carousel-extensions {
    margin: 0 auto;
    max-width: 1440px;
    padding-bottom: 58px;
    padding-top: 0;
}
.static-flex__section--carousel-excursions {
    margin: 0 auto;
    max-width: 1440px;
    padding-bottom: 24px;
    padding-top: 0;
}
.static-flex__section--carousel-videos {
    margin: 0 auto;
    max-width: 1440px;
    padding-bottom: 58px;
    padding-top: 0;
}
.static-flex__section--carousel-excursions .static-flex__h2 {
    padding-top: 0;
}
.static-flex__container {
    margin: 0 auto;
    width: 100%;
}
.static-flex__container .thumbnail {
    margin-bottom: 0;
}
.static-flex__button--outline-blue {
    background: #ffffff;
    border: 3px solid #0F3055;
    color: #0F3055;
    display: inline-block;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    height: auto;
    line-height: 24px;
    margin-bottom: 0;
    margin-top: 32px;
    padding: 10px 25px 10px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    width: auto;
}
.static-flex__button--outline-blue:active,
.static-flex__button--outline-blue:focus,
.static-flex__button--outline-blue:hover {
    background-color: #0F3055;
    border-color: #0F3055;
    color: #ffffff;
}
.static-flex__section--standard {
    margin: 0 auto;
    max-width: 1344px;
    position: relative;
}
.static-flex__section--image-cropped {
    height: auto;
    max-width: 100%;
    width: 100%;
}
.static-flex__section--container {
    background: #fff;
    border-color: #fff;
    border-width: 0;
    left: 64px;
    padding: 40px;
    position: absolute;
    margin: 0 auto;
    max-width: 520px;
    top: 90px;
    width: 100%;
}
.static-flex__section--container .static-flex__section--title {
    color: #333333;
    font-family: "Open Sans", sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 40px;
    margin-bottom: 12px;
    margin-top: 0;
}
.static-flex__section--container .static-flex__section--text {
    color: #333333;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    margin-bottom: 0;
    text-align: left;
}
.static-flex__section--container a {
    background-color: #b10a32;
    border: none;
    color: #fff;
    display: inline-flex;
    font-family: "Open Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    height: 50px;
    justify-content: space-evenly;
    line-height: 24px;
    padding: 13px 5px;
    margin: 32px 4px 0 3px;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    width: 100%;
}
.static-flex__section--container a:hover {
    background-color: #810724;
    border-color: #770722;
    color: #FFFFFF;
}
.static-flex-grid__btn {
    background-color: #f5f5f5;
    border-color: #f5f5f5;
    border-radius: 0;
    cursor: pointer;
    display: flex;
    font-family: "Open Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    justify-content: center;
    line-height: 24px;
    margin: 0 auto 16px auto;
    min-height: 50px;
    padding: 13px 25px;
    text-align: center;
    text-transform: uppercase;
    vertical-align: middle;
    white-space: nowrap;
    width: 159px;
}
.static-flex-grid__btn--blue {
    background-color: #456580;
    border-color: #456580;
    color: #fff;
}
.static-flex-grid__btn--blue:hover {
    background-color: #142640;
    border-color: #142640;
    color: #fff;
}
.static-flex-grid__btn--blue:focus {
    background-color: #456580;
    border-color: #456580;
    color: #fff;
}
.static-flex-grid {
    display: grid;
    grid-template-columns: repeat(12,1fr);
    grid-gap: 20px;
    margin: 0 68px;
    padding: 0;
}
.static-flex-grid__card {
    background: #fff;
    border: 1px solid #ccc;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    position: relative;
}
.static-flex-grid__card--header {
    color: #333333;
    font-size: 26px;
    font-style: normal;
    font-weight: 700;
    line-height: 34px;
    margin-bottom: 11px;
    margin-top: 0;
    text-transform: none;
}
.static-flex-grid__card--caption {
    padding: 12px 16px;
    flex: 1;
}
.static-flex-grid__card--third {
    grid-column-end: span 4;
}
.static-flex-grid__card p,
.static-flex-grid__card--caption p {
    color: #333333;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    margin: 0;
    padding: 0;
}
.static-flex-grid__card--description,
.static-flex-grid__card--caption-description {
    color: #333333;
    font-family: "Open Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 22px;
    margin: 0;
}
.static-flex-grid__image {
    height: auto;
    max-width: 100%;
    width: 100%
}
.static-flex__grid {
    display: grid;
    grid-template-columns: repeat(12,1fr);
    grid-gap: 20px;
    margin: 0;
    padding: 0;
}
.static-flex__card {
    background: transparent;
    border: none;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    position: relative;
}
.static-flex__card--col {
    grid-column-end: span 4;
}
.static-flex__thumbnail {
    background-color: #ffffff;
    border: 1px solid #cccccc;
    border-radius: 0px;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    margin: 0;
    min-height: 100%;
    padding: 0px;
    position: relative;
    transition: opacity 200ms linear;
}
.static-flex__thumbnail a {
    text-decoration: none !important;
}
.static-flex__thumbnail .thumbnail {
    height: auto !important;
}
.static-flex__thumbnail--img {
    position: relative;
    -webkit-box-flex: 0;
    flex: none;
    -ms-flex: none;
}
.static-flex__thumbnail--img img {
    width: 100%;
}
.static-flex__thumbnail--caption {
    background: #FFF;
    border: 0;
    display: flex;
    flex-direction: column;
    font-size: 16px;
    justify-content: space-between;
    min-height: auto;
    overflow: hidden;
    padding: 20px;
}
.static-flex__thumbnail--caption .thumbnail {
    margin-bottom: 12px;
    border: none;
}
.static-flex__thumbnail--link {
    margin-bottom: 16px;
}
.static-flex__thumbnail--link svg {
    height: 14px;
    position: relative;
    top: 2px;
    width: 14px;
}
.static-flex__thumbnail--list {
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
}
.static-flex__thumbnail--list ul {
    list-style-type: none;
    padding: 0;
}
.static-flex__thumbnail--list ul li {
    padding: 2px 0;
    margin: 0;
}
.static-flex__thumbnail--list ul li a {
    color: #B10A32;
    font-family: "Open Sans", sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: 21px;
}
.static-flex__thumbnail--list ul li a:hover {
    color: #000000;
    text-decoration: underline;
}
.static-flex__thumbnail--caption .thumbnail-anchor:hover svg path {
    fill: #B10A32;
}
.static-flex__thumbnail--h3 {
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-size: 21px !important;
    font-style: normal;
    font-weight: 700;
    line-height: 28px;
    margin: 0 0 8px 0 !important;
    text-transform: none;
    white-space: inherit;

    overflow: hidden;
    min-height: 24px;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}
.static-flex__thumbnail--caption .thumbnail-anchor {
    cursor: pointer;
}
.static-flex__thumbnail--caption .thumbnail-anchor:hover .static-flex__thumbnail--h3 {
    color: #B10A32;
}
.static-flex__thumbnail--paragraph {
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
}
.static-flex__thumbnail--line-clamp {
    overflow: hidden;
    max-height: 46px;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.static-flex__thumbnail--text {
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px;
    padding-left: 2px;
    text-decoration: underline;
}
.static-flex__thumbnail--caption .thumbnail-anchor:hover .static-flex__thumbnail--text {
    color: #B10A32;
}

.static-flex__bg-subtle {
    background: #f4f4f4;
    padding-bottom: 48px;
    padding-top: 48px;
}

.static-flex__dual-card {
    background: #fff;
    border: 1px solid #cccccc;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}
.static-flex__dual-card--image {
    height: auto;
    max-width: 100%;
    width: 100%;
}
.static-flex__dual-card--caption {
    padding: 32px 56px 40px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.static-flex__dual-card--title {
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 40px;
    margin: 0 0 12px 0;
    text-align: center;
    text-transform: none;
}
.static-flex__dual-card--description {
    color: #333333;
    font-family: "Open Sans", sans-serif;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    margin: 0 0 20px 0;
    flex: 1;
    text-align: center;
}
.static-flex__dual-card--btn {
    background-color: #b10a32;
    border: none;
    color: #ffffff !important;
    display: inline-flex;
    font-family: "Open Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    height: 50px;
    align-items: center;
    justify-content: center;
    line-height: 24px;
    margin: 0 auto;
    padding: 13px 25px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    width: 280px;
}
.static-flex__dual-card--btn:hover {
    background-color: #810724;
    color: #ffffff;
    text-decoration: none;
}
.static-flex__image-text {
    background: #ffffff;
    border: 1px solid #cccccc;
    display: grid;
    grid-template-columns: 50% 1fr;
    margin: 0 auto;
    max-width: 1356px;
}
.static-flex__image-text--image {
    overflow: hidden;
}
.static-flex__image-text--image img {
    display: block;
    height: auto;
    max-width: 100%;
    width: 100%;
}
.static-flex__image-text--content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 36px 32px;
}
.static-flex__image-text--title {
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 40px;
    margin: 0 0 32px 0;
    text-align: center;
}
.static-flex__image-text--btn {
    background-color: #b10a32;
    border: none;
    color: #ffffff !important;
    display: inline-flex;
    font-family: "Open Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    height: 50px;
    align-items: center;
    justify-content: center;
    line-height: 24px;
    margin: 0 auto auto;
    padding: 13px 25px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    width: 280px;
}
.static-flex__image-text--btn:hover {
    background-color: #810724;
    color: #ffffff;
    text-decoration: none;
}
.static-flex__image-text--legal {
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    margin: 0 !important;
    text-align: center;
}
.static-flex__image-text--legal strong,
.static-flex__image-text--legal b {
    font-weight: 700;
}

.static-flex-video-grid__card {
    background: #fff;
    border: 1px solid #ccc;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}

.static-flex-video-grid__card--full {
    grid-column-end: span 12;
}

.static-flex-video-grid__card--half {
    grid-column-end: span 6;
}

.static-flex-video-grid__card--third {
    grid-column-end: span 4;
}

.static-flex-video-grid__card--quarter {
    grid-column-end: span 3;
}

.static-flex-video-grid__card--caption {
    padding: 12px;
    flex: 1;
    overflow: hidden;
}

.static-flex-video-grid__anchor {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9;
}

.static-flex-video-grid__card--header-single-line {
    align-items: baseline;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
}

.static-flex-video-grid__card--title {
    display: inline-block;
    max-width: calc(100% - 88px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
}

.static-flex-video-grid__card--duration {
    display: inline-block;
    margin-left: 4px;
    white-space: nowrap;
    vertical-align: bottom;
}

@media screen and (max-width: 768px) {
    .static-flex-video-grid__card--header-single-line {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        overflow: hidden;
        white-space: normal;
    }

    .static-flex-video-grid__card--title {
        display: inline;
        max-width: none;
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
        vertical-align: baseline;
    }

    .static-flex-video-grid__card--duration {
        display: inline;
        margin-left: 4px;
        white-space: nowrap;
        vertical-align: baseline;
    }
}

.static-flex-video-grid__show {
    display: block;
}

.static-flex-video-grid__hide {
    display: none;
}

.static-flex-video-grid__image-container {
    position: relative;
}

.static-flex-video-grid__image {
    height: auto;
    max-width: 100%;
    width: 100%
}

.static-flex-video-grid__video-container { 
    position: relative;
    padding-bottom: 56.25%;
    height: auto;
    overflow: hidden;
    max-width: 100%;
    width: 100%;
} 

.static-flex-video-grid__video-container iframe { 
    position: absolute; 
    top: 0;
    left: 0;
    min-width: 100%;
    width: 100%;
    height: 100%;
}

.static-flex-video-grid__video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9;
}

.static-flex-video-grid__thumb {
    background: transparent;
    border: none;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9;
}

.static-flex-video-grid__thumb-play-sm, .static-flex-video-grid__thumb-play {
    background: url(/Content/images/v3/video-play-thumb-lg.png) no-repeat -34px 0;
    border: none;
    width: 34px;
    height: 34px;
    background-size: 68px;
    margin: 0;
    position: absolute;
    top: initial;
    bottom: 4px;
    left: 4px;
    right: initial
}

.static-flex-video-grid__card:hover .static-flex-video-grid__thumb-play {
    background-position: 0 0
}

.static-flex-video-grid__card--header {
    color: #333333;
    font-size: 21px;
    font-style: normal;
    font-weight: 600;
    line-height: 28px;
    margin-bottom: 6px;
    margin-top: 0;
    text-transform: none;
}

.static-flex-video-grid__card--caption p {
    color: #333333;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    margin: 0;
    padding: 0;
}

.static-flex-video-grid__card--description {
    color: #333333;
    font-family: "Open Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 22px;
    margin: 0;
}

.static-flex-video-grid__card--line-clamp {
    overflow: hidden;
    max-height: 46px;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.static-flex-video-grid__btn {
    background-color: #f5f5f5;
    border-color: #f5f5f5;
    border-radius: 0px;
    cursor: pointer;
    display: flex;
    font-family: 'Open Sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    justify-content: center;
    line-height: 24px;
    min-height: 50px;
    padding: 13px 25px;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    width: 100%;
}

.static-flex-video-grid__btn--red {
    background-color: #B10A32;
    border-color: #B10A32;
    color: #FFFFFF;
    text-transform: uppercase;
}

    .static-flex-video-grid__btn--red:active,
    .static-flex-video-grid__btn--red:focus,
    .static-flex-video-grid__btn--red:hover {
        background-color: #810724;
        border-color: #770722;
        color: #FFFFFF;
    }

.static-flex-video-grid__btn--blue {
    background-color: #456580;
    border-color: #456580;
    color: #FFFFFF;
    text-transform: uppercase;
}

    .static-flex-video-grid__btn--blue:active,
    .static-flex-video-grid__btn--blue:focus,
    .static-flex-video-grid__btn--blue:hover {
        background-color: #142640;
        border-color: #142640;
        color: #FFFFFF;
    }
.static-flex-video-grid__card--br {
    display: none;
}
.static-flex-faq__container {
    max-width: 1330px;
    margin: 48px auto;
    position: relative;
    width: 100%;
}
.static-flex__grid .owl-nav {
    float: right;
    margin-right: 80px;
    margin-top: 32px;
}
.static-flex__grid .owl-nav button {
    background: #0F3055 !important;
    border: 1px solid #0F3055 !important;
    border-radius: 4px;
    color: #ffffff !important;
    height: 44px;
    width: 44px;
}
.static-flex__grid .owl-nav button.disabled {
    background: #f4f4f4 !important;
    border: 1px solid #cccccc !important;
    border-radius: 4px;
}
.static-flex__grid .owl-nav button.disabled svg path {
    fill: none;
    stroke: #595959 !important;
    pointer-events: all;
}
.static-flex__grid .owl-nav button.owl-next {
    margin-left: 12px;
}
.static-flex__grid .owl-dots .owl-dot.active span,
.static-flex__grid .owl-dots .owl-dot:hover span {
    background: #0F3055;
}
.static-flex__grid .owl-dots {
    display: inline-block;
    left: 80px;
    position: relative;
    top: 26px;
    width: calc(100% - 291px);
}
.static-flex__grid .owl-dots .owl-dot {
    display: inline-block;
    outline: none;
}
.static-flex__grid .owl-dots .owl-dot span {
    background: #cccccc;
    display: inline-block;
    height: 4px;
    margin: 0;
}
.static-flex__grid .owl-dots .owl-dot:focus span {
    outline: -webkit-focus-ring-color auto 1px;
    border-radius: 0;
}
.static-flex-faq__heading {
    border-bottom: 1px solid #CCCCCC;
    color: #000;
    text-align: center;
    font-family: "Open Sans", sans-serif;
    font-size: 44px;
    font-style: normal;
    font-weight: 700;
    line-height: 48px;
    padding-bottom: 40px;
    margin-bottom: 0;
    margin-top: 0;
}
.static-flex-faq__panel {
    border-bottom: 1px solid #CCCCCC;
    padding: 0;
}
.static-flex-faq__sub-heading {
    color: #000;
    font-family: "Open Sans", sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
    text-transform: none;
    margin: 0;
    padding: 0;
}
.static-flex-faq__panel .static-flex-faq__expander {
    background: #fff;
    margin: 0;
}
.static-flex-faq__desc {
    color: #000;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
    text-transform: none;
    margin: 0;
    padding: 16px 0;
}
.static-flex-faq__lbl {
    background-color: #ffffff;
    border: none;
    column-gap: 10px;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 0;
    padding: 16px 0;
    text-align: left;
    width: 100%;
}
.static-flex-faq__lbl::after {
    content: "\e600";
    font-family: 'icomoon' !important;
    font-size: 24px;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    height: 24px;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #b10a32;
    width: 24px;
}
.static-flex-faq__panel--open .static-flex-faq__lbl::after {
    content: "\e601";
}
#row-cruises,
ul.cruise-card__section.row-cruises {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
    grid-gap: 23px;
    grid-auto-rows: auto !important;
    margin: 0 auto;
    max-width: 1376px;
    padding: 0 16px;
}
.static-flex__grid .owl-stage {
    display: flex;
    padding-left: 80px !important;
}
.static-flex__grid .owl-stage-left {
    padding-left: 80px !important;
    padding-right: 0 !important;
}
.static-flex__grid .owl-stage .owl-item {
    display: flex;
    list-style: none;
    margin-bottom: 1px;
    margin-left: 1px;
    margin-top: 1px;
}
.static-flex__grid .owl-stage .owl-item:last-child {
    margin-right: 0 !important;
}
.static-flex__grid .owl-nav {
    float: right;
    margin-right: 76px;
    margin-top: 16px;
}
.static-flex__grid .owl-nav button {
    background: #0F3055 !important;
    border: 1px solid #0F3055 !important;
    border-radius: 4px;
    color: #ffffff !important;
    height: 44px;
    width: 44px;
}
.static-flex__grid .owl-nav button.disabled {
    background: #f4f4f4 !important;
    border: 1px solid #cccccc !important;
    border-radius: 4px;
}
.static-flex__grid .owl-nav button.disabled svg path {
    fill: none;
    stroke: #595959 !important;
    pointer-events: all;
}
.static-flex__grid .owl-nav button.owl-next {
    margin-left: 12px;
}
.static-flex__grid .owl-dots .owl-dot.active span,
.static-flex__grid .owl-dots .owl-dot:hover span {
    background: #0F3055;
}
#cruise-main-content > .container-fluid > .row > .container:not(.no-padding),
#cruise-main-content #cruiseContentCollapsable > .container-fluid,
#cruise-main-content > .mboxDefault > .container-fluid {
    max-width: 1440px;
    padding-top: 0;
}

.static-flex-header-hero {
    position: relative;
}

.static-flex-header-hero .section__hero--standard,
.static-flex-header-hero .section--standard,
.static-flex-header-hero .section__hero--full {
    margin: 0 auto 48px;
    max-width: 1440px;
    position: relative;
    width: 100%;

}

.static-flex-header-hero .section__hero--image-cropped {
    height: auto;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.static-flex-header-hero .section__image-cropped {
    height: auto;
}

.static-flex-header-hero .section__hero--image {
    position: relative;
}

/* Intro Section
   ========================================================================== */
.static-flex-intro-copy .block {
    margin-bottom: 24px;
}

.static-flex-intro-copy hr {
    margin: 48px auto 32px;
    max-width: 1344px;
    width: 100%;
}

.static-flex-intro-copy .section--standard {
    margin: 0 auto;
}

.static-flex__subtitle,
.static-flex__subtitle p {
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-size: 26px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
    margin: 0 auto 12px;
    text-align: center;
    width: calc(100% - 32px);
}

.static-flex__h1--subheading {
    font-size: 20px !important;
    line-height: 28px;
    margin: 0 auto 24px !important;
    width: 977px;
}

.static-flex__section .section__image-cropped,
.static-flex__section .grid__image {
    height: 506px;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.static-flex__section .section__hero--standard:nth-of-type(odd) {
    align-items: center;
    display: flex;
    flex-direction: row;
    height: 506px;
    justify-content: flex-start;
    margin-bottom: 90px;
    width: 100%;
}

.static-flex__section .section__hero--standard:nth-of-type(even) {
    align-items: center;
    display: flex;
    flex-direction: row-reverse;
    height: 506px;
    justify-content: flex-end;
    margin-bottom: 90px;
    width: 100%;
}

.static-flex__section .section__hero--standard {
    max-width: 1344px;
}

.static-flex__section .section__hero--standard:nth-of-type(odd) .section__hero--container {
    align-items: center;
    margin: auto;
    max-width: 100%;
    padding: 0;
    right: 48px;
    top: auto;
    width: 489px;
}

.static-flex__section .section__hero--standard:nth-of-type(even) .section__hero--container {
    align-items: center;
    background: transparent;
    left: 0;
    margin: 0 auto 0 0;
    max-width: 100%;
    padding: 0;
    position: relative;
    top: auto;
    width: 489px;
}

.static-flex__section .section__hero--reference {
    color: #333;
    font-family: "Open Sans";
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    margin-bottom: 6px;
    text-align: left;
}

.static-flex__section .section__hero--title {
    color: #000000;
    font-family: 'adobe-garamond-pro', sans-serif;
    font-size: 36px;
    font-weight: 400;
    line-height: 44px;
    margin-bottom: 16px;
    margin-top: 0;
}

.static-flex__section .section__hero--title b {
    color: #B10A32;
    font-weight: 400;
}

.static-flex__section .section__hero--title span {
    color: #B10A32;
    font-weight: 400;
}

.static-flex__section .section__hero--text,
.static-flex__section .section__hero--standard p,
.static-flex__section .section__hero--container p {
    color: #333333;
    font-size: 20px;
    font-weight: 400;
    line-height: 28px;
    margin-bottom: 0;
}

.static-flex__section .section__hero--text b,
.static-flex__section .section__hero--standard p b {
    display: block;
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
    padding: 20px 0 8px;
}

.static-flex__section .section__hero--container p i + span {
    color: #B10A32;
}

#bsModal .ko-carousel:not(.loaded) .ko-flexslider-wrapper,
.resources-modal .ko-carousel:not(.loaded) .ko-flexslider-wrapper {
  display: none;
}

#bsModal .ko-carousel:not(.loaded),
.resources-modal .ko-carousel:not(.loaded) {
  width: 100%;
  padding-bottom: 50%;
}

#bsModal .ko-carousel:not(.loaded) .img-caption,
.resources-modal .ko-carousel:not(.loaded) .img-caption {
  display: none !important;
}

#bsModal .ko-carousel img,
.resources-modal .ko-carousel img {
  margin-bottom: 0;
}

#bsModal .ko-carousel .img-caption,
.resources-modal .ko-carousel .img-caption {
  display: block;
}

#bsModal .ko-flexslider-wrapper,
.resources-modal .ko-flexslider-wrapper {
  position: relative;
}

#bsModal .ko-flexslider-wrapper .ko-flexslider-nav .ko-flexslider-nav-left,
#bsModal .ko-flexslider-wrapper .ko-flexslider-nav .ko-flexslider-nav-right,
.resources-modal .ko-flexslider-wrapper .ko-flexslider-nav .ko-flexslider-nav-left,
.resources-modal .ko-flexslider-wrapper .ko-flexslider-nav .ko-flexslider-nav-right {
  cursor: pointer;
  position: absolute;
  top: calc(50% - 25px);
}

#bsModal .ko-flexslider-wrapper .ko-flexslider-nav .ko-flexslider-nav-left img,
#bsModal .ko-flexslider-wrapper .ko-flexslider-nav .ko-flexslider-nav-right img,
.resources-modal .ko-flexslider-wrapper .ko-flexslider-nav .ko-flexslider-nav-left img,
.resources-modal .ko-flexslider-wrapper .ko-flexslider-nav .ko-flexslider-nav-right img {
  width: 25px;
  height: 50px;
}

#bsModal .ko-flexslider-wrapper .ko-flexslider-nav .ko-flexslider-nav-left,
.resources-modal .ko-flexslider-wrapper .ko-flexslider-nav .ko-flexslider-nav-left {
  background-color: rgba(0, 0, 0, 0.45);
  left: 8px;
  padding: 5px 15px;
}

#bsModal .ko-flexslider-wrapper .ko-flexslider-nav .ko-flexslider-nav-right,
.resources-modal .ko-flexslider-wrapper .ko-flexslider-nav .ko-flexslider-nav-right {
  background-color: rgba(0, 0, 0, 0.45);
  right: 8px;
  padding: 5px 15px;
}

#bsModal .ko-flexslider-wrapper .flex-viewport .slides,
.resources-modal .ko-flexslider-wrapper .flex-viewport .slides {
  overflow: hidden;
}

#bsModal .modal-static-content .modal-header h2.modal-title,
.resources-modal .modal-static-content .modal-header h2.modal-title {
  font-size: 21px;
  font-weight: 600;
  text-transform: uppercase;
}

#bsModal .modal-static-content .modal-body p,
.resources-modal .modal-static-content .modal-body p {
  padding-top: 18px;
}

#bsModal .modal-title,
.resources-modal .modal-title {
  line-height: 1.1;
}

#bsModal .cruise-ext-details-modal-content .modal-title,
.resources-modal .cruise-ext-details-modal-content .modal-title {
  font-size: 21px;
  font-weight: 600;
  text-transform: uppercase;
}

#bsModal .cruise-ext-details-modal-content .modal-description p,
.resources-modal .cruise-ext-details-modal-content .modal-description p {
  margin-bottom: 30px;
}

.cruise-ext-details-modal-content .modal-list,
.cruise-excursion-details-modal-content .modal-list {
  color: #000;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px;
  margin-top: 24px;
}

.cruise-ext-details-modal-content .modal-list ul,
.cruise-excursion-details-modal-content .modal-list ul {
  list-style-type: none;
  margin-bottom: 20px;
  padding: 0;
}

.cruise-ext-details-modal-content .modal-list ul li,
.cruise-excursion-details-modal-content .modal-list ul li {
  display: inline-flex;
}

.cruise-ext-details-modal-content .modal-list ul li a,
.cruise-excursion-details-modal-content .modal-list ul li a {
  color: #B10A32;
  font-family: "Open Sans", sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 600;
  line-height: 21px;
  padding-right: 24px;
  text-decoration: none !important;
}

.cruise-ext-details-modal-content .modal-list ul li a:hover,
.cruise-excursion-details-modal-content .modal-list ul li a:hover {
  color: #000000;
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-hotel-row .cruise-ext-hotels-text,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-hotel-row .cruise-ext-hotels-text {
  margin-bottom: 30px;
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-hotel-row .cruise-ext-hotels-text .extended-hotel-title,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-hotel-row .cruise-ext-hotels-text .extended-hotel-title {
  margin-top: 10px;
  font-size: 21px;
  font-weight: 600;
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-details-row:after,
#bsModal .cruise-ext-details-modal-content .cruise-ext-accomodations-row:after,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-details-row:after,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-accomodations-row:after {
  display: table;
  content: '';
  clear: both;
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-details-row > .col-xs-12,
#bsModal .cruise-ext-details-modal-content .cruise-ext-accomodations-row > .col-xs-12,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-details-row > .col-xs-12,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-accomodations-row > .col-xs-12 {
  padding-left: 0;
  padding-right: 0;
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-details-row .img-caption,
#bsModal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .img-caption,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-details-row .img-caption,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .img-caption {
  display: block;
  margin-bottom: 10.5px;
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-details-row .cruise-ext-details-text,
#bsModal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .cruise-ext-details-text,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-details-row .cruise-ext-details-text,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .cruise-ext-details-text {
  margin-bottom: 30px;
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-details-row .cruise-ext-details-text .extended-cruise-day-title,
#bsModal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .cruise-ext-details-text .extended-cruise-day-title,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-details-row .cruise-ext-details-text .extended-cruise-day-title,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .cruise-ext-details-text .extended-cruise-day-title {
  margin-top: 10px;
  font-size: 21px;
  font-weight: 600;
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-details-row .cruise-ext-details-text p,
#bsModal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .cruise-ext-details-text p,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-details-row .cruise-ext-details-text p,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .cruise-ext-details-text p {
  margin-bottom: 20px;
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .accomodations-title .title-text,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .accomodations-title .title-text {
  margin-top: 0;
  margin-bottom: 30px;
  padding-top: 30px;
  border-top: 1px solid #CCCCCC;
  font-size: 21px;
  font-weight: 600;
  color: #333333;
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .accomodations-content .title,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .accomodations-content .title {
  margin-top: 30px;
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 600;
  color: #333333;
  text-transform: uppercase;
  font-style: normal;
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .accomodations-content .accomodations-description,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .accomodations-content .accomodations-description {
    padding: 0
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .seasonal-pricing-flex,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .seasonal-pricing-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 8px;
  margin-bottom: 16px;
  margin-right: -20px;
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .seasonal-pricing-flex::before,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .seasonal-pricing-flex::before {
  display: block;
}

@media print {
  #bsModal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .seasonal-pricing-flex,
  .resources-modal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .seasonal-pricing-flex {
    display: block;
  }
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .seasonal-pricing-flex > div,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .seasonal-pricing-flex > div {
  width: auto;
  min-width: 90px;
  padding-right: 20px;
  margin-bottom: 10px;
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .seasonal-pricing-flex > div > span,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .seasonal-pricing-flex > div > span {
  display: block;
}

#bsModal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .custom-pricing .seasonal-pricing-flex,
.resources-modal .cruise-ext-details-modal-content .cruise-ext-accomodations-row .custom-pricing .seasonal-pricing-flex {
  margin-bottom: 0px;
}

.panel.excursion-modal-panel {
  border: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  margin-bottom: 0;
}

.panel.excursion-modal-panel .panel-heading {
  border: 0;
  padding: 0;
}

.panel.excursion-modal-panel .panel-heading .panel-title {
  margin-bottom: 0;
}

.panel.excursion-modal-panel .panel-heading .panel-title .title-text {
  font-style: normal;
  font-size: 21px;
}

.panel.excursion-modal-panel .panel-heading .panel-title a {
  padding: 0;
  line-height: 22px;
}

.panel.excursion-modal-panel .panel-body {
  padding: 10px 0;
}

.panel.excursion-modal-panel .panel-body img {
  margin-bottom: 0;
}

.panel.excursion-modal-panel .panel-body p {
  line-height: 21px;
}

.panel.excursion-modal-panel .modal-destination-excursion-icons img {
  display: inline;
  width: auto;
  margin: 0;
}

.panel.excursion-modal-panel .panel-heading a.collapsed .icon {
  -webkit-transform: rotateX(0deg);
  transform: rotateX(0deg);
}

.panel.excursion-modal-panel .panel-heading a .icon {
  display: block;
  -webkit-transform: rotateX(180deg);
  transform: rotateX(180deg);
}

.panel.excursion-modal-panel h4.panel-title .title-text {
  text-transform: none;
}

.panel.excursion-modal-panel .badge-top-left.red {
  background-color: #B10A32;
}

.panel.excursion-modal-panel .badge-top-left {
  position: absolute;
  top: 0;
  left: 8px;
  padding: 4px 12px;
  background-color: #44687d;
  color: #fff;
  font-size: 12px;
  text-transform: uppercase;
}

@media screen and (max-width: 1024px) {
  .panel.excursion-modal-panel .panel-heading a .title-text {
    margin-left: 10px;
  }
}

@media screen and (max-width: 1366px) {
    .static-flex-faq__container {
        max-width: calc(100% - 64px);
    }
    .static-flex-grid {
        margin: 0 32px;
    }
    .static-flex__grid .owl-stage {
        padding-left: 32px !important;
    }
    .static-flex__grid .owl-stage-left {
        padding-left: 120px !important;
        padding-right: 0 !important;
    }
    .static-flex__grid .owl-dots {
        left: 34px;
        top: 26px;
        width: calc(100% - 218px);
    }
    .static-flex__grid .owl-nav,
    .static-flex__grid .owl-stage .owl-item:last-child {
        padding-right: 16px;
    }
    .static-flex__grid .owl-nav {
        float: right;
        margin-right: 32px;
        margin-top: 16px;
    }
    .static-flex__section .section__hero--image {
        position: relative;
        max-width: 100%;
    }
    .static-flex__section .section__hero--image-cropped,
    .static-flex__section .section__image-cropped,
    .static-flex__section .grid__image {
        height: 100%;
    }
}

@media screen and (max-width: 1280px) {
    #row-cruises,
    ul.cruise-card__section.row-cruises {
        padding-left: 0;
        padding-right: 0;
    }
    .static-flex__h2--subheading {
        max-width: calc(100% - 64px);
        width: 100%;
    }
    .static-flex__section .section__hero--standard:nth-of-type(odd) .section__hero--container {
        right: 24px;
        width: 40%;
    }
    .static-flex__section .section__hero--standard:nth-of-type(even) .section__hero--container {
        width: 40%;
    }
    .static-flex__section .section__hero--image-cropped,
    .static-flex__section .section__image-cropped,
    .static-flex__section .grid__image {
        height: auto;
    }
    .static-flex__section .section__hero--standard:nth-of-type(even) .section__hero--container,
    .static-flex__section .section__hero--standard:nth-of-type(odd) .section__hero--container {
        margin: 0 16px 0 16px;
    }
}

@media screen and (max-width: 1180px) {
    .static-flex__image-text {
        display: block;
    }
    .static-flex__image-text--content {
        padding: 24px;
    }
    .static-flex__image-text--title {
        font-size: 26px;
        line-height: 30px;
        margin: 0 0 16px 0;
    }
    .static-flex__image-text--btn {
        font-size: 14px;
        line-height: 24px;
        margin-bottom: 24px;
        padding: 8px 15px;
    }
    .static-flex__image-text--legal {
        font-size: 16px;
        line-height: 20px !important;
    }
    .static-flex__section--container {
        left: 48px;
        padding: 32px;
        top: 72px;
    }
    
    .static-flex__grid .owl-stage-left {
        padding-left: 160px !important;
        padding-right: 0 !important;
    }
    .static-flex__grid .owl-stage .owl-item:last-child {
        padding-right: 0;
        margin-right: 24px !important;
    }
    .static-flex__grid .owl-nav {
        float: right;
        margin-right: 0;
        margin-top: 16px;
    }
    .static-flex__grid .owl-dots {
        display: inline-block;
        left: 32px;
        width: calc(100% - 184px);
    }
    
    .static-flex-intro-copy hr {
        width: calc(100% - 32px);
    }
    .static-flex__section .section__hero--standard:nth-of-type(odd),
    .static-flex__section .section__hero--standard:nth-of-type(even) {
        height: auto;
        margin-bottom: 90px;
    }
    .static-flex__section .section__hero--standard:nth-of-type(odd):last-child,
    .static-flex__section .section__hero--standard:nth-of-type(even):last-child {
        height: auto;
        margin-bottom: 46px;
    }
    .static-flex__section .section__hero--reference {
        color: #333;
        font-family: "Open Sans";
        font-size: 20px;
        font-style: normal;
        font-weight: 400;
        line-height: 24px;
        margin-bottom: 0;
        position: absolute;
        right: 24px;
        text-align: right;
        top: 27px;
    }
}

@media screen and (max-width: 1024px) {
    .static-flex-grid__card--third-md {
        grid-column-end: span 6;
    }
    .static-flex__section--container {
        left: 32px;
        padding: 32px;
        top: 32px;
    }
    .static-flex__section .section__hero--title {
        font-size: 26px;
        font-weight: 400;
        line-height: 30px;
    }
    .static-flex__section .section__hero--text,
    .static-flex__section .section__hero--standard p,
    .static-flex__section .section__hero--container p {
        font-size: 16px;
        line-height: 20px;
    }
    .static-flex__section .section__hero--text b,
    .static-flex__section .section__hero--standard p b {
        padding: 12px 0 4px;
    }
}

@media screen and (max-width: 1023px) {
    .static-flex__section .section__hero--standard:nth-of-type(even) .section__hero--container,
    .static-flex__section .section__hero--standard:nth-of-type(odd) .section__hero--container {
        margin: auto;
    }
}

@media screen and (max-width: 991px) {
    .static-flex__section {
        margin-bottom: 48px;
    }
    .static-flex__section--gutters {
        margin-right: 16px;
        margin-left: 16px;
    }
    .static-flex__h2 {
        font-size: 36px;
        line-height: 40px;
        margin-bottom: 12px;
        margin-top: 40px;
    }
    .static-flex__h2--subheading {
        font-size: 20px;
        line-height: 28px;
        margin: 0 auto 24px;
        width: 652px;
    }
    .static-flex__thumbnail--h3 {
        min-height: 56px;
        -webkit-line-clamp: 2;
    }
    .static-flex__dual-cards {
        grid-gap: 20px;
    }
    .static-flex__dual-card--caption {
        padding: 24px 24px 32px;
    }
    .static-flex__dual-card--description {
        font-size: 16px;
        line-height: 20px !important;
        margin: 0 0 24px 0;
    }
    .static-flex__dual-card--btn {
        font-size: 14px;
        height: 44px;
        padding: 10px 20px;
    }
    .static-flex__section--standard {
        margin-bottom: 0;
    }
    .static-flex__section--container {
        left: 0;
        padding: 24px 24px 0 24px;
        position: relative;
        margin: 0;
        max-width: 100%;
        top: 0;
    }
    .static-flex__section--container a {
        font-size: 16px;
        height: 40px;
        line-height: 20px;
        padding: 8px 15px;
        margin: 24px 3px 0 3px;
    }
    .static-flex-grid {
        grid-gap: 16px;
        margin: 0 32px;
    }
    .static-flex-grid__card--caption {
        padding: 16px;
    }
    .static-flex-grid__card--header {
        font-size: 20px;
        line-height: 26px;
        margin-bottom: 13px;
    }
    .static-flex-grid__card--description {
        font-size: 16px;
        line-height: 20px;
        margin: 0;
    }
    .static-flex-grid__btn {
        align-items: center;
        font-size: 14px;
        line-height: normal;
        margin: 0 auto 16px auto;
        min-height: 40px;
        padding: 10px 19px;
        width: 140px;
    }
    .static-flex__button--outline-blue {
        font-size: 18px;
        height: auto;
        line-height: 24px;
        margin-top: 24px;
        padding: 13px 25px;
    }
    
    .static-flex-video-grid__card--line-clamp {
        max-height: 70px;
        -webkit-line-clamp: 3;
    }
    .static-flex-video-grid__card--third,
    .static-flex-video-grid__card--quarter {
        grid-column-end: span 6;
    }
    .static-flex-video-grid__card--caption {
        padding: 12px 16px 16px;
    }

    .static-flex-video-grid__card--header {
        margin-bottom: 8px;
    }
    .static-flex-video-grid__card--caption p {
        font-size: 16px;
        line-height: 24px;
    }
    .static-flex-video-grid__card--br {
        display: block;
    }
    .static-flex-faq__panel:last-child {
        border-bottom: none;
    }
    .static-flex-faq__container {
        margin: 52px auto 32px;
    }
    .static-flex-faq__heading {
        font-size: 32px;
        line-height: 36px;
        padding-bottom: 56px;
    }
    .static-flex-faq__sub-heading {
        font-size: 16px;
        font-weight: 400;
        line-height: 20px;
    }
    .static-flex-faq__lbl::after {
        font-size: 16px;
        height: 16px;
        width: 16px;
    }
    #row-cruises,
    ul.cruise-card__section.row-cruises {
        padding: 0;
    }
    .static-flex__grid .owl-nav {
        margin-right: 0;
    }
    .static-flex__grid .owl-dots {
        left: 32px;
        top: 26px;
        width: calc(100% - 186px);
    }
    .static-flex__grid .owl-stage-left {
        padding-left: 64px !important;
        padding-right: 0 !important;
    }
    .static-flex-header-hero > div,
    .static-flex-header-hero .section__hero--standard {
        margin: 0 auto 48px;
    }
    .static-flex-intro-copy .block:last-child {
        margin-bottom: 24px;
    }
    
    .static-flex__section .section__hero--text,
    .static-flex__section .section__hero--standard p,
    .static-flex__section .section__hero--container p {
        font-size: 16px;
        line-height: 20px;
    }
    .static-flex__section .section__hero--text b,
    .static-flex__section .section__hero--standard p b {
        padding: 12px 0 4px;
    }
}

@media screen and (max-width: 768px) {
    .static-flex__h1 {
        font-size: 44px;
        line-height: 45px;
    }
    .static-flex__section .section__hero--standard:nth-of-type(even) .section__hero--container {
        left: 0;
    }
    .static-flex__section .section__hero--text b,
    .static-flex__section .section__hero--standard p b {
        font-size: 16px;
        line-height: 20px;
        padding: 12px 0 4px;
    }
}

@media screen and (min-width: 768px) {
    .static-flex__col-2 {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 20px;
        list-style: none;
        margin: 0 auto;
        padding: 0;
    }

    .static-flex__col-1 {
        display: block;
        list-style: none;
        margin: 0 auto;
        padding: 0;
    }

    .static-flex__col-3 {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 20px;
        list-style: none;
        margin: 0 auto;
        padding: 0;
    }

    .static-flex__col-4 {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-gap: 20px;
        list-style: none;
        margin: 0 auto;
        padding: 0;
    }
}

@media screen and (max-width: 767px) {
    .static-flex__section {
        margin-bottom: 24px;
    }
    .static-flex__section--gutters-none-mobile {
        margin-right: 0;
        margin-left: 0;
    }
    .static-flex__bg-subtle {
        padding-bottom: 32px;
        padding-top: 32px;
    }
    .static-flex__h1 {
        font-size: 36px;
        line-height: 40px;
    }
    
    .static-flex__h2 {
        font-size: 36px;
        line-height: 40px;
        margin-bottom: 12px !important;
        margin-top: 24px !important;
        padding: 0 16px;
        text-align: center;
    }
    .static-flex__bg-subtle .static-flex__h2 {
        margin-top: 0 !important;
    }
    .static-flex__h2--mt-8 {
        margin-top: 8px !important;
    }
    .static-flex__h2--subheading {
        font-size: 16px;
        line-height: 22px;
        margin: 0 auto 16px;
        max-width: calc(100% - 32px);
        text-align: left;
        width: 100%;
    }
    
    .static-flex-grid__card--third-md {
        grid-column-end: span 12;
    }
    .static-flex__dual-cards {
        display: block;
    }
    .static-flex__dual-card {
        margin-bottom: 48px;
    }
    .static-flex__dual-card--caption {
        padding: 20px 16px 24px;
    }
    .static-flex__dual-card--description {
        margin: 0 0 16px 0;
    }
    .static-flex__dual-card--btn {
        font-size: 16px;
        height: 40px;
        padding: 8px 15px;
        width: 100%;
    }
    .static-flex__image-text {
        border: none;
        display: block;
        margin: 0;
    }
    .static-flex__image-text--content {
        padding: 24px 16px 0;
    }
    .static-flex__image-text--title {
        font-size: 30px;
        line-height: 34px;
        margin: 0 0 16px 0;
    }
    .static-flex__image-text--btn {
        font-size: 16px;
        height: 40px;
        padding: 8px 15px;
        width: 100%;
    }
    .static-flex__section--standard {
        margin-bottom: 0;
    }
    .static-flex__section--container {
        padding: 12px 16px 0;
        position: relative;
        margin: 0;
        max-width: 100%;
        top: 0;
    }
    .static-flex__section--container .static-flex__section--title {
        margin-bottom: 8px;
    }
    .static-flex__section--container a {
        font-size: 16px;
        height: 40px;
        line-height: 20px;
        padding: 8px 15px;
        margin: 24px 0 0 0;
    }
    .static-flex__section--view-more {
        margin-bottom: 48px;
        text-align: center;
    }
    .static-flex__section--btn-link-red {
        color: #B10A32;
        text-align: center;
        font-family: "Open Sans", sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 24px;
        text-decoration-line: underline;
        border: none;
        background: none;
        cursor: pointer;
    }
    .static-flex-grid {
        grid-gap: 16px;
        margin: 0 15px;
        padding: 0;
    }
    .static-flex-grid__card--third-sm {
        grid-column-end: span 12;
    }
    .static-flex-grid__card--caption {
        padding: 16px 12px;
    }
    .static-flex-grid__card--header {
        font-size: 20px;
        line-height: 26px;
        margin-bottom: 13px;
    }
    .static-flex-grid__card p, .static-flex-grid__card--caption p {
        font-size: 16px;
        line-height: 20px;
    }
    .static-flex-grid__btn {
        font-size: 13.6px;
        line-height: normal;
        margin: 0 auto 16px auto;
        min-height: 40px;
        padding: 10px 19px;
        width: calc(100% - 24px);
    }
    .static-flex__button--outline-blue {
        font-size: 14px;
        height: auto;
        line-height: 20px;
        margin-top: 16px;
        padding: 8px 15px;
        width: calc(100% - 30px);
    }
    .static-flex-video-grid__card--half,
    .static-flex-video-grid__card--third,
    .static-flex-video-grid__card--quarter {
        grid-column-end: span 12;
    }
    .static-flex-faq__heading {
        font-size: 26px;
        line-height: 30px;
        padding-bottom: 20px;
        margin: 0 auto;
        max-width: calc(100% - 32px);
    }
    .static-flex-faq__container {
        margin: 0 auto 48px;
        padding-top: 0;
        max-width: 100%;
    }
    .static-flex-faq__sub-heading {
        font-size: 16px;
        line-height: 22px;
    }
    .static-flex-faq__panel {
        margin: 0 auto;
        max-width: calc(100% - 32px);
    }
    #row-cruises,
    ul.cruise-card__section.row-cruises {
        grid-template-columns: 1fr;
        padding: 0 !important;
    }
    .static-flex__grid .owl-nav {
        margin-right: 0;
    }
    .static-flex__grid .owl-dots {
        left: 16px;
        top: 26px;
        width: calc(100% - 198px);
    }
    .static-flex__grid .owl-stage {
        padding-left: 16px !important;
    }
    .static-flex__grid .owl-stage-left {
        padding-left: 64px !important;
        padding-right: 0 !important;
    }
    .static-flex-header-hero > div,
    .static-flex-header-hero .section__hero--standard {
        margin: 0 auto 24px;
    }
    .static-flex__h1 {
        font-size: 26px;
        margin: 0 auto 24px;
        line-height: 26px;
        width: 100%;
    }
    .static-flex-intro-copy hr {
        margin: 24px 16px;
    }
    .static-flex-intro-copy {
        margin-top: 8px;
    }
    .static-flex__subtitle,
    .static-flex__subtitle p {
        font-size: 16px;
        font-weight: 700;
        line-height: 20px;
        margin-bottom: 8px;
        width: 100%;
    }
    
    .static-flex__section .section__hero--image-cropped,
    .static-flex__section .section__image-cropped,
    .static-flex__section .grid__image {
        height: auto;
        margin-bottom: 0;
    }
    .static-flex__section .section__hero--standard:nth-of-type(odd) {
        align-items: center;
        display: block;
        height: auto;
        justify-content: left;
        margin-bottom: 0;
    }
    .static-flex__section .section__hero--standard:nth-of-type(even) {
        align-items: center;
        display: block;
        height: auto;
        justify-content: left;
        margin-bottom: 0;
    }
    .static-flex__section .section__hero--standard:nth-of-type(odd) .section__hero--container {
        right: 0;
        width: 100%;
    }
    .static-flex__section .section__hero--standard:nth-of-type(even) .section__hero--container {
        margin: 0 auto;
        width: 100%;
    }
    .static-flex__section .section__hero--standard:nth-of-type(odd) .section__hero--container,
    .static-flex__section .section__hero--standard:nth-of-type(even) .section__hero--container {
        padding: 16px 12px 24px;
    }
    .static-flex__section .section__hero--standard:nth-of-type(odd):last-child,
    .static-flex__section .section__hero--standard:nth-of-type(even):last-child {
        height: auto;
        margin-bottom: 24px;
    }
    .static-flex__section .section__hero--reference {
        font-size: 16px;
        line-height: 20px;
        margin-bottom: 12px;
        position: relative;
        right: 0;
        text-align: left;
        top: 0;
    }
    .static-flex__section .section__hero--title {
        font-size: 20px;
        line-height: 24px;
        margin-bottom: 12px;
        margin-top: 0;
    }
    .static-flex__section .section__hero--text,
    .static-flex__section .section__hero--standard p,
    .static-flex__section .section__hero--container p {
        font-size: 16px;
        line-height: 20px;
    }
}

@media screen and (max-width: 320px) {
    .static-flex__section--container a {
        font-size: 12px;
        height: 40px;
        line-height: 24px;
        padding: 8px 6px;
        margin: 24px 0 0 0;
    }
}

/* Carousel slider navigation starts */
.flexslider-wrapper .static-flex-flexslider-nav-left,
.flexslider-wrapper .static-flex-flexslider-nav-right {
    cursor: pointer;
    position: absolute;
    top: calc(50% - 17.25px);
}

.flexslider-wrapper .static-flex-flexslider-nav-left img,
.flexslider-wrapper .static-flex-flexslider-nav-right img {
    width: 21px;
    height: 34.5px;
}

.flexslider-wrapper .static-flex-flexslider-nav-left {
    left: 4px;
}

.flexslider-wrapper .static-flex-flexslider-nav-right {
    right: 4px;
}

.flexslider-wrapper {
    position: relative;
    padding: 0 32px;
}

.flexslider-wrapper .thumbnail {
    margin-bottom: 0;
}

.flexslider-wrapper .thumbnail .caption {
    min-height: 110px;
}

@media screen and (max-width: 1023px) {
    .flexslider-wrapper .thumbnail {
        height: auto !important;
    }

    .static-flex__section--gutters-none-tablet {
        margin-right: 0;
        margin-left: 0;
    }
}

/* Carousel slider navigation ends */

/* Temporarily to work for recipes/videos carousels*/
.region-landing .flexslider-wrapper .thumbnail .caption {
    color: #333333 !important;
}

/* Media-right variant of the side-by-side image/text tile (additive; no existing selector changed). */
.static-flex__image-text--reverse .static-flex__image-text--image {
    grid-column: 2;
    grid-row: 1;
}
.static-flex__image-text--reverse .static-flex__image-text--content {
    grid-column: 1;
    grid-row: 1;
}
@media (max-width: 767px) {
    .static-flex__image-text--reverse .static-flex__image-text--image,
    .static-flex__image-text--reverse .static-flex__image-text--content {
        grid-column: 1;
        grid-row: auto;
    }
}

/* ============================================
   VIKING DESIGN SYSTEM - UTILITY CLASSES
   ============================================
   
   Breakpoints:
   - XS (Mobile):  320px+
   - M (Tablet):   768px+
   - L (Desktop):  1024px+
   
   Usage: Apply base utilities for mobile-first design.
   For responsive variants, use media queries or add
   breakpoint-specific classes (e.g., .md:text-2xl)
   ============================================ */
/* ============================================
   BASE OVERRIDES
   ============================================ */
.mainContent li { margin: 0; }
li.mx-8 { margin-left: 32px; margin-right: 32px; }
li.mx-4 { margin-left: 16px; margin-right: 16px; }

/* ============================================
   LAYOUT UTILITIES
   ============================================ */
.overflow-hidden { overflow: hidden; }
.relative { position: relative; }

/* ============================================
   DISPLAY UTILITIES
   ============================================ */
.d-none { display: none; }
.d-block { display: block; }

@media (min-width: 768px) {
    .d-md-none { display: none; }
    .d-md-block { display: block; }
}

/* ============================================
   WIDTH UTILITIES
   ============================================ */
.w-full { width: 100% !important; }
.w-text { width: auto; }
.w-24 { width: 24px; }
.w-32 { width: 32px; }
.w-327 { width: 327px; }
.w-454 { width: 454px; }
.w-478 { width: 478px; }
.w-502 { width: 502px; }
.w-542 { width: 542px; }
.w-562 { width: 562px; }
.w-640 { width: 640px; }
.w-720 { width: 720px; }
.w-770 { width: 770px; }

.max-w-327 { max-width: 327px; }
.max-w-454 { max-width: 454px; }
.max-w-478 { max-width: 478px; }
.max-w-502 { max-width: 502px; }
.max-w-542 { max-width: 542px; }
.max-w-562 { max-width: 562px; }
.max-w-640 { max-width: 640px; }
.max-w-720 { max-width: 720px !important; }
.max-w-770 { max-width: 770px !important; }
.max-w-818 { max-width: 818px !important; }
.max-w-container { max-width: 1400px !important; }
.max-w-content { max-width: 1440px !important; }
.max-w-heading { max-width: 1112px !important; }
.max-w-full { max-width: 100% !important; }

@media (max-width: 1023px) {
    .w-24-md { width: 24px !important; }
    .w-32-md { width: 32px !important; }
    .max-w-full-md { max-width: 100%; }
}

@media (max-width: 767px) {
    .w-24-xs { width: 24px !important; }
    .w-32-xs { width: 32px !important; }
    .max-w-full-xs { max-width: 100%; }
}

/* ============================================
   HEIGHT UTILITIES
   ============================================ */
.h-full { height: 100%; }
.h-auto { height: auto; }
.h-58 { height: 58px; }
.h-70 { height: 70px !important; }
.h-80 { height: 80px; }
.h-90 { height: 90px; }

@media (max-width: 767px) {
    .h-58-xs { height: 58px; }
    .h-70-xs { height: 70px !important; }
    .h-80-xs { height: 80px; }
    .h-90-xs { height: 90px !important; }
}

/* ============================================
   GRID & COLUMN UTILITIES
   ============================================ */
.col-1 { flex: 0 0 auto; width: 8.333333%; }
.col-2 { flex: 0 0 auto; width: 16.666667%; }
.col-3 { flex: 0 0 auto; width: 25%; }
.col-4 { flex: 0 0 auto; width: 33.333333%; }
.col-5 { flex: 0 0 auto; width: 41.666667%; }
.col-6 { flex: 0 0 auto; width: 50%; }
.col-7 { flex: 0 0 auto; width: 58.333333%; }
.col-8 { flex: 0 0 auto; width: 66.666667%; }
.col-9 { flex: 0 0 auto; width: 75%; }
.col-10 { flex: 0 0 auto; width: 83.333333%; }
.col-11 { flex: 0 0 auto; width: 91.666667%; }
.col-12 { flex: 0 0 auto; width: 100%; }
.col-auto { flex: 0 0 auto; width: auto; }

/* ============================================
   SPACING UTILITIES
   ============================================ */

/* Margin */
.m-0 { margin: 0 !important; }
.m-auto { margin: auto; }

/* Margin Horizontal */
.mx-auto { margin-left: auto !important; margin-right: auto !important; }
.mx-2 { margin-left: 8px; margin-right: 8px; }
.mx-4 { margin-left: 16px; margin-right: 16px; }
.mx-8 { margin-left: 32px; margin-right: 32px; }

/* Margin Vertical */
.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.my-4 { margin-top: 16px; margin-bottom: 16px; }
.my-6 { margin-top: 24px; margin-bottom: 24px; }
.my-8 { margin-top: 32px; margin-bottom: 32px; }
.my-10 { margin-top: 40px; margin-bottom: 40px; }
.my-12 { margin-top: 48px; margin-bottom: 48px; }
.my-14 { margin-top: 56px; margin-bottom: 56px; }
.my-15 { margin-top: 60px; margin-bottom: 60px; }

/* Margin Top */
.mt-0 { margin-top: 0; }
.mt-4 { margin-top: 16px !important; }
.mt-6 { margin-top: 24px !important; }
.mt-8 { margin-top: 32px !important; }
.mt-10 { margin-top: 40px !important; }
.mt-12 { margin-top: 48px !important; }

/* Margin Bottom */
.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: 4px !important; }
.mb-2 { margin-bottom: 8px !important; }
.mb-3 { margin-bottom: 12px !important; }
.mb-4 { margin-bottom: 16px !important; }
.mb-6 { margin-bottom: 24px !important; }
.mb-8 { margin-bottom: 32px !important; }
.mb-10 { margin-bottom: 40px !important; }
.mb-12 { margin-bottom: 48px !important; }
.mb-14 { margin-bottom: 56px !important; }
.mb-15 { margin-bottom: 60px !important; }
.mb-20 { margin-bottom: 80px !important; }
.mb-24 { margin-bottom: 96px !important; }
.mb-25 { margin-bottom: 100px !important; }
.mb-25\.5 { margin-bottom: 102px !important; }
.mb-26 { margin-bottom: 104px !important; }
.mb-32 { margin-bottom: 128px !important; }

/* Padding */
.p-2 { padding: 8px; }
.p-4 { padding: 16px; }
.p-6 { padding: 24px; }

/* Padding Horizontal */
.px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.px-2 { padding-left: 8px; padding-right: 8px; }
.px-4 { padding-left: 16px; padding-right: 16px; }
.px-6 { padding-left: 24px; padding-right: 24px; }

/* Padding Top */
.pt-5 { padding-top: 20px; }

/* Padding Bottom */
.pb-1 { padding-bottom: 4px; }
.pb-2 { padding-bottom: 8px; }
.pb-3 { padding-bottom: 12px; }
.pb-4 { padding-bottom: 16px; }
.pb-6 { padding-bottom: 24px; }

/* Padding Vertical */
.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-8 { padding-top: 32px; padding-bottom: 32px; }
.py-10 { padding-top: 40px; padding-bottom: 40px; }
.py-12 { padding-top: 48px; padding-bottom: 48px; }
.py-15 { padding-top: 60px; padding-bottom: 60px; }
.py-4-3 { padding-top: 16px; padding-bottom: 12px; }
.py-6-3 { padding-top: 24px; padding-bottom: 12px; }

/* Responsive Spacing - Tablet */
@media (max-width: 1023px) {
    .p-2-md { padding: 8px; }
    .p-4-md { padding: 16px; }
    .p-6-md { padding: 24px; }
    .px-2-md { padding-left: 8px; padding-right: 8px; }
    .px-4-md { padding-left: 16px; padding-right: 16px; }
    .px-6-md { padding-left: 24px; padding-right: 24px; }
}

/* Responsive Spacing - Mobile */
@media (max-width: 767px) {
    .mx-2-xs { margin-left: 8px; margin-right: 8px; }
    .mx-4-xs { margin-left: 16px; margin-right: 16px; }
    .mx-6-xs { margin-left: 24px; margin-right: 24px; }
    .my-0-xs { margin-top: 0 !important; margin-bottom: 0 !important; }
    .my-4-xs { margin-top: 16px; margin-bottom: 16px !important; }
    .my-6-xs { margin-top: 24px; margin-bottom: 24px !important; }
    .my-7\.5-xs { margin-top: 30px; margin-bottom: 30px !important; }
    .my-8-xs { margin-top: 32px; margin-bottom: 32px !important; }
    .my-10-xs { margin-top: 40px; margin-bottom: 40px !important; }
    .my-12-xs { margin-top: 48px; margin-bottom: 48px !important; }
    .my-14-xs { margin-top: 56px; margin-bottom: 56px !important; }
    .my-15-xs { margin-top: 60px; margin-bottom: 60px !important; }
    .mt-3-xs { margin-top: 12px !important; }
    .mt-4-xs { margin-top: 16px !important; }
    .mt-6-xs { margin-top: 24px !important; }
    .mt-8-xs { margin-top: 32px !important; }
    .mt-10-xs { margin-top: 40px !important; }
    .mt-12-xs { margin-top: 48px !important; }
    .mb-1-xs { margin-bottom: 4px !important; }
    .mb-2-xs { margin-bottom: 8px !important; }
    .mb-3-xs { margin-bottom: 12px !important; }
    .mb-4-xs { margin-bottom: 16px !important; }
    .mb-6-xs { margin-bottom: 24px !important; }
    .mb-8-xs { margin-bottom: 32px !important; }
    .mb-10-xs { margin-bottom: 40px !important; }
    .mb-12-xs { margin-bottom: 48px !important; }
    .p-0-xs { padding: 0 !important; }
    .p-2-xs { padding: 8px; }
    .p-4-xs { padding: 16px; }
    .p-6-xs { padding: 24px; }
    .px-2-xs { padding-left: 8px; padding-right: 8px; }
    .px-4-xs { padding-left: 16px; padding-right: 16px; }
    .px-6-xs { padding-left: 24px; padding-right: 24px; }
    .pt-5-xs { padding-top: 20px; }
    .pb-3-xs { padding-bottom: 12px; }
    .pb-4-xs { padding-bottom: 16px; }
    .pb-6-xs { padding-bottom: 24px; }
    .py-0-xs { padding-top: 0 !important; padding-bottom: 0 !important; }
    .py-4-xs { padding-top: 16px; padding-bottom: 16px; }
    .py-5-xs { padding-top: 20px; padding-bottom: 20px; }
    .py-6-xs { padding-top: 24px; padding-bottom: 24px; }
    .py-8-xs { padding-top: 32px; padding-bottom: 32px; }
    .py-10-xs { padding-top: 40px; padding-bottom: 40px; }
    .py-12-xs { padding-top: 48px; padding-bottom: 48px; }
    .py-15-xs { padding-top: 60px; padding-bottom: 60px; }
    .py-4-3-xs { padding-top: 16px; padding-bottom: 12px; }
    .py-6-3-xs { padding-top: 24px; padding-bottom: 12px; }
    .py-8-4-xs { padding-top: 32px; padding-bottom: 16px; }
    .py-8-6-xs { padding-top: 32px; padding-bottom: 24px; }
}

/* ============================================
   FLEXBOX UTILITIES
   ============================================ */
.flex { display: flex; }
.flex-col { flex-direction: column; }
.flex-row { flex-direction: row; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }

/* Gap */
.gap-4 { gap: 16px; }
.gap-6 { gap: 24px; }

@media (max-width: 767px) {
    .gap-4-xs { gap: 16px; }
    .gap-6-xs { gap: 24px; }
}

/* ============================================
   BACKGROUND COLORS
   ============================================ */
.bg-prominent { background: #142640; }
.bg-subtle { background: #F5F5F5; }
.bg-white { background: #FFFFFF; }

/* ============================================
   TEXT COLORS
   ============================================ */
.text-white { color: #FFFFFF; }
.text-gray-dark { color: #333333; }
.text-medium-blue { color: #456580; }
.text-dark-gray { color: #595959; }

/* ============================================
   TYPOGRAPHY
   ============================================ */

/* Font Sizes */
.text-sm { font-size: 14px !important; }
.text-base { font-size: 16px !important; }
.text-lg { font-size: 18px !important; }
.text-xl { font-size: 20px !important; }
.text-2xl { font-size: 24px !important; }
.text-3xl { font-size: 26px !important; }
.text-4xl { font-size: 36px !important; }
.text-5xl { font-size: 44px !important; }
.text-6xl { font-size: 48px !important; }

@media (max-width: 767px) {
    .text-sm-xs { font-size: 14px !important; }
    .text-base-xs { font-size: 16px !important; }
    .text-lg-xs { font-size: 18px !important; }
    .text-xl-xs { font-size: 20px !important; }
    .text-2xl-xs { font-size: 24px !important; }
    .text-3xl-xs { font-size: 26px !important; }
    .text-4xl-xs { font-size: 36px !important; }
    .text-5xl-xs { font-size: 44px !important; }
    .text-6xl-xs { font-size: 48px !important; }
}

/* Font Families */
.font-garamond {
    font-family: "adobe-garamond-pro", "GaramondPro Regular", Garamond, "EB Garamond", "Times New Roman", Serif;
}
.font-sans {
    font-family: 'Open Sans', sans-serif !important;
}

/* Line Heights */
.leading-4 { line-height: 16px; }
.leading-4\.5 { line-height: 18px; }
.leading-5 { line-height: 20px; }
.leading-5\.25 { line-height: 21px; }
.leading-6 { line-height: 24px; }
.leading-6\.5 { line-height: 26px; }
.leading-7 { line-height: 28px; }
.leading-7\.5 { line-height: 30px; }
.leading-10 { line-height: 40px; }
.leading-12 { line-height: 48px; }
.leading-14 { line-height: 56px; }
.leading-15 { line-height: 60px; }
.leading-16 { line-height: 64px; }

@media (max-width: 767px) {
    .leading-4-xs { line-height: 16px; }
    .leading-4\.5-xs { line-height: 18px; }
    .leading-5-xs { line-height: 20px; }
    .leading-6-xs { line-height: 24px; }
    .leading-6\.5-xs { line-height: 26px; }
    .leading-7-xs { line-height: 28px; }
    .leading-7\.5-xs { line-height: 30px; }
    .leading-8-xs { line-height: 32px; }
    .leading-10-xs { line-height: 40px; }
    .leading-12-xs { line-height: 48px; }
    .leading-14-xs { line-height: 56px; }
    .leading-15-xs { line-height: 60px; }
    .leading-16-xs { line-height: 64px; }
}

/* Font Weights */
.font-normal { font-weight: 400 !important; }
.font-bold { font-weight: Bold !important; }

/* Text Transform */
.normal-case { text-transform: none; }
.uppercase { text-transform: uppercase; }

/* Letter Spacing */
.tracking-wide { letter-spacing: 0.62px; }

/* ============================================
   TEXT ALIGNMENT
   ============================================ */
.text-center { text-align: center; }

@media (max-width: 767px) {
    .text-center-xs { text-align: center; }
    .text-left-xs { text-align: left; }
    .text-right-xs { text-align: right; }
}

/* ============================================
   VERTICAL ALIGNMENT
   ============================================ */
.align-middle { vertical-align: middle; }

/* ============================================
   OBJECT FIT & POSITION
   ============================================ */
.object-cover { object-fit: cover; }
.object-center { object-position: center; }

/* ============================================
   BORDER UTILITIES
   ============================================ */
.border { border: 1px solid #ccc; }
.border-top { border-top: 1px solid #ccc; }
.border-bottom { border-bottom: 1px solid #ccc; }

ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.section-components-header {
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    margin-bottom: 32px;
    position: relative;
    width: 100%;
}

.section-components-header h2,
.section-components-header__heading {
    color: #333333;
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Roboto, Noto, "Segoe UI", Arial, sans-serif;
    font-weight: 400;
    font-size: 36px;
    line-height: 40px;
    margin: 0;
    padding-bottom: 12px;
    padding-top: 20px;
    text-transform: none;
    text-align: center;
}

/* Component-specific styling */

.title-center {
    overflow: hidden;
    position: relative;
    height: 58px;
    margin: auto;
}

.title-center__container {
    text-align: center; 
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.title-center h1,
.title-center__heading {
    color: #FFF;
    line-height: 28px;
    font-family: "adobe-garamond-pro", "GaramondPro Regular", Garamond, "EB Garamond", "Times New Roman", Serif;
    text-transform: none;
    font-weight: 400;
    margin-top: 0;
    margin-bottom: 0;
}

.hero-image {
    position: relative;
}

.hero-image__container {
    max-width: 1440px;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.hero-image img {
    height: auto;
    object-fit: cover;
    object-position: center;
    width: 100%;
    vertical-align: middle;
}

.copy-block {
    position: relative;
}

.copy-block__container {
    max-width: 1440px;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.copy-block__content {
    margin-top: 32px;
    margin-bottom: 32px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
    max-width: 1112px;
    text-align: center;
    width: 100%;
}

.copy-block h2,
.copy-block__heading {
    color: #333333;
    font-family: "adobe-garamond-pro", "GaramondPro Regular", Garamond, "EB Garamond", "Times New Roman", Serif;
    font-size: 26px;
    line-height: 26px;
    font-weight: 400;
    letter-spacing: 0.62px;
    margin: 0 auto 12px auto;
    text-align: center;
    padding-left: 16px;
    padding-right: 16px;
}

.copy-block__heading--sans {
    color: #000;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 26px !important;
    font-style: normal;
    font-weight: 700 !important;
    line-height: 21px !important;
    letter-spacing: normal !important;
}

.copy-block p,
.copy-block__text {
    font-size: 16px;
    line-height: 21px;
    font-weight: 400;
    margin: 0 auto;
    width: auto;
}

.copy-block-bold {
    font-weight: 700;
}

/* Tile Side-by-Side Container */

.tile-side-by-side-media-left {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.tile-side-by-side-media-left__container {
    max-width: 1440px;
    margin-top: 0;
    margin-bottom: 24px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.tile-side-by-side-media-left__content {
    padding: 0 0 24px;
}

.tile-side-by-side-media-left .bg-white .tile-side-by-side-media-left__content {
    padding: 0;
}

.tile-side-by-side-media-left__card {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}

.tile-side-by-side-media-left__image img {
    width: 100%;
    height: auto;
    display: block;
}

.tile-side-by-side-media-left__caption {
    color: #142640;
    font-family: 'Open Sans', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 13px;
    line-height: 21px;
    margin-left: 0;
    margin-top: 8px;
    padding: 0 12px;
}

.tile-side-by-side-media-left__copy {
    padding: 0 12px;
    width: 100%;
}

.tile-side-by-side-media-right__text > p > b,
.tile-side-by-side-media-left__text > p > b {
    font-size: 16px;
    line-height: 20px;
    padding: 12px 0 4px;
}

.tile-side-by-side-media-left__heading,
.tile-side-by-side-media-left h3 {
    color: #333333;
    font-family: 'Open Sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 36px;
    line-height: 41px;
    margin-top: 0;
    margin-bottom: 12px;
    text-transform: none;
}

.tile-side-by-side-media-left__text a,
.tile-side-by-side-media-left p a {
    color: #B10A32;
    text-decoration: underline;
}

.tile-side-by-side-media-right {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.tile-side-by-side-media-right__container {
    max-width: 1440px;
    margin-top: 0;
    margin-bottom: 24px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.tile-side-by-side-media-right__content {
    padding: 0 0 24px;
}

    .tile-side-by-side-media-right .bg-white .tile-side-by-side-media-right__content {
        padding: 0;
    }

.tile-side-by-side-media-right__card {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 0;
}

.tile-side-by-side-media-right__caption {
    color: #142640;
    font-family: 'Open Sans', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 13px;
    left: 0;
    line-height: 21px;
    margin-top: 8px;
    padding: 0 12px;
}

.tile-side-by-side-media-right__copy {
    padding: 0 12px;
    width: 100%;
}

.tile-side-by-side-media-right__heading,
.tile-side-by-side-media-right h3 {
    color: #333333;
    font-family: 'Open Sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 36px;
    line-height: 41px;
    margin-top: 0;
    margin-bottom: 12px;
    text-transform: none;
}

.tile-side-by-side-media-right__text a,
.tile-side-by-side-media-right p a {
    color: #B10A32;
    text-decoration: underline;
}

.tile-side-by-side-media-left__text,
.tile-side-by-side-media-left p,
.tile-side-by-side-media-right__text,
.tile-side-by-side-media-right p {
    color: #333333;
    font-family: 'Open Sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 0;
}

.tile-side-by-side-media__text--clamped {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--tile-side-lines, 5);
    line-clamp: var(--tile-side-lines, 5);
    overflow: hidden;
    text-overflow: ellipsis;
}

.tile-side-by-side-media__text--clamped a {
    visibility: hidden;
}

.tile-side-by-side-media__text--expanded a {
    visibility: visible;
}

.carousel__subheading--toggle,
.tile-side-by-side-media__toggle {
    background: none;
    border: none;
    color: #456580;
    cursor: pointer;
    display: inline-block;
    font-family: 'Open Sans', sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px;
    margin-top: 16px;
    padding: 0;
    text-align: left;
}

.carousel__subheading--toggle:hover,
.carousel__subheading--toggle:focus,
.tile-side-by-side-media__toggle:hover,
.tile-side-by-side-media__toggle:focus {
    color: #456580;
}

.tile-side-by-side-media-left__media,
.tile-side-by-side-media-right__media {
    width: 100%;
    margin-bottom: 16px;
}

.tile-side-by-side-media-left__media--image-container,
.tile-side-by-side-media-right__media--image-container {
    position: relative;
}

.tile-side-by-side-media-left__media--thumb,
.tile-side-by-side-media-right__media--thumb {
    background: transparent;
    border: none;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9;
    cursor: pointer;
}

.tile-side-by-side-media-left__media--image,
.tile-side-by-side-media-right__media--image {
    height: auto;
    max-width: 100%;
    width: 100%;
    display: block;
}

.tile-side-by-side-media-left__media--thumb-play,
.tile-side-by-side-media-right__media--thumb-play {
    background: url(/Content/images/v3/video-play-thumb-lg.png) no-repeat -72px 0;
    border: none;
    width: 72px;
    height: 72px;
    margin: 0;
    position: absolute;
    top: initial;
    bottom: calc(50% - 36px);
    left: calc(50% - 36px);
    right: initial;
    pointer-events: none;
}

.tile-side-by-side-media-left__media--video-container,
.tile-side-by-side-media-right__media--video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: auto;
    overflow: hidden;
    max-width: 100%;
    width: 100%;
}

.tile-side-by-side-media-left__media--video-container iframe,
.tile-side-by-side-media-right__media--video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.tile-side-by-side-media-left__media--card,
.tile-side-by-side-media-right__media--card {
    background: #ffffff;
    border: 1px solid #cccccc;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    position: relative;
}

.tile-side-by-side-media-left__media--card:hover .tile-side-by-side-media-left__media--thumb-play,
.tile-side-by-side-media-right__media--card:hover .tile-side-by-side-media-right__media--thumb-play {
    background-position: 0 0;
}

.faq {
    position: relative;
}

.faq__container {
    max-width: 1440px;
    margin: 24px auto;
    padding: 0 12px;
    width: 100%;
}

.faq__heading {
    border-bottom: 1px solid #CCCCCC;
    color: #000000;
    font-family: 'Open Sans', sans-serif;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.32px;
    line-height: 37px;
    margin: 0;
    padding-bottom: 16px;
    text-align: center;
}

.faq__panel {
    border-bottom: 1px solid #CCCCCC;
    padding: 0;
}

.faq__sub-heading {
    color: #000000;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0.16px;
    line-height: 21px;
    text-transform: none;
    margin: 0;
    padding: 0;
}

.faq__lbl {
    background-color: #ffffff;
    border: none;
    column-gap: 10px;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 0;
    padding: 12px 0;
    text-align: left;
    width: 100%;
}

.faq__lbl::after {
    content: "\e600";
    font-family: 'icomoon' !important;
    font-size: 16px;
    speak: none;
    font-style: normal;
    font-weight: 700;
    font-variant: normal;
    height: 16px;
    text-transform: none;
    line-height: 1;
    margin-right: 8px;
    margin-top: 4px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #b10a32;
    width: 16px;
}

.faq__panel .faq__expander {
    background: #ffffff;
    display: none;
    margin: 0;
}

.faq__desc {
    color: #000000;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
    text-transform: none;
    margin: 0;
    padding: 0 0 16px 0;
}

.carousel {
    margin-bottom: 160px;
    padding: 0 12px;
}

.carousel__container {
    max-width: 1440px;
    margin: 0 auto;
}

.carousel__header {
    text-align: center;
}

.carousel__heading {
    font-family: 'Open Sans', sans-serif;
    font-size: 26px;
    line-height: 30px;
    font-weight: 400;
    color: #333333;
    text-align: center;
    margin: 24px 0 16px 0;
    padding: 0 16px;
}

.carousel__subheading {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    line-height: 20px;
    color: #333333;
    text-align: left;
    max-width: 100%;
    margin: 0 auto 16px auto !important;
    padding: 0;
}

.carousel__subheading--clamped {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
}

.carousel__subheading--expanded {
    overflow: visible;
    text-overflow: initial;
    display: block;
    -webkit-line-clamp: unset;
    line-clamp: unset;
}

.carousel__subheading-toggle {
    background: none;
    border: none;
    color: #456580;
    cursor: pointer;
    display: inline-block;
    font-family: 'Open Sans', sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px;
    margin-top: 0;
    padding: 0;
    text-align: left;
    width: 100%;
}

.carousel__subheading-toggle:hover {
    color: #000000;
}

.carousel__subheading-toggle:focus {
    outline: 2px solid #000000;
    outline-offset: 2px;
}

.carousel__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 20px;
    margin-top: 24px;
    padding: 0;
}

/* MW-12450: owl replaces the grid with display:block once loaded, so the
   right-floated .owl-nav no longer contributes height and paints over the
   next section. Clearfix contains the float. Scoped to .ftrc-page (this
   carousel ships elsewhere) and .owl-loaded (the float only exists post-init). */
.ftrc-page .carousel__grid.owl-loaded::after {
    content: "";
    display: block;
    clear: both;
}

.carousel__card {
    grid-column: span 12;
}

.carousel__item {
    background: #fff;
    border: 1px solid #ccc;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
}

.carousel__image {
    width: 100%;
    overflow: hidden;
}

.carousel__image img {
    width: 100%;
    height: auto;
    display: block;
}

.carousel__content {
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: start;
    flex-grow: 1;
}

.carousel__content .thumbnail {
    border: none;
}

.carousel__content .thumbnail-anchor {
    text-decoration: none !important;
}

.carousel__title {
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-size: 21px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
    margin: 0 0 12px 0 !important;
    text-transform: none;
    white-space: inherit;
    overflow: hidden;
    min-height: 24px;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.carousel__title:hover {
    color: #B10A32;
}

.carousel__description {
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
}

.carousel__line-clamp {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    line-clamp: initial;
    -webkit-line-clamp: initial;
    -webkit-box-orient: vertical;
}

.carousel__link {
    margin-bottom: 16px;
}

.carousel__link a {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #000000;
    line-height: 18px;
    text-decoration: underline;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.carousel__link a:hover {
    color: #B10A32;
}

.carousel__link svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.carousel__link-text {
    text-decoration: underline;
}

.carousel__related {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    line-height: 19px;
    color: #333333;
}

.carousel__related ul {
    list-style: none;
    padding: 0;
    margin: 8px 0 0 0;
}

.carousel__related li {
    margin: 4px 0;
}

.carousel__related a {
    color: #B10A32;
    text-decoration: none !important;
    font-size: 12px;
    line-height: 16px;
}

.carousel__related a:hover {
    text-decoration: underline;
}

.carousel__badge {
    color: #ffffff;
    font-family: 'Open Sans', Arial, Helvetica, Sans-Serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 22px;
    left: 0;
    max-width: 240px;
    padding: 4px 12px;
    position: absolute;
    top: 0;
    width: auto;
    z-index: 1;
    text-align: left;
    text-transform: uppercase;
}

.carousel__badge--red {
    background-color: #B10A32;
}

.carousel__badge--blue {
    background-color: #44687d;
}

.carousel__grid .owl-stage {
    display: flex;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.carousel__grid .owl-stage .owl-item {
    display: flex;
    list-style: none;
    margin-bottom: 1px;
    margin-left: 1px;
    margin-top: 1px;
}

.carousel__grid .owl-stage .owl-item:last-child {
    margin-right: 0 !important;
}

.carousel__grid .owl-nav {
    float: right;
    margin-right: 76px;
    margin-top: 16px;
}

.carousel__grid .owl-nav button {
    background: #0F3055 !important;
    border: 1px solid #0F3055 !important;
    border-radius: 4px;
    color: #ffffff !important;
    height: 44px;
    width: 44px;
}

.carousel__grid .owl-nav button.disabled {
    background: #f4f4f4 !important;
    border: 1px solid #cccccc !important;
    border-radius: 4px;
}

.carousel__grid .owl-nav button.disabled svg path {
    fill: none;
    stroke: #595959 !important;
    pointer-events: all;
}

.carousel__grid .owl-nav button.owl-next {
    margin-left: 12px;
}

.carousel__grid .owl-dots .owl-dot.active span,
.carousel__grid .owl-dots .owl-dot:hover span {
    background: #0F3055;
}

.carousel__grid .owl-nav {
    float: right;
    margin-right: 0;
    margin-top: 32px;
}

.carousel__grid .owl-nav button {
    background: #0F3055 !important;
    border: 1px solid #0F3055 !important;
    border-radius: 4px;
    color: #ffffff !important;
    height: 44px;
    width: 44px;
}

.carousel__grid .owl-nav button.disabled {
    background: #f4f4f4 !important;
    border: 1px solid #cccccc !important;
    border-radius: 4px;
}
.carousel__grid .owl-nav button.disabled svg path {
    fill: none;
    stroke: #595959 !important;
    pointer-events: all;
}
.carousel__grid .owl-nav button.owl-next {
    margin-left: 12px;
}

.carousel__grid .owl-dots .owl-dot.active span,
.carousel__grid .owl-dots .owl-dot:hover span {
    background: #0F3055;
}

.carousel__grid .owl-dots {
    display: inline-block;
    left: 8px;
    position: relative;
    top: 42px;
    width: calc(100% - 168px);
}

.carousel__grid .owl-dots .owl-dot {
    display: inline-block;
    outline: none;
}

.carousel__grid .owl-dots .owl-dot span {
    background: #cccccc;
    display: inline-block;
    height: 4px;
    margin: 0;
}

.carousel__grid .owl-dots .owl-dot:focus span {
    outline: -webkit-focus-ring-color auto 1px;
    border-radius: 0;
}

@media (min-width: 768px) {
    .d-md-none { display: none; }
    .d-md-block { display: block; }

    .tile-side-by-side-media-left__container {
        margin-bottom: 64px;
    }

    .tile-side-by-side-media-left__content {
        padding: 48px 20px 48px 0;
    }

    .tile-side-by-side-media-left .bg-white .tile-side-by-side-media-left__content {
        padding: 0 10px;
    }

    .tile-side-by-side-media-right__content {
        padding: 48px 0 48px 12px;
    }

    .tile-side-by-side-media-right .bg-white .tile-side-by-side-media-right__content {
        padding: 0 10px;
    }
    
    .tile-side-by-side-media-left__card {
        flex-direction: row;
        align-items: center;
        margin-bottom: 0;
    }

    .tile-side-by-side-media-left__media {
        flex: 0 0 55%;
        max-width: 759px;
        margin-bottom: 0;
        margin-right: 20px;
    }

    .tile-side-by-side-media-left__caption {
        margin-left: 20px;
        margin-top: 12px;
        padding: 0;
    }

    .tile-side-by-side-media-left__media > .tile-side-by-side-media-left__caption.d-block.d-md-none {
        display: block !important;
        margin-left: 0;
    }

    .tile-side-by-side-media-left__content > .tile-side-by-side-media-left__caption.d-none.d-md-block {
        display: none !important;
    }
    
    .tile-side-by-side-media-left__copy {
        display: flex;
        flex: 1;
        flex-direction: column;
        justify-content: center;
        padding: 0;
    }

    .tile-side-by-side-media-right__container {
        margin-bottom: 64px;
    }
    
    .tile-side-by-side-media-right__card {
        flex-direction: row;
        align-items: center;
        margin-bottom: 0;
    }

    .tile-side-by-side-media-right__media {
        flex: 0 0 55%;
        max-width: 759px;
        margin-bottom: 0;
        margin-left: 0;
    }

    .tile-side-by-side-media-right__content > .tile-side-by-side-media-right__caption {
        left: 45%;
        margin-top: 12px;
        padding: 0;
        position: relative;
        width: 55%;
    }

    .tile-side-by-side-media-right__media > .tile-side-by-side-media-right__caption.d-block.d-md-none {
        display: block !important;
        left: auto;
        margin-left: 0;
        margin-top: 12px;
        padding: 0;
        position: static;
        width: auto;
    }

    .tile-side-by-side-media-right__content > .tile-side-by-side-media-right__caption.d-none.d-md-block {
        display: none !important;
    }
    
    .tile-side-by-side-media-right__copy {
        display: flex;
        flex: 1;
        flex-direction: column;
        justify-content: center;
        margin-bottom: 0;
        margin-right: 20px;
        padding: 0;
    }

    .tile-side-by-side-media-left__text,
    .tile-side-by-side-media-left p,
    .tile-side-by-side-media-right__text,
    .tile-side-by-side-media-right p {
        font-size: 16px;
        line-height: 20px;
    }

    .faq__container {
        margin: 32px auto;
        padding: 0 20px;
    }

    .faq__heading {
        font-size: 36px;
        line-height: 48px;
        margin-bottom: 0;
        padding-bottom: 16px;
    }

    .faq__sub-heading {
        font-size: 18px;
        line-height: 28px;
        letter-spacing: 0.18px;
    }

    .faq__lbl {
        padding: 16px 0;
    }

    .faq__desc {
        font-size: 16px;
        line-height: 22px;
        padding-bottom: 16px;
    }

    .faq__lbl::after {
        font-size: 20px;
        height: 20px;
        margin-right: 8px;
        margin-top: 2px;
        width: 20px;
    }

    .carousel {
        margin-bottom: 160px;
        padding: 0;
    }

    .carousel__container {
        padding: 0;
    }

    .carousel__heading {
        font-size: 26px;
        line-height: 30px;
        margin: 32px 0 16px 0;
    }

    .carousel__subheading {
        font-size: 16px;
        line-height: 20px;
        max-width: 1078px;
        margin-bottom: 24px;
        padding: 0 32px;
        text-align: center;
    }

    .carousel__subheading-toggle {
        padding: 0 32px;
    }

    .carousel__card {
        grid-column: span 6;
    }

    .carousel__content {
        padding: 16px;
    }

    .carousel__title {
        font-size: 21px !important;
        font-weight: 400;
        line-height: 28px;
        margin: 0 0 12px 0 !important;
    }

    .carousel__description {
        font-size: 16px;
    }

    .carousel__related {
        font-size: 14px;
        line-height: 19px;
    }

        .carousel__related a {
            font-size: 13px;
            line-height: 21px;
        }

    .carousel__grid .owl-stage {
        padding-left: 32px !important;
    }

    .carousel__grid .owl-dots {
        left: 32px;
        width: calc(100% - 216px);
    }

    .carousel__grid .owl-nav {
        margin-right: 32px;
    }
}

@media (min-width: 1024px) {
    .title-center {
        height: 80px;
    }
    
    .title-center h1,
    .title-center__heading {
        line-height: 40px;
    }
    
    .copy-block__content {
        margin-top: 48px;
        margin-bottom: 48px;
    }
    
    .copy-block h2,
    .copy-block__heading {
        font-size: 44px;
        line-height: 48px;
    }
    
    .copy-block p,
    .copy-block__text {
        font-size: 20px;
        line-height: 28px;
        width: 977px;
    }

    .tile-side-by-side-media-left__container {
        margin-bottom: 90px;
    }

    .tile-side-by-side-media-left__content {
        padding: 48px 32px 48px 16px;
    }

    .tile-side-by-side-media-left .bg-white .tile-side-by-side-media-left__content {
        padding: 0 32px;
    }

    .tile-side-by-side-media-right__content {
        padding: 48px 16px 48px 32px;
    }

    .tile-side-by-side-media-right .bg-white .tile-side-by-side-media-right__content {
        padding: 0 32px;
    }

    .tile-side-by-side-media-left__media {
        margin-left: 0;
        margin-right: 48px;
    }

    .tile-side-by-side-media-left__caption {
        margin-left: 0;
    }

    .tile-side-by-side-media-left__heading,
    .tile-side-by-side-media-left h3 {
        font-size: 36px;
        line-height: 41px;
    }

    .tile-side-by-side-media-right__text > p > b,
    .tile-side-by-side-media-left__text > p > b {
        display: block;
        font-size: 20px;
        font-weight: 700;
        line-height: 24px;
        padding: 20px 0 8px
    }

    .tile-side-by-side-media-left__heading b,
    .tile-side-by-side-media-right__heading b
    {
        color: #b10a32;
        font-weight: 400;
    }
    
    .tile-side-by-side-media-right__container {
        margin-bottom: 90px;
    }

    .tile-side-by-side-media-right__copy {
        margin-right: 48px;
    }

    .tile-side-by-side-media-right__heading,
    .tile-side-by-side-media-right h3 {
        font-size: 36px;
        line-height: 41px;
    }

    .tile-side-by-side-media-left__text,
    .tile-side-by-side-media-left p,
    .tile-side-by-side-media-right__text,
    .tile-side-by-side-media-right p {
        font-size: 16px;
        line-height: 24px;
    }

    

    .faq__container {
        margin: 48px auto;
        padding: 0 16px;
    }

    .faq__heading {
        font-size: 36px;
        letter-spacing: 0.36px;
        line-height: 48px;
        margin-bottom: 0;
        padding-bottom: 40px;
    }

    .faq__sub-heading {
        font-size: 20px;
        line-height: 28px;
        letter-spacing: 0.2px;
    }

    .faq__lbl::after {
        font-size: 24px;
        height: 24px;
        margin-right: 4px;
        width: 24px;
    }

    .carousel {
        margin-bottom: 160px;
    }

    .carousel__heading {
        font-size: 36px;
        line-height: 40px;
        margin: 48px 0 12px 0;
    }

    .carousel__subheading {
        font-size: 16px;
        line-height: 24px;
    }

    .carousel__card {
        grid-column: span 4;
    }

    .carousel__content {
        padding: 20px;
    }

    .carousel__title {
        margin: 0 0 16px 0 !important;
    }

    .carousel__line-clamp {
        line-clamp: initial;
        -webkit-line-clamp: initial;
    }

    .carousel__related {
        font-size: 16px;
        line-height: 24px;
    }

    .carousel__grid .owl-stage {
        padding-left: 40px !important;
    }

    .carousel__grid .owl-dots {
        left: 40px;
        width: calc(100% - 224px);
    }

    .carousel__grid .owl-nav {
        margin-right: 40px;
    }
}

@media (min-width: 1366px) {
    .tile-side-by-side-media-left__content {
        padding: 48px 64px;
    }

    .tile-side-by-side-media-left .bg-white .tile-side-by-side-media-left__content {
        padding: 0 64px;
    }

    .tile-side-by-side-media-right__content {
        padding: 48px 64px;
    }

    .tile-side-by-side-media-right .bg-white .tile-side-by-side-media-right__content {
        padding: 0 64px;
    }

     .tile-side-by-side-media-left__media {
        margin-right: 64px;
    }

    .tile-side-by-side-media-right__copy {
        margin-right: 64px;
    }

    .tile-side-by-side-media-left__text,
    .tile-side-by-side-media-left p,
    .tile-side-by-side-media-right__text,
    .tile-side-by-side-media-right p {
        font-size: 20px;
        line-height: 28px;
    }

    .faq__container {
        max-width: 1330px;
        padding: 0 64px;
    }

    .carousel__subheading {
        max-width: 1188px;
    }

    .carousel__grid .owl-stage {
        padding-left: 80px !important;
    }

    .carousel__grid .owl-dots {
        left: 80px;
        width: calc(100% - 298px);
    }

    .carousel__grid .owl-nav {
        margin-right: 80px;
    }
}

@media (max-width: 767px) {
    .carousel__heading,
    .carousel__subheading {
        padding: 0;
        text-align: left;
    }
}
@media (min-width: 1367px) {
    .tile-side-by-side-media__toggle {
        display: none !important;
    }
}

/* Tile Side-by-Side Media Left CTA Prominent */

.tile-side-by-side-media-left-cta-prominent {
    list-style: none;
    margin: 0 16px;
    padding: 0;
    position: relative;
}

.tile-side-by-side-media-left-cta-prominent__container {
    border: none;
    display: block;
    margin: 0 0 24px;
    max-width: 1440px;
    width: 100%;
}

.tile-side-by-side-media-left-cta-prominent__card {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}

.tile-side-by-side-media-left-cta-prominent__image {
    overflow: hidden;
    width: 100%;
}

.tile-side-by-side-media-left-cta-prominent__image img {
    display: block;
    height: auto;
    max-width: 100%;
    width: 100%;
}

.tile-side-by-side-media-left-cta-prominent__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px 16px;
    width: 100%;
}

.tile-side-by-side-media-left-cta-prominent__title {
    color: #000000;
    font-family: 'Open Sans', sans-serif;
    font-size: 30px;
    font-style: normal;
    font-weight: 400;
    line-height: 34px;
    margin: 0 0 16px 0;
    text-align: center;
}

.tile-side-by-side-media-left-cta-prominent__btn {
    background-color: #b10a32;
    border: none;
    color: #ffffff !important;
    display: inline-flex;
    font-family: 'Open Sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    height: 40px;
    align-items: center;
    justify-content: center;
    line-height: 24px;
    margin: 0 auto 24px;
    padding: 8px 15px;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    width: 100%;
}

.tile-side-by-side-media-left-cta-prominent__btn:hover {
    background-color: #810724;
    color: #ffffff;
    text-decoration: none;
}

.tile-side-by-side-media-left-cta-prominent__legal {
    color: #000000;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 20px !important;
    margin: 0 !important;
    text-align: center;
}

.tile-side-by-side-media-left-cta-prominent__legal strong,
.tile-side-by-side-media-left-cta-prominent__legal b {
    font-weight: 700;
}

@media (min-width: 768px) {
    .tile-side-by-side-media-left-cta-prominent__container {
        border: 1px solid #cccccc;
        margin: auto;
        margin-bottom: 64px;
    }

    .tile-side-by-side-media-left-cta-prominent__card {
        display: flex;
        flex-direction: column;
        margin-bottom: 0;
    }

    .tile-side-by-side-media-left-cta-prominent__image {
        overflow: hidden;
        width: 100%;
    }

    .tile-side-by-side-media-left-cta-prominent__image img {
        display: block;
        height: auto;
        max-width: 100%;
        width: 100%;
    }

    .tile-side-by-side-media-left-cta-prominent__content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 24px;
        width: 100%;
    }

    .tile-side-by-side-media-left-cta-prominent__title {
        font-size: 26px;
        line-height: 30px;
        margin: 0 0 16px 0;
    }

    .tile-side-by-side-media-left-cta-prominent__btn {
        font-size: 14px;
        line-height: 24px;
        margin-bottom: 24px;
        padding: 8px 15px;
        width: 280px;
    }

    .tile-side-by-side-media-left-cta-prominent__legal {
        font-size: 16px;
        line-height: 20px !important;
    }

    .tile-side-by-side-media-right__text > p > b,
    .tile-side-by-side-media-left__text > p > b {
        padding: 12px 0 4px;
    }
}

@media (min-width: 1180px) {
    .tile-side-by-side-media-left-cta-prominent__container {
        margin-bottom: 90px;
        max-width: 1356px;
    }

    .tile-side-by-side-media-left-cta-prominent__card {
        display: grid;
        grid-template-columns: 50% 1fr;
    }

    .tile-side-by-side-media-left-cta-prominent__content {
        padding: 36px 32px;
    }

    .tile-side-by-side-media-left-cta-prominent__title {
        font-size: 36px;
        line-height: 40px;
        margin: 0 0 32px 0;
    }

    .tile-side-by-side-media-left-cta-prominent__btn {
        font-size: 18px;
        height: 50px;
        line-height: 24px;
        margin: 0 auto auto;
        padding: 13px 25px;
    }

    .tile-side-by-side-media-left-cta-prominent__legal {
        font-size: 16px;
        line-height: 24px;
    }
}

/* Static Flex Section (Image with Overlay Text) - Mobile First */

.static-flex__section {
    margin-bottom: 24px;
    margin-right: auto;
    margin-left: auto;
    padding-left: 0;
    padding-right: 0;
}

.static-flex__section--no-gutters {
    margin-right: 0;
    margin-left: 0;
}

.static-flex__section--standard {
    margin: 0 auto;
    max-width: 1356px;
    position: relative;
    margin-bottom: 0;
}

.static-flex__section--image-cropped {
    height: auto;
    max-width: 100%;
    width: 100%;
}

.static-flex__section {
    margin-bottom: 24px;
}

.static-flex__section--gutters {
    margin-right: 16px;
    margin-left: 16px;
}

.static-flex__section--container {
    background: #fff;
    border-color: #fff;
    border-width: 0;
    padding: 12px 16px;
    position: relative;
    margin: 0;
    max-width: 100%;
    top: 0;
    width: 100%;
}

.static-flex__section--container .static-flex__section--title {
    color: #333333;
    font-family: 'Open Sans', sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 40px;
    margin-bottom: 8px;
    margin-top: 0;
}

.static-flex__section--container .static-flex__section--text {
    color: #333333;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    margin-bottom: 0;
    text-align: left;
}

.static-flex__section--container a {
    background-color: #b10a32;
    border: none;
    color: #fff;
    display: inline-flex;
    font-family: 'Open Sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    height: 40px;
    justify-content: space-evenly;
    line-height: 20px;
    padding: 8px 15px;
    margin: 24px 0 0 0;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    width: 100%;
}

.static-flex__section--container a:hover {
    background-color: #810724;
    border-color: #770722;
    color: #FFFFFF;
}

.static-flex__hero {
    position: relative;
}
.static-flex__hero--image {
    max-width: 1440px;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}
.static-flex__hero--image--cropped {
    height: auto;
    object-fit: cover;
    object-position: center;
    width: 100%;
    vertical-align: middle;
}

@media (max-width: 320px) {
    .static-flex__section--container a {
        font-size: 12px;
    }
}

@media (min-width: 768px) {
    .static-flex__section--container .static-flex__section--title {
        margin-bottom: 12px;
    }
}

@media (min-width: 992px) {
    .static-flex__section {
        margin-bottom: 64px;
    }

    .static-flex__section--container {
        left: 0;
        padding: 24px 24px 0 24px;
        position: relative;
    }
}

@media (min-width: 1024px) {
    .static-flex__section--container {
        left: 32px;
        padding: 32px;
        max-width: 520px;
        top: 32px;
        position: absolute;
    }
}

@media (min-width: 1180px) {
    .static-flex__section {
        margin-bottom: 64px;
    }

    .static-flex__section--container {
        left: 48px;
        padding: 32px;
        max-width: 520px;
        top: 72px;
        position: absolute;
    }
}

@media (min-width: 1280px) {
    .static-flex__section {
        margin-bottom: 90px;
    }

    .static-flex__section--gutters {
        margin-right: 0;
        margin-left: 0;
    }

    .static-flex__section--container {
        left: 64px;
        padding: 40px;
        max-width: 520px;
        top: 90px;
        position: absolute;
    }

    .static-flex__section--container a {
        font-size: 18px;
        height: 50px;
        line-height: 24px;
        padding: 13px 5px;
        margin: 32px 4px 0 3px;
    }
}

/* Tile Layered Image Copy Left */
/* Mobile-first layered image with overlay content */

.tile-layered-img-copy-left {
    margin-bottom: 24px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

.tile-layered-img-copy-left__container {
    margin: 0 auto;
    max-width: 1356px;
    position: relative;
}

.tile-layered-img-copy-left__card {
    margin-bottom: 0;
    position: relative;
}

.tile-layered-img-copy-left__media {
    overflow: hidden;
    width: 100%;
}

.tile-layered-img-copy-left__image {
    display: block;
    height: auto;
    max-width: 100%;
    width: 100%;
}

.tile-layered-img-copy-left__content {
    background: #ffffff;
    border-color: #ffffff;
    border-width: 0;
    margin: 0;
    max-width: 100%;
    padding: 12px 16px;
    position: relative;
    top: 0;
    width: 100%;
}

.tile-layered-img-copy-left__heading {
    color: #333333;
    font-family: 'Open Sans', sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 40px;
    margin-bottom: 8px;
    margin-top: 0;
}

.tile-layered-img-copy-left__text {
    color: #333333;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    margin-bottom: 0;
    text-align: left;
}

.tile-layered-img-copy-left__link {
    background-color: #b10a32;
    border: none;
    color: #ffffff !important;
    display: inline-flex;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    height: 40px;
    justify-content: space-evenly;
    line-height: 20px;
    margin: 24px 0 0 0;
    padding: 8px 15px;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    width: 100%;
}

.tile-layered-img-copy-left__link:hover {
    background-color: #810724;
    border-color: #770722;
    color: #ffffff;
}

@media (max-width: 320px) {
    .tile-layered-img-copy-left__link {
        font-size: 12px;
    }
}

@media (min-width: 768px) {
    .tile-layered-img-copy-left__heading {
        margin-bottom: 12px;
    }
}

@media (min-width: 992px) {
    .tile-layered-img-copy-left {
        margin-bottom: 64px;
    }

    .tile-layered-img-copy-left__content {
        left: 0;
        padding: 24px 24px 0 24px;
        position: relative;
    }
}

@media (min-width: 1024px) {
    .tile-layered-img-copy-left__content {
        left: 32px;
        max-width: 520px;
        padding: 32px;
        position: absolute;
        top: 32px;
    }
}

@media (min-width: 1180px) {
    .tile-layered-img-copy-left {
        margin-bottom: 64px;
    }

    .tile-layered-img-copy-left__content {
        left: 48px;
        max-width: 520px;
        padding: 32px;
        position: absolute;
        top: 72px;
    }
}

@media (min-width: 1280px) {
    .tile-layered-img-copy-left {
        margin-bottom: 90px;
    }

    .tile-layered-img-copy-left__content {
        left: 64px;
        max-width: 520px;
        padding: 40px;
        position: absolute;
        top: 90px;
    }

    .tile-layered-img-copy-left__link {
        font-size: 18px;
        height: 50px;
        line-height: 24px;
        margin: 32px 4px 0 3px;
        padding: 13px 5px;
    }
}

/* Static Flex Recipes Component */
/* Mobile-first recipe grid with cards */

.static-flex-recipes {
    position: relative;
    margin-bottom: 24px;
}

.static-flex-recipes__container {
    margin: 0 auto;
    max-width: 1440px;
    width: 100%;
}

.static-flex-recipes__header {
    text-align: center;
}

.static-flex-recipes__heading {
    color: #000000;
    font-family: 'Open Sans', sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 40px;
    margin-bottom: 12px !important;
    margin-top: 24px !important;
    padding: 0 16px;
    text-align: center;
}

.static-flex-recipes__subheading {
    color: #000000;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
    margin: 0 auto 16px;
    max-width: calc(100% - 32px);
    text-align: center;
    width: 100%;
}

.static-flex-recipes__grid {
    display: grid;
    grid-gap: 16px;
    grid-template-columns: repeat(12, 1fr);
    margin: 0 15px;
    padding: 0;
}

.static-flex-recipes__card {
    background: #ffffff;
    border: 1px solid #cccccc;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    grid-column-end: span 12;
    position: relative;
}

.static-flex-recipes__image {
    display: block;
    height: auto;
    max-width: 100%;
    width: 100%;
}

.static-flex-recipes__content {
    flex: 1;
    padding: 16px 12px;
}

.static-flex-recipes__title {
    color: #333333;
    font-family: 'Open Sans', sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 26px;
    margin-bottom: 13px;
    margin-top: 0;
    text-transform: none;
}

.static-flex-recipes__text {
    color: #333333;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    margin: 0;
    padding: 0;
}

.static-flex-recipes__btn {
    align-items: center;
    background-color: #456580;
    border-color: #456580;
    border-radius: 0;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    font-family: 'Open Sans', sans-serif;
    font-size: 13.6px;
    font-style: normal;
    font-weight: 400;
    justify-content: center;
    line-height: normal;
    margin: 0 auto 16px auto;
    min-height: 40px;
    padding: 10px 19px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    vertical-align: middle;
    white-space: nowrap;
    width: calc(100% - 24px);
}

.static-flex-recipes__btn:hover {
    background-color: #142640;
    border-color: #142640;
    color: #ffffff;
}

.static-flex-recipes__btn:focus {
    background-color: #456580;
    border-color: #456580;
    color: #ffffff;
}

.static-flex-recipes__footer {
    text-align: center;
}

.static-flex-recipes__link {
    background: #ffffff;
    border: 3px solid #0F3055;
    color: #0F3055;
    display: inline-block;
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    height: auto;
    line-height: 24px;
    margin-bottom: 0;
    margin-top: 32px;
    padding: 10px 25px 10px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    width: auto;
}

.static-flex-recipes__link:active,
.static-flex-recipes__link:focus,
.static-flex-recipes__link:hover {
    background-color: #0F3055;
    border-color: #0F3055;
    color: #ffffff;
}

@media (min-width: 768px) {
    .static-flex-recipes {
        margin-bottom: 64px;
    }

    .static-flex-recipes__heading {
        margin-top: 0;
        padding-top: 0;
    }
}

@media (min-width: 992px) {
    .static-flex-recipes__heading {
        margin-bottom: 12px;
        margin-top: 40px;
    }

    .static-flex-recipes__subheading {
        font-size: 20px;
        line-height: 28px;
        margin: 0 auto 24px;
        text-align: center;
        width: 652px;
    }

    .static-flex-recipes__grid {
        grid-gap: 16px;
        margin: 0 32px;
    }

    .static-flex-recipes__content {
        padding: 16px;
    }

    .static-flex-recipes__title {
        font-size: 20px;
        line-height: 26px;
        margin-bottom: 13px;
    }

    .static-flex-recipes__text {
        font-size: 16px;
        line-height: 20px;
        margin: 0;
    }

    .static-flex-recipes__btn {
        font-size: 14px;
        width: 140px;
    }
}

@media (min-width: 1024px) {
    .static-flex-recipes__card {
        grid-column-end: span 6;
    }
}

@media (min-width: 1280px) {
    .static-flex-recipes__subheading {
        max-width: calc(100% - 64px);
        width: 100%;
    }
}

@media (min-width: 1366px) {
    .static-flex-recipes {
        margin-bottom: 90px;
    }

    .static-flex-recipes__grid {
        margin: 0 32px;
    }
}

@media (min-width: 1440px) {
    .static-flex-recipes__subheading {
        max-width: 1078px;
        width: 1078px;
    }

    .static-flex-recipes__grid {
        grid-gap: 20px;
        margin: 0 42px;
    }

    .static-flex-recipes__card {
        grid-column-end: span 4;
    }

    .static-flex-recipes__title {
        font-size: 26px;
        line-height: 34px;
        margin-bottom: 11px;
    }

    .static-flex-recipes__content {
        padding: 12px 16px;
    }

    .static-flex-recipes__text {
        line-height: 24px;
    }

    .static-flex-recipes__btn {
        font-size: 18px;
        line-height: 24px;
        min-height: 50px;
        padding: 13px 25px;
        width: 159px;
    }
}

/* Static Flex Grid & Supporting Styles - Mobile First */

.static-flex__h2 {
    color: #000000;
    font-family: 'Open Sans', sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 40px;
    margin-bottom: 12px !important;
    margin-top: 24px !important;
    padding: 0 16px;
    text-align: center;
}

.static-flex__h2--subheading {
    color: #000;
    text-align: left;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
    margin: 0 auto 16px;
    max-width: calc(100% - 32px);
    width: 100%;
}

.static-flex__text-center {
    text-align: center !important;
}

.static-flex__section--bg-gray {
    background: #f4f4f4;
}

.static-flex__container {
    margin: 0 auto;
    width: 100%;
}

.static-flex__container .thumbnail {
    margin-bottom: 0;
}

.static-flex__button--outline-blue {
    background: #ffffff;
    border: 3px solid #0F3055;
    color: #0F3055;
    display: inline-block;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    height: auto;
    line-height: 24px;
    margin-bottom: 0;
    margin-top: 32px;
    padding: 10px 25px 10px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    width: auto;
}

.static-flex__button--outline-blue:active,
.static-flex__button--outline-blue:focus,
.static-flex__button--outline-blue:hover {
    background-color: #0F3055;
    border-color: #0F3055;
    color: #ffffff;
}

.static-flex-grid__btn {
    background-color: #f5f5f5;
    border-color: #f5f5f5;
    border-radius: 0;
    cursor: pointer;
    display: flex;
    font-family: 'Open Sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13.6px;
    justify-content: center;
    line-height: normal;
    margin: 0 auto 16px auto;
    min-height: 40px;
    padding: 10px 19px;
    text-align: center;
    text-transform: uppercase;
    vertical-align: middle;
    white-space: nowrap;
    width: calc(100% - 24px);
}

.static-flex-grid__btn--blue {
    background-color: #456580;
    border-color: #456580;
    color: #fff;
}

.static-flex-grid__btn--blue:hover {
    background-color: #142640;
    border-color: #142640;
    color: #fff;
}

.static-flex-grid__btn--blue:focus {
    background-color: #456580;
    border-color: #456580;
    color: #fff;
}

.static-flex-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 16px;
    margin: 0 15px;
    padding: 0;
}

.static-flex-grid__card {
    background: #fff;
    border: 1px solid #ccc;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    position: relative;
}

.static-flex-grid__card--header {
    color: #333333;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 26px;
    margin-bottom: 13px;
    margin-top: 0;
    text-transform: none;
}

.static-flex-grid__card--caption {
    padding: 16px 12px;
    flex: 1;
}

.static-flex-grid__card--third {
    grid-column-end: span 12;
}

.static-flex-grid__card--third-sm {
    grid-column-end: span 12;
}

.static-flex-grid__card--third-md {
    grid-column-end: span 12;
}

.static-flex-grid__card p,
.static-flex-grid__card--caption p {
    color: #333333;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    margin: 0;
    padding: 0;
}

.static-flex-grid__card--description,
.static-flex-grid__card--caption-description {
    color: #333333;
    font-family: 'Open Sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 22px;
    margin: 0;
}

.static-flex-grid__image {
    height: auto;
    max-width: 100%;
    width: 100%;
}

@media (min-width: 768px) {
    .static-flex__h2 {
        margin-top: 0;
        padding-top: 0;
    }
}

@media (min-width: 992px) {
    .static-flex__h2 {
        margin-top: 40px;
        margin-bottom: 12px;
    }

    .static-flex__h2--subheading {
        font-size: 20px;
        line-height: 28px;
        margin: 0 auto 24px;
        width: 652px;
        text-align: center;
    }

    .static-flex-grid {
        grid-gap: 16px;
        margin: 0 32px;
    }

    .static-flex-grid__card--caption {
        padding: 16px;
    }

    .static-flex-grid__card--header {
        font-size: 20px;
        line-height: 26px;
        margin-bottom: 13px;
    }

    .static-flex-grid__card--description {
        font-size: 16px;
        line-height: 20px;
        margin: 0;
    }

    .static-flex-grid__btn {
        align-items: center;
        font-size: 14px;
        width: 140px;
    }
}

@media (min-width: 1024px) {
    .static-flex-grid__card--third-md {
        grid-column-end: span 6;
    }
}

@media (min-width: 1280px) {
    .static-flex__h2--subheading {
        max-width: calc(100% - 64px);
        width: 100%;
    }
}

@media (min-width: 1366px) {
    .static-flex-grid {
        margin: 0 32px;
    }
}

@media (min-width: 1440px) {
    .static-flex__h2--subheading {
        width: 1078px;
        max-width: 1078px;
    }

    .static-flex-grid {
        grid-gap: 20px;
        margin: 0 42px;
    }

    .static-flex-grid__card--third {
        grid-column-end: span 4;
    }

    .static-flex-grid__card--header {
        font-size: 26px;
        line-height: 34px;
        margin-bottom: 11px;
    }

    .static-flex-grid__card--caption {
        padding: 12px 16px;
    }

    .static-flex-grid__card p,
    .static-flex-grid__card--caption p {
        line-height: 24px;
    }

    .static-flex-grid__btn {
        font-size: 18px;
        line-height: 24px;
        min-height: 50px;
        padding: 13px 25px;
        width: 159px;
    }
}

/* Tile Stacked Media CTA Prominent */
/* Mobile-first base styles */
.tile-stacked-media-cta-prominent-grid {
    max-width: 1440px;
    margin: 0 auto 24px auto;
    padding: 0 16px;
}

.tile-stacked-media-cta-prominent {
    list-style: none;
    margin: 0 0 24px 0;
    padding: 0;
    position: relative;
}

.tile-stacked-media-cta-prominent__container {
    width: 100%;
}

.tile-stacked-media-cta-prominent__content {
    padding: 0;
}

.tile-stacked-media-cta-prominent__card {
    background: #fff;
    border: 1px solid #cccccc;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.tile-stacked-media-cta-prominent__media {
    width: 100%;
}

.tile-stacked-media-cta-prominent__image {
    height: auto;
    max-width: 100%;
    width: 100%;
    display: block;
}

.tile-stacked-media-cta-prominent__copy {
    padding: 20px 16px 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.tile-stacked-media-cta-prominent__heading,
.tile-stacked-media-cta-prominent h4 {
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 40px;
    margin: 0 0 12px 0;
    text-align: center;
    text-transform: none;
}

.tile-stacked-media-cta-prominent__text,
.tile-stacked-media-cta-prominent p {
    color: #333333;
    font-family: "Open Sans", sans-serif;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    margin: 0 0 16px 0;
    flex: 1;
    text-align: center;
}

.tile-stacked-media-cta-prominent__btn {
    background-color: #b10a32;
    border: none;
    color: #ffffff !important;
    display: inline-flex;
    font-family: "Open Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    height: 40px;
    align-items: center;
    justify-content: center;
    line-height: 24px;
    margin: 0 auto;
    padding: 8px 15px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    width: 100%;
}

.tile-stacked-media-cta-prominent__btn:hover {
    background-color: #810724;
    color: #ffffff;
    text-decoration: none;
}

/* Tablet - 768px */
@media (min-width: 768px) {
    .tile-stacked-media-cta-prominent-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 20px;
        margin-bottom: 64px;
    }

    .tile-stacked-media-cta-prominent {
        height: 100%;
        margin-bottom: 0;
    }

    .tile-stacked-media-cta-prominent__container {
        height: 100%;
    }

    .tile-stacked-media-cta-prominent__content {
        height: 100%;
    }

    .tile-stacked-media-cta-prominent__card {
        height: 100%;
    }
}

/* Desktop - 992px */
@media (min-width: 992px) {
    .tile-stacked-media-cta-prominent__copy {
        padding: 24px 24px 32px;
    }

    .tile-stacked-media-cta-prominent__text,
    .tile-stacked-media-cta-prominent p {
        line-height: 20px !important;
        margin: 0 0 24px 0;
    }

    .tile-stacked-media-cta-prominent__btn {
        font-size: 14px;
        height: 44px;
        padding: 10px 20px;
        width: auto;
    }
}

/* Large Desktop - 1280px */
@media (min-width: 1280px) {
    .tile-stacked-media-cta-prominent-grid {
        margin-bottom: 90px;
    }

    .tile-stacked-media-cta-prominent__copy {
        padding: 32px 56px 40px;
    }

    .tile-stacked-media-cta-prominent__text,
    .tile-stacked-media-cta-prominent p {
        margin: 0 0 20px 0;
    }

    .tile-stacked-media-cta-prominent__btn {
        font-size: 18px;
        height: 50px;
        padding: 13px 25px;
        width: 280px;
    }
}

/* Form Section - Mobile First */

.form-section {
    position: relative;
}

.form-section--bg-gray {
    background: #f4f4f4;
    margin-bottom: 0;
    margin-top: 32px;
    max-width: 100%;
    padding-bottom: 0;
    padding-top: 0;
}

.form-section--gutter {
    padding-left: 16px !important;
    padding-right: 16px !important;
}

.form-container {
    max-width: 454px;
    margin: 0 auto;
    width: 100%;
}

.form-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-left: 0;
    margin-right: 0;
}

.form-row .col-tn-12 {
    padding-left: 0;
    padding-right: 0;
}

.form-col--half {
    float: left;
    min-height: 1px;
    padding-left: 0;
    padding-right: 0;
    position: relative;
    width: 194px;
}

.form-col--full {
    width: 100%;
}

.form-col--full .styled-select {
    margin-top: 6px;
}

.form-col--half input[type='text'] {
    min-width: auto;
    width: 100%;
}

.form-checkbox-row {
    margin-top: 16px;
    margin-bottom: 16px;
}

.form-checkbox-row .form-group {
    margin-bottom: 0;
}

.form-checkbox-row .form-group .checkbox-inline {
    line-height: 20px !important;
    color: #000000 !important;
    cursor: pointer;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    padding-left: 40px;
    margin-bottom: 0;
}

.form-details {
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    margin: 8px auto 0;
    max-width: 454px;
    width: 100%;
}

.form-details p {
    margin-bottom: 0;
}

.form-container .field-validation-error {
    font-size: 11px;
    color: #b10a32;
    line-height: normal;
    text-align: left;
    white-space: normal;
}

.form-container .form-group .form-control.with-placeholder {
    border: 1px solid #333333;
    margin-bottom: 8px;
}

.form-control-placeholder .text-red {
    color: #b10a32;
}

.form-textarea {
    resize: vertical;
    min-height: 80px;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    line-height: 22px;
}

.form-container .form-group .form-control.with-placeholder.form-textarea {
    padding: 28px 15px 8px 15px;
}

.form-container .form-group.phone .field-validation-error {
    margin: 0;
}
.form-container .form-group .select2-container {
    border: 1px solid #333333;
}

.form-btn {
    max-width: 454px;
}

@media screen and (max-width: 767px) {
    .form-col--half {
        width: 100%;
    }

    .copy-block__container {
        margin: 0 auto;
        padding: 0 16px;
    }
    
    .form-details {
        font-size: 14px;
        line-height: 18px;
        min-height: auto;
    }

    .form-checkbox-row .form-group .checkbox-inline {
        line-height: 18px !important;
        font-size: 14px;
    }
    
    .form-btn {
        font-size: 14px !important;
        font-style: normal;
        font-weight: 400;
        line-height: 24px;
        max-width: 100%;
        min-height: 40px !important;
        padding: 7px 15px !important;
        width: 100% !important;
    }
}

/* ============================================
   WEBINAR TITLE CENTER VARIANT
   ============================================ */

/* Mobile-first styles for webinar title section */
.title-center--webinar {
    background: #142640;;
    overflow: visible;
    height: auto;
    margin: 0;
    position: relative;
}

.title-center--webinar .title-center__container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 770px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 32px 16px;
}

.title-center--webinar h1,
.title-center--webinar .title-center__heading {
    font-family: "Open Sans", sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #FFFFFF;
    text-align: center;
    line-height: 30px;
    margin: 0;
    text-transform: none;
}

/* Subtext paragraphs under heading */
.title-center--webinar .title-center__subtext {
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #FFFFFF;
    text-align: center;
    line-height: 21px;
    margin: 0;
}

.title-center--webinar h1 + .title-center__subtext,
.title-center--webinar .title-center__heading + .title-center__subtext {
    margin-top: 8px;
}

/* Desktop styles - 768px and up */
@media (min-width: 768px) {
    .title-center--webinar .title-center__container {
        padding: 60px 24px;
    }
    
    .title-center--webinar h1,
    .title-center--webinar .title-center__heading {
        font-size: 48px;
        line-height: 60px;
    }
    
    .title-center--webinar .title-center__subtext {
        font-size: 20px;
        line-height: 28px;
    }
    
    .title-center--webinar h1 + .title-center__subtext,
    .title-center--webinar .title-center__heading + .title-center__subtext {
        margin-top: 24px;
    }
}

/* ============================================
   WEBINAR COPY BLOCK VARIANT
   ============================================ */

/* Mobile-first styles for webinar content section */
.copy-block--webinar {
    position: relative;
}

.copy-block--webinar .copy-block__container {
    max-width: 818px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}

.copy-block--webinar .copy-block__content {
    margin-top: 24px;
    margin-bottom: 24px;
    text-align: center;
}

/* Intro text - bold paragraph at top */
.copy-block--webinar .copy-block__intro {
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #000000;
    line-height: 21px;
    margin-bottom: 4px;
    text-align: center;
}

.copy-block--webinar .copy-block__intro--left {
    text-align: left;
}

/* Webinar heading */
.copy-block--webinar h2,
.copy-block--webinar .copy-block__heading {
    font-family: "Open Sans", sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #000000;
    text-align: center;
    line-height: 21px;
    margin-top: 40px;
    margin-bottom: 16px;
}

/* Description text */
.copy-block--webinar p,
.copy-block--webinar .copy-block__text {
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    color: #000000;
    text-align: center;
    line-height: 21px;
    margin-bottom: 12px;
    max-width: 526px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.copy-block--webinar .copy-block__text--left {
    text-align: left;
}

/* Mobile-only left alignment */
@media (max-width: 767px) {
    .copy-block--webinar .copy-block__text--left-xs {
        text-align: left;
    }
}

/* Date/time text - bold */
.copy-block--webinar .copy-block__datetime {
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #000000;
    text-align: center;
    line-height: 21px;
    margin-bottom: 12px;
}

/* Desktop styles - 768px and up */
@media (min-width: 768px) {
    .copy-block--webinar .copy-block__content {
        margin-top: 32px;
        margin-bottom: 24px;
    }
    
    .copy-block--webinar .copy-block__intro {
        font-size: 18px;
        line-height: 24px;
    }
    
    .copy-block--webinar h2,
    .copy-block--webinar .copy-block__heading {
        font-size: 26px;
        line-height: 21px;
    }
    
    .copy-block--webinar p,
    .copy-block--webinar .copy-block__text {
        font-size: 16px;
        line-height: 21px;
    }
    
    .copy-block--webinar .copy-block__datetime {
        font-size: 16px;
        line-height: 21px;
        margin-bottom: 16px;
    }
}

/* Opt-in uniform card media for image-only carousels (additive; no existing selector changed). */
.carousel__grid--fixed-ratio .carousel__image img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
    width: 100%;
    height: auto;
}

/* Bento gallery slides for image-only carousels (additive; no existing selector changed).
   Geometry from Figma 1012:2081 (desktop 1440) and 1019:2084 (mobile 375): one slide is a
   4-col x 3-row grid measuring 1276x646, columns 314/315/292/292, rows 194/215/193, gap 21.
   Mobile tiles are exactly 0.44x their desktop counterparts, so the slide stays 559px wide
   at a 375 viewport and the following slide peeks in — that is the design, not an overflow bug. */
.carousel__grid--bento {
    --bento-gap: 21px;
    --bento-slide-w: min(1276px, calc(100vw - 164px));
    padding-bottom: 68px;
    position: relative;
}

.carousel__grid--bento .carousel__card {
    width: var(--bento-slide-w);
}

.carousel__bento {
    aspect-ratio: 1276 / 646;
    display: grid;
    gap: var(--bento-gap);
    grid-template-columns: 314fr 315fr 292fr 292fr;
    grid-template-rows: 194fr 215fr 193fr;
    width: 100%;
}

/* Tile roles, in source order: big, two smalls, two talls, two wides. */
.carousel__bento > .carousel__item:nth-child(1) { grid-area: 1 / 1 / 3 / 3; }
.carousel__bento > .carousel__item:nth-child(2) { grid-area: 1 / 3 / 2 / 4; }
.carousel__bento > .carousel__item:nth-child(3) { grid-area: 1 / 4 / 2 / 5; }
.carousel__bento > .carousel__item:nth-child(4) { grid-area: 2 / 3 / 4 / 4; }
.carousel__bento > .carousel__item:nth-child(5) { grid-area: 2 / 4 / 4 / 5; }
.carousel__bento > .carousel__item:nth-child(6) { grid-area: 3 / 1 / 4 / 2; }
.carousel__bento > .carousel__item:nth-child(7) { grid-area: 3 / 2 / 4 / 3; }

.carousel__bento .carousel__item {
    background: none;
    border: 0;
    overflow: hidden;
}

.carousel__bento .carousel__image {
    height: 100%;
}

.carousel__bento .carousel__image img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

/* Control row from Figma frame 1010108312: full-width progress track, two 44x44 arrows right. */
.carousel__grid--bento .owl-dots {
    align-items: center;
    bottom: 20px;
    display: flex;
    left: 0;
    position: absolute;
    right: 138px;
    /* Clear the base .carousel__grid .owl-dots top:42px, otherwise this absolute box
       stretches from top 42 to bottom 20 and the bars park at the vertical centre.
       Kept here (not page-scoped) so the bento gallery is self-contained wherever it
       is used, e.g. the component catalog. */
    top: auto;
    width: auto;
}

@media screen and (min-width: 1024px) and (max-width: 1365px) {
    .carousel__grid--bento .owl-dots {
        right: 144px;
    }
}

@media screen and (max-width: 1023px) {
    .carousel__grid--bento .owl-dots {
        right: 152px;
    }
}

.carousel__grid--bento .owl-dots .owl-dot {
    background: #d8d8d8;
    border-radius: 0;
    flex: 1 1 0;
    height: 4px;
    margin: 0;
    padding: 0;
}

.carousel__grid--bento .owl-dots .owl-dot span {
    display: none;
}

.carousel__grid--bento .owl-dots .owl-dot.active {
    background: #142640;
    height: 6px;
}

.carousel__grid--bento .owl-nav {
    bottom: 0;
    display: flex;
    gap: 12px;
    margin: 0;
    position: absolute;
    right: 0;
}

.carousel__grid--bento .owl-nav button.owl-prev,
.carousel__grid--bento .owl-nav button.owl-next {
    align-items: center;
    background: #ffffff;
    border: 1px solid #142640;
    border-radius: 0;
    color: #142640;
    display: flex;
    height: 44px;
    justify-content: center;
    margin: 0;
    width: 44px;
}

.carousel__grid--bento .owl-nav button.owl-next {
    background: #142640;
    color: #ffffff;
}

.carousel__grid--bento .owl-nav button.disabled {
    opacity: .35;
}

@media screen and (max-width: 1179px) {
    .carousel__grid--bento {
        --bento-gap: 14px;
        --bento-slide-w: calc(100vw - 120px);
    }
}

@media screen and (max-width: 767px) {
    .carousel__grid--bento {
        --bento-gap: 9px;
        --bento-slide-w: 559px;
        padding-bottom: 56px;
    }

    .carousel__grid--bento .owl-dots {
        bottom: 16px;
    }

    .carousel__grid--bento .owl-nav button.owl-prev,
    .carousel__grid--bento .owl-nav button.owl-next {
        height: 40px;
        width: 40px;
    }
}

/* =====================================================================
   UGC carousel — "Why Guests Love Viking"
   Reusable guest-photo rail: a square photo tile above a caption panel,
   framed by a lead-in guest quote and a closing "see more" line. Owl
   drives the rail (arrows, segmented progress dots, drag); tiles are
   FIXED-WIDTH here (420px desktop / 297px mobile), so the init uses
   autoWidth + margin gutters — see window.initUgcCarousel in
   Scripts/V3/static-flex-components.js. Geometry from Figma why-viking
   frame 575-1886. Extracted from the inline styles that shipped on
   26-new-to-river-cruising-why-viking.html.

   BORDER: per Figma the 1px #CCCCCC stroke + #FFFFFF fill belong to the
   420x263 caption panel (Rectangle 505) ONLY, not the whole card. So the
   shared .carousel__item border is removed here and moved onto
   .carousel__content; the photo above stays unbordered.
   ===================================================================== */

.ftrc-ugc__quote {
    color: #333333;
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    margin: 0 auto;
    max-width: 1064px;
    text-align: center;
}

/* Figma sets this line as a left-aligned run on a 679 box centred in the frame. */
.ftrc-ugc__more {
    color: #333333;
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 21px;
    margin: 96px auto 0;
    max-width: 679px;
    text-align: left;
}

.carousel--ugc {
    margin-bottom: 0;
    padding: 0;
}

/* Fixed-width rail: four 420 cards, 16px gutters, first card inset 74px.
   Owl supersedes display/gap/overflow once .owl-loaded lands; the declarations
   here are the no-JS fallback rendering. */
.carousel__grid--ugc {
    box-sizing: border-box;
    display: flex;
    gap: 16px;
    grid-template-columns: none;
    margin-top: 32px;
    overflow-x: auto;
    padding: 1px 24px 1px 74px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.carousel__grid--ugc::-webkit-scrollbar {
    display: none;
}

.carousel__grid--ugc .carousel__card {
    flex: 0 0 420px;
    grid-column: auto;
    margin-right: 0;
    width: 420px;
}

/* Border fix: photo unbordered, caption panel carries the stroke + fill. */
.carousel__grid--ugc .carousel__item {
    background: transparent;
    border: 0;
}

.carousel__grid--ugc .carousel__image img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

/* Caption panel is 420x263 with a 20px inset (1px of that is its own border);
   runs sit at +20 / +62 / +122 / +182 / +206. */
.carousel__grid--ugc .carousel__content {
    background: #ffffff;
    border: 1px solid #cccccc;
    padding: 19px 19px 32px;
}

.ftrc-ugc__meta {
    color: #595959;
    display: flex;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 600;
    gap: 8px;
    line-height: 24px;
    margin: 0;
}

.ftrc-ugc__date {
    border-left: 1px solid #cccccc;
    padding-left: 10px;
    text-align: center;
}

.carousel__grid--ugc .ftrc-ugc__title {
    color: #000000;
    font-size: 21px;
    font-weight: 600;
    line-height: 30px;
    margin: 18px 0 0 0;
    min-height: 0;
}

.ftrc-ugc__cta {
    margin: 30px 0 0 0;
}

/* Figma sets this in Neue Frutiger World, which the site does not serve — it falls
   through to Open Sans. Size, weight, colour and the two-line wrap are on spec. */
.ftrc-ugc__cta a {
    color: #000000;
    font-family: "Neue Frutiger World", "Open Sans", sans-serif;
    display: block;
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    max-width: 130px;
}

.ftrc-ugc__ship {
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    margin: 12px 0 0 0;
}

.ftrc-ugc__ship-label {
    color: #595959;
    display: block;
}

.ftrc-ugc__ship-name {
    color: #333333;
    display: block;
}

@media screen and (max-width: 767px) {
    .ftrc-ugc__quote {
        color: #000000;
        font-size: 16px;
        line-height: 21px;
        max-width: 100%;
        text-align: left;
    }

    .ftrc-ugc__more {
        font-size: 16px;
        line-height: 21px;
        margin-top: 115px;
        max-width: 100%;
    }

    /* Mobile strip: 297 cards, 13px gutters, first card at x=16. */
    .carousel__grid--ugc {
        gap: 13px;
        margin-top: 24px;
        padding: 1px 16px 1px 16px;
    }

    .carousel__grid--ugc .carousel__card {
        flex: 0 0 297px;
        width: 297px;
    }

    .carousel__grid--ugc .carousel__content {
        padding: 15px 16px 28px;
    }

    .ftrc-ugc__meta {
        font-size: 13.2px;
        line-height: 17px;
    }

    .ftrc-ugc__date {
        text-align: left;
    }

    .carousel__grid--ugc .ftrc-ugc__title {
        font-size: 18px;
        line-height: 30px;
        margin-top: 16px;
    }

    .ftrc-ugc__cta {
        margin-top: 11px;
    }

    .ftrc-ugc__cta a {
        font-size: 14px;
        line-height: 19px;
        max-width: 100px;
    }

    .ftrc-ugc__ship {
        font-size: 14px;
        line-height: 19px;
        margin-top: 8px;
    }
}

/* ============================================================================
   Section subnav (.ftrc-hdr) — dark title band + horizontal tab strip that sits
   under the site header on the "New to River Cruising" set. Component:
   Views/_Headless/Components/StaticFlex/SectionSubnav.cshtml
   Init (active-tab centring/scroll): initSectionSubnav in
   Scripts/V3/static-flex-components.js
   Geometry from Figma nodes 575:1004 (desktop 1440) and 575:401 (mobile 375).
   ============================================================================ */

/* Sticky-subnav offset: distance from viewport top to sit below the global fixed
   #trd-header. These are pre-JS fallbacks per breakpoint; ftrcStickySubnav in
   Scripts/V3/static-flex-components.js measures the real header height at runtime
   (the benefits-banner is conditionally rendered, so the height is not constant). */
:root { --ftrc-hdr-offset: 186px; }
@media (max-width: 1279px) { :root { --ftrc-hdr-offset: 206px; } }
@media (max-width: 1023px) { :root { --ftrc-hdr-offset: 142px; } }
@media (max-width: 767px)  { :root { --ftrc-hdr-offset: 86px; } }

.ftrc-hdr__band {
    align-items: center;
    background: #142640;
    display: flex;
    height: 80px;
    justify-content: center;
}

.ftrc-hdr__title {
    color: #ffffff;
    font-family: "Adobe Garamond Pro", "adobe-garamond-pro", Garamond, serif;
    font-size: 36px;
    font-weight: 600;
    /* A global h1 rule tracks headings at .03em; Figma 575:1004 draws this title at 0. */
    letter-spacing: 0;
    line-height: 40px;
    margin: 0;
    text-align: center;
    text-transform: none;
}

/* The subnav is sticky, but position:sticky only travels within its parent's box, and
   the .ftrc-hdr wrapper is only as tall as the band + nav (~140px) — so without this the
   nav would un-stick after ~140px of scroll. display:contents dissolves the wrapper's box
   (it has no box styling of its own) so the nav's containing block becomes the tall section
   body (.region-landing) and it sticks for the whole page. The element stays in the DOM, so
   the `.ftrc-hdr .ftrc-hdr__tab` descendant rules below are unaffected. */
.ftrc-page .ftrc-hdr {
    display: contents;
}

.ftrc-hdr__nav {
    background: #ffffff;
}

.ftrc-page .ftrc-hdr__nav {
    position: sticky;
    top: var(--ftrc-hdr-offset, 186px);
    z-index: 998;
}

.ftrc-hdr__tabs {
    display: flex;
    gap: 16px;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ftrc-hdr__tabs > li {
    display: flex;
}

.ftrc-hdr__tab {
    align-items: center;
    color: #142640;
    display: flex;
    justify-content: center;
    text-align: center;
    font-family: "Open Sans", sans-serif;
    font-size: 15px;
    font-weight: 700;
    height: 60px;
    line-height: 20px;
    padding: 0 24px;
    text-decoration: none;
    white-space: nowrap;
}

.ftrc-hdr__tab:hover,
.ftrc-hdr__tab:focus {
    color: #142640;
    text-decoration: none;
}

.ftrc-hdr__tab--active {
    background: #456580;
    color: #ffffff;
}

.ftrc-hdr__tab--active:hover,
.ftrc-hdr__tab--active:focus {
    color: #ffffff;
}

/* iPad / tablet band. The centered desktop row (tabs sum ~753 + 48 gap) overflows the
   768px portrait viewport and, with overflow-x visible, clips the ends instead of
   degrading. The <=767 rules below only cover phones. So for 768-1023: tighten the gap
   and padding so the four tabs fit at iPad portrait, and let the nav scroll horizontally
   as a fallback. `safe center` keeps them centered when they fit but left-aligns them
   when they overflow, so the first tab is never scrolled off-screen and unreachable
   (plain `center` + overflow clips the start in Safari). */
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .ftrc-hdr__nav {
        -webkit-overflow-scrolling: touch;
        overflow-x: auto;
    }

    .ftrc-hdr__nav::-webkit-scrollbar {
        display: none;
    }

    .ftrc-hdr__tabs {
        gap: 8px;
        justify-content: safe center;
    }

    .ftrc-hdr__tab {
        border-bottom: 2px solid transparent;
        font-size: 14px;
        height: 44px;
        line-height: 20px;
        padding: 0 16px;
    }

    .ftrc-hdr__tab--active {
        background: transparent;
        border-bottom-color: #142640;
        color: #142640;
    }

    .ftrc-hdr__tab--active:hover,
    .ftrc-hdr__tab--active:focus {
        color: #142640;
    }

    .ftrc-hdr__tab--active {
        background: transparent;
        border-bottom-color: #142640;
        color: #142640;
    }

    .ftrc-hdr__tab--active:hover,
    .ftrc-hdr__tab--active:focus {
        color: #142640;
    }

    body.ftrc-page .carousel__heading {
        font-size: 36px;
        line-height: 40px;
    }
}

@media screen and (max-width: 767px) {
    .ftrc-hdr__band {
        height: 58px;
    }

    .ftrc-hdr__title {
        font-size: 24px;
        line-height: 28px;
    }

    .ftrc-hdr__nav {
        -webkit-overflow-scrolling: touch;
        overflow-x: auto;
    }

    .ftrc-hdr__nav::-webkit-scrollbar {
        display: none;
    }

    .ftrc-hdr__tabs {
        gap: 0;
        justify-content: flex-start;
        width: max-content;
    }

    .ftrc-hdr__tab {
        border-bottom: 2px solid transparent;
        font-size: 12px;
        height: 40px;
        line-height: 17px;
        padding: 0 12px;
    }

    .ftrc-hdr__tab--active {
        background: transparent;
        border-bottom-color: #142640;
        color: #142640;
    }

    .ftrc-hdr__tab--active:hover,
    .ftrc-hdr__tab--active:focus {
        color: #142640;
    }
}

/* Site-wide link styling underlines anchors inside #cruise-main-content; Figma shows none. */
.ftrc-hdr .ftrc-hdr__tab,
.ftrc-hdr .ftrc-hdr__tab:link,
.ftrc-hdr .ftrc-hdr__tab:visited,
.ftrc-hdr .ftrc-hdr__tab:hover,
.ftrc-hdr .ftrc-hdr__tab:focus,
.ftrc-hdr .ftrc-hdr__tab:active {
    text-decoration: none !important;
}

/* Guard the header title and active subnav tab to one line on desktop. Ryan sees the
   page-2 title wrap; not reproducible at 1024-1440 here, but a wrap can only come from a
   wider fallback-font glyph run, and there is always horizontal room at these widths.
   Desktop-only so mobile can still wrap the h1 as designed. Scoped to .ftrc-page so it
   only fires on the New-to-River-Cruising pages, matching the shipped rendering. */
@media screen and (min-width: 1024px) {
    .ftrc-page .ftrc-hdr__title,
    .ftrc-page .ftrc-hdr__tab {
        white-space: nowrap;
    }
}

.cruise-card__section {
    margin: 48px auto 45px;
    padding-left: 0;
    padding-right: 0;
}
.cruise-card__section--gutter {
    padding-left: 16px !important;
    padding-right: 16px !important;
}
.cruise-card__container {
    max-width: 1440px;
    margin: 0 auto;
    width: 100%;
}
.cruise-card__h1_with_subheading,
.cruise-card__h2_with_subheading {
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 40px;
    margin: 0;
    margin-bottom: 24px;
    text-align: center;
}
.cruise-card__h2--subheading {
    color: #000;
    text-align: center;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    margin: 0 auto 24px;
    width: calc(100% - 30px);
}

.cruise-card__center {
    text-align: center;
}
.cruise-card__button {
    background: #b10a32;
    border: none;
    color: #ffffff;
    display: inline-block;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 18px !important;
    height: auto;
    line-height: 24px;
    margin: 0 auto 12px auto;
    max-width: 206px;
    padding: 13px 0 !important;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
}
.cruise-card__button:active,
.cruise-card__button:focus,
.cruise-card__button:hover {
    color: #ffffff;
    background-color: #810724;
    border-color: #770722;
}
#row-cruises,
ul.cruise-card__section.row-cruises {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
    grid-gap: 2rem;
    grid-auto-rows: 1fr;
    margin-bottom: 0;
    padding: 0 16px 32px;
}
.cruise-card__section .day-overview {
  padding: 16px 0 0px;
}

.cruise-card__section .thumbnail {
  background-color: transparent;
  color: #FFF;
  border: none;
}

.cruise-card__section .thumbnail:hover a:not(.btn):not(.carousel-control) {
  color: #ffffff;
}

.cruise-card__section .thumbnail .caption {
  background-color: transparent;
  color: #FFF;
}

.cruise-card__section .thumbnail.background-gray {
  background-color: whitesmoke;
}

.cruise-card__section .thumbnail.background-gray .caption {
  background-color: whitesmoke;
  color: #333;
}

.cruise-card__section .thumbnail .caption-wrapper {
  position: absolute;
  bottom: 0;
  width: 100%;
  left: 0;
  right: 0;
  background-color: transparent;
  border: none;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(60%, rgba(43, 61, 82, 0.2)), to(#2b3d52));
  background: linear-gradient(transparent 40%, rgba(43, 61, 82, 0.2) 60%, #2b3d52 100%);
  color: #FFF;
  height: 100%;
}

.cruise-card__section a.thumbnail-anchor .thumbnail:hover .caption h3 {
  color: #FFF;
}

.cruise-card__section .thumbnail .caption.summary-title {
  display: table;
  padding: 0 14px;
  min-height: 60px;
  height: 60px;
  position: absolute;
  bottom: 0;
}

.cruise-card__section .thumbnail .caption.summary-title span.item-title {
  width: 100%;
  min-width: calc(100% - 38px);
  display: table-cell;
  height: 48px;
  vertical-align: middle;
}

.cruise-card__section .thumbnail .caption.summary-title .icon {
  height: 48px;
  display: table-cell;
  vertical-align: middle;
  padding-left: 16px;
}

.cruise-card__section .thumbnail .caption.summary-title h2 {
  width: 100%;
  text-transform: capitalize;
  padding-right: 0;
  font-size: 18px;
  display: table-cell;
  vertical-align: middle;
  font-family: "Open Sans", sans-serif;
}

.cruise-card__section .cruise-detail-ad-wrapper {
    background-color: #000000;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.cruise-card__section .cruise-detail-ad {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 100%;
    background: linear-gradient(to bottom, rgba(2,0,36,0) 45%, rgba(0,0,0,0.75) 68%, rgba(0,0,0,0.80) 100%);
}


.cruise-card__section .cruise-detail-ad__caption {
  bottom: 0;
  height: auto;
  padding: 24px 20px;
  position: absolute;
}

.cruise-card__section .cruise-detail-ad__title {
  color: #ffffff;
  font-family: "Open Sans", sans-serif;
  font-size: 26px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  margin-bottom: 8px;
  text-align: center;
}

.cruise-card__section .cruise-detail-ad__description {
  color: #ffffff;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  margin-bottom: 24px;
  text-align: center;
}

.cruise-card__section .cruise-detail-ad__button a {
  background: #b10a32;
  border: 1px solid #b10a32;
  color: #ffffff;
  display: inline-block;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  line-height: 24px;
  max-width: 100%;
  padding: 8px 15px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  vertical-align: top;
  width: 100%;
}

.cruise-card__section .cruise-detail-ad__button a:hover {
  background-color: #810724 !important;
  border: 1px solid #770722 !important;
  color: #ffffff !important;
}

@media screen and (max-width: 1180px) {
  .promotion-voyages__container {
    padding: 48px 64px;
  }
}

@media screen and (max-width: 767px) {
  .cruise-card__section .cruise-detail-ad__title {
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 8px;
  }
  .cruise-card__section .cruise-detail-ad__description {
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 16px;
  }
}

@media screen and (min-width: 768px) {
  .cruise-card__section .thumbnail .caption.summary-title h2 {
    font-size: 20px;
  }
}

@media screen and (min-width: 1366px) {
  .cruise-card__section .thumbnail .caption.summary-title h3 {
    font-size: 22px;
  }
}

.cruise-card__section a.thumbnail-anchor:hover {
  color: #333333;
}

.cruise-card__section .thumbnail-anchor:hover .thumbnail:before {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  height: 0;
  background-color: #FFF;
}

.cruise-card__section #viking-react-actions-container {
  border-top: 1px solid #333333;
  border-bottom: 1px solid #333333;
  background-color: #142640;
}

.cruise-card__section #viking-react-actions-container #viking-filters {
  display: table;
  width: 100%;
  max-width: 100%;
  padding: 4px 0;
}

.cruise-card__section #viking-react-actions-container #viking-filters .filter-block {
  margin: auto;
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown {
  padding: 0 10px 0 0;
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown {
    padding: 0 20px 0 0;
  }
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown.float-right {
  padding-right: 0;
  padding-bottom: 0;
  text-align: left;
}

@media screen and (min-width: 480px) {
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown.float-right {
    text-align: center;
  }
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown.float-right .btn-default {
  padding: 6px 0;
}

@media screen and (min-width: 768px) {
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown.float-right {
    text-align: right;
  }
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .dropdown-menu {
  width: 100%;
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .viking-scroll-fade {
  max-height: 304px;
  overflow-x: hidden;
  overflow-y: scroll !important;
  scrollbar-face-color: #cccccc;
  scrollbar-track-color: whitesmoke;
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .viking-scroll-fade::-webkit-scrollbar {
  width: 10px;
  z-index: 999;
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .viking-scroll-fade::-webkit-scrollbar-track {
  background: whitesmoke;
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .viking-scroll-fade::-webkit-scrollbar-thumb {
  background: #cccccc;
  height: 42px;
  width: 10px;
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .viking-scroll-fade::-webkit-scrollbar-thumb:hover {
  background: #aaa;
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn:active, .cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn.active, .cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn:focus {
  background-image: none;
  -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
  box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default {
  background: #142640;
  border: none;
  color: #FFF;
  text-transform: capitalize;
  font-size: 14px;
  padding: 6px 12px 6px 0;
  width: auto;
  height: 36px;
  text-align: center;
}

@media screen and (min-width: 480px) {
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default {
    font-size: 17px;
  }
}

@media screen and (min-width: 768px) {
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default {
    text-align: right;
  }
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default.disabled {
  color: #cccccc;
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default.dropdown-toggle {
  text-align: left;
  font-weight: 700;
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default.dropdown-toggle span, .cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default.dropdown-toggle .icon {
  display: table-cell;
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default .icon {
  padding-left: 8px;
  font-size: 13px;
  color: #cccccc;
  padding-top: 6px;
}

@media screen and (min-width: 768px) {
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default .icon {
    padding-left: 16px;
  }
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default[aria-expanded=true] .icon-chevrons:before {
  content: "\e601";
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default[aria-expanded=false] .icon-chevrons:before {
  content: "\e600";
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .dropdown-menu {
  padding: 0;
  margin: 5px 0 0;
  min-width: 190px;
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .dropdown-menu li {
  border-bottom: 1px solid #cccccc;
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .dropdown-menu li input {
  background: #FFF;
  color: #333333;
  width: 100%;
  border: none;
  padding: 10px 16px;
  min-width: 190px;
  border: 1px solid transparent;
}

.cruise-card__section #viking-react-actions-container #viking-filters .dropdown .dropdown-menu li input:hover {
  border-color: #456580;
  background-color: #456580;
  color: #FFF;
}

.cruise-card__section #viking-content-container {
  /*padding-top: 16px;*/
  padding: 16px 8px 0 8px;
}

.cruise-card__section .day-overview {
  padding: 0 0 16px 0;
}

.cruise-card__section .day-overview .caption {
  padding-top: 0;
}

.cruise-card__section .day-overview .caption h1 {
  margin-bottom: 8px;
}

.cruise-card__section .day-overview--padding {
  padding: 64px 0 0 0;
}

@media screen and (max-width: 767px) {
  .cruise-card__section .day-overview .caption h1 {
    font-size: 44px;
    line-height: 1;
  }

  #viking-content-container, #row-cruises, ul.cruise-card__section.row-cruises {
    grid-template-columns: repeat(auto-fill,minmax(25rem,1fr));
  }
}

.cruise-card__section .day-overview .caption p {
  font-size: 15px;
  line-height: 24px;
  max-width: 676px;
  margin-right: auto;
  margin-left: auto;
}

.cruise-card__section .mobile-description {
  margin-top: 16px;
}

.cruise-card__section .mobile-description.hidden-sm {
  display: block;
}

.cruise-card__section .mobile-description .day-overview .caption h1 {
  display: none;
}

.cruise-card__section .visible-description-sm .day-overview .caption h1 {
  font-size: 36px;
  margin-top: 16px;
  margin-bottom: 0;
}

.cruise-card__section .visible-description-sm .day-overview .caption p {
  padding-top: 16px;
  text-align: left;
}

.cruise-card__section .thumbnail .caption {
  width: 100%;
}

.cruise-card__section .thumbnail .caption .title {
  margin-top: 23px;
  height: 135px;
}

.cruise-card__section .thumbnail .caption .title > div {
    position: relative;
    top: 0;
    -webkit-transform: none;
    transform: none;
}

.cruise-card__section .thumbnail .caption .info .detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.cruise-card__section .thumbnail .caption .info .detail.flex-basis-100 .item-container {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  text-align: center;
}

.cruise-card__section .thumbnail .caption .info .detail .item {
  line-height: 1;
  text-align: center;
}

.cruise-card__section .thumbnail .caption .info .detail .item .value {
  display: block;
  margin-bottom: 0.35em;
}

.cruise-card__section .thumbnail .caption .cruise-direction {
    color: #333333;
    font-size: 16px;
    margin-top: 8px;
    margin-bottom: 10.5px;
    padding: 0;
    text-transform: none !important;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    line-height: 1.1;
    text-align: center;
}

.cruise-card__section .thumbnail .caption .cruise-description {
    color: #333333;
    font-size: 16px;
    margin-top: 8px;
    margin-bottom: 10.5px;
    padding: 0;
}

.cruise-card__section .thumbnail .caption .cruise-departures {
  color: #b10a32;
  font-size: 14px;
  line-height: 20px;
  margin: 0 auto;
  padding: 0;
  position: absolute;
  top: 108px;
  width: 100%;
  text-transform: uppercase !important;
  text-align: center;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  line-height: 1.1;
}

.cruise-card__section .thumbnail .caption .cruise-title {
  font-family: "Open Sans", sans-serif;
  color: #333333;
  text-transform: none;
  font-size: 21px;
  line-height: 24px;
  margin: 0;
  text-align: center;
}

.cruise-card__section .thumbnail .cruise-images {
  overflow: hidden;
  position: relative;
}

.cruise-card__section .thumbnail .cruise-callout {
    color: #ffffff;
    font-family: 'Open Sans', Arial, Helvetica, Sans-Serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 22px;
    left: 0;
    max-width: 240px;
    padding: 4px 12px;
    position: absolute;
    top: 0;
    width: auto;
    z-index: 1;
    text-align: left;
    text-transform: uppercase;
}
.cruise-card__section .thumbnail .cruise-callout.dark-red{
    background-color: #B10A32;
}

.cruise-card__section .thumbnail .cruise-images .thumbnail-img-toggle {
  position: absolute;
  bottom: 8px;
  right: 8px;
}

.cruise-card__section .thumbnail .cruise-images .thumbnail-img-toggle .minimalist-left-simpletooltip_container {
  position: static;
}

.cruise-card__section .thumbnail .cruise-images .thumbnail-img-toggle .icon {
  display: none;
  width: 30px;
  height: 30px;
  font-size: 20px;
  background: #FFF;
  color: #777;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  cursor: pointer;
  z-index: 777;
  position: relative;
}

.cruise-card__section .thumbnail .cruise-images .thumbnail-img-toggle .icon.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.cruise-card__section .thumbnail .cruise-images .thumbnail-img-toggle .icon:hover {
  background: #777;
  color: #FFF;
}

.cruise-card__section .thumbnail .caption hr {
    border: none;
    height: 1px;
    background-color: #cccccc;
}

.cruise-card__section .thumbnail .action-buttons {
  list-style-type: none;
  display: block;
  padding-left: 0;
  margin-bottom: 0;
}
.cruise-card__section .thumbnail .action-buttons li {
  margin: 0;
}


.cruise-card__section .thumbnail-action {
  border-top: 0 !important;
  padding: 4px 8px;
  width: 100%;
}

.cruise-card__section #row-cruises .thumbnail-action, 
.cruise-card__section .row-cruises .thumbnail-action, 
#row-cruises.cruise-card__section .thumbnail-action,
ul.cruise-card__section.row-cruises .thumbnail-action {
  border-top: 0 !important;
  float: left;
  padding: 4px 2px 4px 8px;
  width: 50%;
}

.cruise-card__section #row-cruises .thumbnail-action:last-child,
.cruise-card__section .row-cruises .thumbnail-action:last-child,
#row-cruises.cruise-card__section .thumbnail-action:last-child,
ul.cruise-card__section.row-cruises .thumbnail-action:last-child {
    padding: 4px 8px 4px 2px;
}

.cruise-card__section .thumbnail-action .icon {
  margin-top: -1px;
  margin-right: 3px;
}

.cruise-card__section .btn {
  padding: 8px !important;
}

.cruise-card__section .btn-more {
  border: 1px solid #777777;
  background: #777777;
  color: #fff;
}

.cruise-card__section .btn-red {
  background-color: #b10a32 !important;
  border: 1px solid #b10a32 !important;
  color: #fff;
}

.cruise-card__section .btn-red:hover {
  background-color: #810724 !important;
  border: 1px solid #770722 !important;
  color: #fff;
}

#region-content-container {
  background: whitesmoke;
  padding: 16px;
}

@media screen and (min-width: 768px) {
  #region-content-container {
    padding: 16px 60px;
  }
}

@media screen and (min-width: 1024px) {
  #region-content-container {
    padding: 16px 180px;
  }
}

#region-content-container h2 {
  font-family: adobe-garamond-pro,GaramondPro Regular,Garamond,EB Garamond,Times New Roman,Serif;
  font-size: 28px;
  margin-top: 1rem;
}

@media screen and (min-width: 768px) {
  #region-content-container h2 {
    margin-top: 1.5rem;
    font-size: 36px;
  }
}

#region-content-container .bullet-container {
  margin: 16px auto;
  display: table;
  width: 100%;
}

#region-content-container .bullet-container p {
  font-size: 15px;
  line-height: 24px;
}

#region-content-container .bullet-container ul {
  margin-top: 10.5px;
  -webkit-column-count: 1;
  column-count: 1;
}

@media screen and (min-width: 768px) {
  #region-content-container .bullet-container ul {
    -webkit-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 40px;
    column-gap: 40px;
    -moz-column-gap: 40px;
  }
}

#region-content-container .bullet-container ul > li {
  width: 100%;
  padding-left: 0;
  padding-right: 2rem;
  margin: 0;
  display: list-item;
  list-style-position: outside;
}

@media screen and (max-width: 1023px) {
  .cruise-card__section {
    margin-top: 0;
  }
  .cruise-card__section .day-overview {
    padding-top: 0;
  }
  .cruise-card__section .day-overview .caption {
    padding-left: 0;
  }
}

@media screen and (min-width: 768px) {
  .cruise-card__section .mobile-description.hidden-sm {
    display: none !important;
    margin: 0;
  }
  .cruise-card__section .visible-description-sm .day-overview .caption h1 {
    font-size: 44px;
    margin-bottom: 8px;
  }
  .cruise-card__section .visible-description-sm .day-overview .caption p {
    padding: 0;
    text-align: center;
  }
  .cruise-card__section #viking-react-actions-container #viking-filters .filter-block {
    max-width: 100%;
    margin: auto;
    padding: 0;
  }
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown {
    display: inline-block;
    padding: 2px 20px 2px 0;
  }
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown:first-child {
    min-width: 192px;
  }
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown.text-right {
    padding: 2px 0;
  }
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown.text-right:first-child {
    min-width: 0;
  }
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown .dropdown-menu {
    width: auto;
    border-top: none;
  }
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default {
    width: auto;
  }
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default.text-right {
    padding: 2px 12px 0 0;
  }
}

@media screen and (min-width: 1024px) {
  .cruise-card__section .visible-description-sm .day-overview .caption h1 {
    font-size: 47px;
  }
}

@media screen and (min-width: 1366px) {
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown .viking-scroll-fade {
    max-height: 304px;
  }
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default {
    font-size: 18px;
    padding: 6px 12px 6px 0;
  }
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default.text-right {
    padding: 6px 0;
  }
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown .btn-default .icon {
    margin-left: 20px;
    font-size: 14px;
    padding-top: 6px;
  }
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown .dropdown-menu {
    min-width: 204px;
  }
  .cruise-card__section #viking-react-actions-container #viking-filters .dropdown .dropdown-menu li input {
    min-width: 204px;
  }
}

.cruise-card__section .visible-description-sm .day-overview .caption h1.special-offers-title {
  color: #000;
  font-family: "adobe-garamond-pro","GaramondPro Regular",Garamond,"EB Garamond","Times New Roman",Serif;
  font-size: 44px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 48px;
  margin-top: 0;
  text-align: center;
}

@media screen and (max-width: 932px) and (max-height: 439px) {
  .cruise-card__section .visible-description-sm .day-overview .caption h1.special-offers-title {
    font-size: 44px;
    line-height: 48px;
    margin-top: 44px;
  }
}

@media screen and (max-width: 820px) {
  .cruise-card__section .visible-description-sm .day-overview .caption h1.special-offers-title {
    font-size: 44px;
    line-height: 48px;
    margin-top: 44px;
  }
}

@media screen and (max-width: 576px) {
  .cruise-card__section .visible-description-sm .day-overview .caption h1.special-offers-title {
    font-size: 30px;
    line-height: 34px;
    margin-bottom: 4px;
    margin-top: 0;
  }
}

/*# sourceMappingURL=destinations-page.css.map */


@media screen and (max-width: 1366px) {
    
}

@media screen and (max-width: 1280px) {}

@media screen and (max-width: 1180px) {
    .cruise-card__button {
        max-width: 202px;
    }
}

@media screen and (max-width: 1024px) {
    .cruise-card__section {
        margin: 32px auto 0;
    }
}

@media screen and (max-width: 950px) {
    .cruise-card__h1,
    .cruise-card__h2 {
        font-size: 32px;
        line-height: 36px;
        margin-bottom: 16px;
    }
    .cruise-card__h1_with_subheading,
    .cruise-card__h2_with_subheading {
        font-size: 32px;
        line-height: 36px;
        margin-bottom: 24px;
    }
    .cruise-card__h2--subheading {
        margin: 0 auto 20px;
    }
    #row-cruises,
    ul.cruise-card__section.row-cruises {
        margin: 0 auto;
        padding: 0 0 20px;
    }
    #row-cruises > div:last-child,
    ul.cruise-card__section.row-cruises > div:last-child {
        display: block;
    }
}

@media screen and (max-width: 820px) {
}

@media screen and (max-width: 768px) {
}

@media screen and (max-width: 767px) {
    .cruise-card__section {
        margin: 32px auto 0;
    }
    .cruise-card__h1,
    .cruise-card__h2 {
        font-size: 36px;
        line-height: 40px;
        margin-bottom: 12px;
    }
    .cruise-card__h1_with_subheading,
    .cruise-card__h2_with_subheading {
        font-size: 36px;
        line-height: 40px;
        margin: 0 auto 24px;
    }
    .cruise-card__h2--subheading {
        font-size: 16px;
        line-height: 24px;
        margin: 0 auto 24px;
        text-align: center;
        width: 100%;
    }
    .cruise-card__button {
      font-size: 15px !important;
      line-height: 24px;
      margin: 0 auto;
      max-width: 100%;
      padding: 8px 15px !important;
  }
    #row-cruises,
    ul.cruise-card__section.row-cruises {
        margin: 0 auto;
        padding: 0 0 20px;
    }
    #row-cruises > div:last-child,
    ul.cruise-card__section.row-cruises > div:last-child {
        display: block;
    }
}
/* Tooltip hidden by default */
.simpletooltip[aria-hidden="true"],
.minimalist-simpletooltip[aria-hidden="true"],
.minimalist-left-simpletooltip[aria-hidden="true"] {
    display: none;
}
/* position relative for containers */
.simpletooltip_container,
.minimalist-simpletooltip_container,
.minimalist-left-simpletooltip_container {
    position: relative;
    display: inline;
}

/* tooltip styles */
.simpletooltip,
.minimalist-simpletooltip,
.minimalist-left-simpletooltip {
    position: absolute;
    display: inline-block;
    z-index: 666;
    width: 10em;
    border-radius: .5em;
    background: rgba( 0, 0, 0, .9 );
    color: #eee;
    padding: .5em;
    text-align: left;
    line-height: 1.3;
    bottom: 0;
}
.simpletooltip,
.minimalist-simpletooltip {
    right: auto;
    left: 100%;
    margin-left: .5em;
}
.minimalist-left-simpletooltip {
    right: 100%;
    left: auto;
    margin-right: .9em;
}
/* used pseudo-element to make arrows */
.simpletooltip::before,
.minimalist-simpletooltip::before,
.minimalist-left-simpletooltip::before {
    content: '';
    speak: none;
    position: absolute;
    z-index: 666;
    width: 10px;
    height: 10px;
}
.simpletooltip::before,
.minimalist-simpletooltip::before {
    top: .5em;
    left: -10px;
    margin-left: -10px;
    border: 10px solid transparent;
    border-right: 10px solid rgba( 0, 0, 0, .9 );
}
.minimalist-left-simpletooltip::before {
    top: .5em;
    right: -10px;
    margin-right: -10px;
    border: 10px solid transparent;
    border-left: 10px solid rgba( 0, 0, 0, .9 )
}

/* it can be easily adapted in media-queries for tablets/mobile */

/* for this example: mobile */
/* @media (max-width: 44.375em) {

    .simpletooltip,
    .minimalist-simpletooltip,
    .minimalist-left-simpletooltip  {
        top: 100%;
        left: 50%;
        right: 0;
        margin: 0;
        margin-top: .7em;
        margin-left: -5em;
    }
    .simpletooltip::before,
    .minimalist-simpletooltip::before,
    .minimalist-left-simpletooltip::before  {
        top: -10px;
        right: auto;
        left: 50%;
        margin-left: -5px;
        margin-top: -10px;
        border: 10px solid transparent;
        border-bottom: 10px solid rgba( 0, 0, 0, .9 );
    }

} */

/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}
/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791}
.ftrc-page .static-flex__image-text--title {
    font-family: "Open Sans", sans-serif;
    font-size: 32px;
    font-weight: 400;
    line-height: 38px;
    text-align: left;
}

.ftrc-page .ftrc-section-title {
    color: #000000;
    font-family: "Open Sans", sans-serif;
    font-size: 36px;
    font-weight: 400;
    line-height: 40px;
    text-align: center;
}

.ftrc-page .copy-block__content h2 {
    color: #000000;
    font-size: 44px;
    line-height: 45px;
    text-align: center;
}

.ftrc-page .static-flex__image-text p,
.ftrc-page .copy-block__content p {
    color: #333333;
    font-family: "Open Sans", sans-serif;
}

.ftrc-page .copy-block__content p {
    font-size: 18px;
    line-height: 23px;
}

.ftrc-page--where-we-sail .copy-block__content p {
    font-size: 18px;
    line-height: 24px;
}

.ftrc-page--your-first-river-voyage .copy-block__content p {
    font-size: 20px;
    line-height: 26px;
}

.ftrc-page .static-flex__image-text p {
    font-size: 20px;
    line-height: 26px;
}

.ftrc-page--why-choose-viking .static-flex__image-text--title {
    font-size: 36px;
    line-height: 44px;
}

.ftrc-page--your-first-river-voyage .static-flex__image-text--title {
    font-size: 36px;
    line-height: 41px;
}

.ftrc-page--why-choose-viking .static-flex__image-text p,
.ftrc-page--why-choose-viking .copy-block__content p {
    font-size: 20px;
    line-height: 28px;
}

.ftrc-page .copy-block__content {
    max-width: 1173px;
}

.ftrc-page .copy-block__content p {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
}

.ftrc-page .carousel__grid--bento {
    display: flex;
    gap: var(--bento-gap);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
}

.ftrc-page .carousel__grid--bento .carousel__card {
    flex: 0 0 var(--bento-slide-w);
    scroll-snap-align: start;
    width: var(--bento-slide-w);
}

.ftrc-page .carousel__grid--bento {
    padding-left: 64px;
    scroll-padding-left: 64px;
}

@media screen and (max-width: 767px) {
    .ftrc-page .carousel__grid--bento {
        padding-left: 0;
        scroll-padding-left: 0;
    }
}

.ftrc-page .carousel__grid--bento .owl-dots {
    top: auto;
}

.ftrc-page .carousel__grid:not(.carousel__grid--bento) .owl-dots:not(.disabled) {
    display: flex;
    position: relative;
    top: 66px;
}

.ftrc-page .carousel__grid:not(.carousel__grid--bento) .owl-dots .owl-dot {
    flex: 1 1 0;
    height: 21px;
}

.ftrc-page .carousel__grid:not(.carousel__grid--bento) .owl-dots .owl-dot span {
    display: block;
}

.ftrc-page .carousel__grid--itin4 > .carousel__card {
    grid-column: span 12;
}

@media screen and (min-width: 768px) {
    .ftrc-page .carousel__grid--itin4 > .carousel__card {
        grid-column: span 6;
    }
}

@media screen and (min-width: 1024px) {
    .ftrc-page .carousel__grid--itin4 > .carousel__card {
        grid-column: span 3;
    }
}

@media screen and (min-width: 768px) {
    .ftrc-page .static-flex__hero--image--cropped {
        aspect-ratio: 4 / 1;
        height: auto;
        object-fit: cover;
        width: 100%;
    }
}

.ftrc-page .faq__intro {
    margin: 12px auto 25px;
    max-width: 777px;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
}

.ftrc-page .cruise-card__section .cruise-images img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.ftrc-page .faq__heading {
    border-bottom: 0;
    padding-bottom: 0;
    font-weight: 400;
}

.ftrc-page .faq__panel:first-of-type {
    border-top: 1px solid #CCCCCC;
}

.ftrc-page .tile-side-by-side-media-left__media--thumb-play,
.ftrc-page .tile-side-by-side-media-right__media--thumb-play {
    background: url(/Content/images/v3/video-play-thumb-lg.png) no-repeat -72px 0;
    border: none;
    width: 72px;
    height: 72px;
    margin: 0;
    position: absolute;
    top: initial;
    bottom: calc(50% - 36px);
    left: calc(50% - 36px);
    right: initial;
    pointer-events: none;
}

@media screen and (max-width: 767px) {
    .ftrc-page .static-flex__hero--image--cropped {
        aspect-ratio: 3 / 2;
        height: auto;
        object-fit: cover;
        width: 100%;
    }

    .ftrc-page .static-flex__image-text p,
    .ftrc-page .copy-block__content p {
        font-size: 16px;
        line-height: 21px;
    }

    .ftrc-page .static-flex__image-text--title {
        font-size: 26px;
        line-height: 31px;
    }

    .ftrc-page--your-first-river-voyage .static-flex__image-text--title {
        font-size: 32px;
        line-height: 38px;
    }

    .ftrc-page .static-flex__image-text p {
        font-size: 16px;
        line-height: 21px;
    }

    .ftrc-page .ftrc-section-title {
        font-size: 36px;
        line-height: 40px;
        text-align: left;
    }

    .ftrc-page .copy-block__content h2 {
        font-size: 32px;
        line-height: 37px;
    }

    .ftrc-page .copy-block__container {
        padding-left: 0;
        padding-right: 0;
        
    }

    .ftrc-page .copy-block__content {        
        text-align: left;
    }

    .ftrc-page--your-first-river-voyage .static-flex > .static-flex__section:nth-of-type(2) .copy-block__content {        
        text-align: center;
    }

    .ftrc-page--where-we-sail .copy-block__content {        
        text-align: center;
    }

    .ftrc-page .static-flex__image-text--content {
        padding-left: 0;
        padding-right: 0;
    }

    .ftrc-page .static-flex__image-text {
        display: flex;
        flex-direction: column;
    }

    .ftrc-page .static-flex__image-text--image {
        order: 1;
    }

    .ftrc-page .static-flex__image-text--content {
        order: 2;
        padding-top: 16px;
        padding-bottom: 24px;
    }

    .ftrc-page .faq__intro {
        text-align: left;
    }
}

.ftrc-page .static-flex__image-text {
    border: 0;
}

.ftrc-page .faq__panel--open .faq__lbl::after {
    content: "\e601";
}

.ftrc-page .benefits-banner {
    background: #fafafa;
    border-bottom: 1px solid #ccc;
    color: #142640;
    margin: 0 auto;
    max-width: 100%;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 100%;
    z-index: 8;
}

.ftrc-page .benefits-banner__container {
    display: flex;
    flex-direction: row;
    margin: 0 auto;
    max-width: 1440px;
    padding: 16px 55px;
    position: relative;
    width: 100%;
}

.ftrc-page .benefits-banner__container--col {
    width: 50%;
}

.ftrc-page .benefits-banner__icon {
    position: relative;
}

.ftrc-page .benefits-banner__icon svg {
    position: absolute;
}

.ftrc-page .benefits-banner__icon svg:last-child {
    left: 8px;
    top: 8px;
}

.ftrc-page .benefits-banner__text--left em {
    font-style: normal;
}

.ftrc-page .benefits-banner__text--left {
    color: #142640;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    margin: 4px 0 0 44px;
}

.ftrc-page .benefits-banner__text--right {
    color: #000000;
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
    margin-top: 4px;
    text-align: right;
}

.ftrc-page .benefits-banner__text--right a {
    color: #b10a32 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

@media screen and (max-width: 1023px) {
    .ftrc-page .benefits-banner__container {
        padding: 16px 24px;
    }

    .ftrc-page .benefits-banner__container--col:first-child {
        width: 75%;
    }

    .ftrc-page .benefits-banner__container--col:last-child {
        width: 25%;
    }

    .ftrc-page .benefits-banner__icon svg {
        height: 21px;
        width: 21px;
    }

    .ftrc-page .benefits-banner__icon svg:last-child {
        height: 13px;
        left: 4px;
        top: 4px;
        width: 13px;
    }

    .ftrc-page .benefits-banner__text--left {
        font-size: 13px;
        line-height: 21px;
        margin: 0 0 0 33px;
    }

    .ftrc-page .benefits-banner__text--right {
        font-size: 13px;
        line-height: 21px;
        margin-top: 0;
    }

}

@media screen and (max-width: 767px) {
    .ftrc-page .benefits-banner__container {
        display: block;
        padding: 8px 16px;
        text-align: center;
    }

    .ftrc-page .benefits-banner__container--col:first-child, .ftrc-page .benefits-banner__container--col:last-child {
        display: inline;
        width: auto;
    }

    .ftrc-page .benefits-banner__icon, .ftrc-page .benefits-banner__text--left em {
        display: none;
    }

    .ftrc-page .benefits-banner__text--left, .ftrc-page .benefits-banner__text--right {
        display: inline;
        font-size: 13px;
        line-height: 21px;
        margin: 0;
        text-align: center;
    }

    .ftrc-page .benefits-banner__text--left strong {
        font-weight: 400;
    }

    .ftrc-page .benefits-banner__text--left strong::after {
        content: ":";
    }

    .ftrc-page .benefits-banner__text--right span {
        display: none;
    }

    .ftrc-page .benefits-banner__text--right a {
        text-decoration: underline !important;
    }

}

.ftrc-page--about-river-cruising .ftrc-itin__heading {
    color: #000000;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 36px;
    font-weight: 400;
    letter-spacing: 0.36px;
    line-height: 40px;
    margin: 0 0 24px;
    text-align: center;
}

@media screen and (min-width: 1024px) {
    .ftrc-page--about-river-cruising .ftrc-itin {
        margin-top: -84px;
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .ftrc-page--about-river-cruising .ftrc-itin .carousel {
        margin-bottom: 0;
    }

}

@media screen and (max-width: 1023px) {
    .ftrc-page--about-river-cruising .ftrc-itin .carousel {
        margin-bottom: 0;
    }

    .ftrc-page--about-river-cruising .ftrc-itin {
        padding-bottom: 16px;
    }

    .ftrc-page--about-river-cruising .static-flex__section:not(.ftrc-itin) .carousel {
        margin-bottom: 41px;
    }

}

@media screen and (min-width: 1024px) {
    .ftrc-page--about-river-cruising .copy-block__content p {
        max-width: 1141px;
        width: 100%;
    }

}

@media screen and (min-width: 1181px) {
    .ftrc-page--about-river-cruising .static-flex__image-text--content {
        padding-left: 132px;
        padding-right: 71px;
    }

    .ftrc-page--about-river-cruising .static-flex__image-text--reverse .static-flex__image-text--content {
        padding-left: 72px;
        padding-right: 131px;
    }

}

@media screen and (max-width: 767px) {
    .ftrc-page--about-river-cruising .static-flex__image-text--image {
        order: 1;
    }

    .ftrc-page--about-river-cruising .static-flex__image-text--content {
        order: 2;
        padding-bottom: 32px;
        padding-top: 16px;
    }

    .ftrc-page--about-river-cruising .ftrc-itin {
        padding-top: 27px;
    }

}

/* ==== why-choose-viking ==== */

@media screen and (min-width: 1024px) {
    .ftrc-page--why-choose-viking .static-flex__section:has(.ftrc-itin-carousel), .ftrc-page--why-choose-viking .ftrc-itin-carousel {
        margin-bottom: 80px;
    }

    .ftrc-page--why-choose-viking .ftrc-itin-carousel .cruise-card__section {
        padding-bottom: 0;
    }

}

@media screen and (max-width: 1023px) {
    .ftrc-page--why-choose-viking .ftrc-itin-carousel {
        margin-bottom: 31px;
    }

    .ftrc-page--why-choose-viking .ftrc-itin-carousel .cruise-card__section {
        padding-bottom: 0;
    }

}

.ftrc-page--why-choose-viking .ftrc-section-copy {
    color: #333333;
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 23px;
    margin: 0 auto;
    max-width: 1104px;
    text-align: center;
}

body.ftrc-page--why-choose-viking .static-flex__image-text p.ftrc-cta-link {
    color: #B10A32;
}

body.ftrc-page--why-choose-viking .copy-block__content p {
    font-size: 18px;
    line-height: 23px;
}

.ftrc-page--why-choose-viking .ftrc-band {
    display: block;
    height: auto;
    margin: 24px auto 0;
    max-width: 1381px;
    width: 100%;
}

/* --- Why Guests Love Viking ------------------------------------- */
.ftrc-page--why-choose-viking .ftrc-ugc__quote {
    color: #333333;
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    margin: 0 auto;
    max-width: 1064px;
    text-align: center;
}

.ftrc-page--why-choose-viking .ftrc-ugc__more {
    color: #333333;
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 21px;
    margin: 96px auto 0;
    max-width: 679px;
    text-align: left;
}

.ftrc-page--why-choose-viking .carousel--ugc {
    margin-bottom: 0;
    padding: 0;
}

.ftrc-page--why-choose-viking .carousel__grid--ugc {
    display: flex;
    gap: 16px;
    grid-template-columns: none;
    margin-top: 32px;
    overflow-x: auto;
    padding: 1px 24px 1px 74px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.ftrc-page--why-choose-viking .carousel__grid--ugc::-webkit-scrollbar {
    display: none;
}

.ftrc-page--why-choose-viking .carousel__grid--ugc .carousel__card {
    flex: 0 0 420px;
    grid-column: auto;
    margin-right: 0;
    width: 420px;
}

.ftrc-page--why-choose-viking .carousel__grid--ugc .carousel__image img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.ftrc-page--why-choose-viking .carousel__grid--ugc .carousel__content {
    padding: 19px 19px 32px;
}

.ftrc-page--why-choose-viking .ftrc-ugc__meta {
    color: #595959;
    display: flex;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    gap: 8px;
    line-height: 24px;
    margin: 0;
}

.ftrc-page--why-choose-viking .ftrc-ugc__date {
    border-left: 1px solid #cccccc;
    padding-left: 10px;
    text-align: center;
}

.ftrc-page--why-choose-viking .ftrc-ugc__title {
    color: #000000;
    font-size: 21px !important;
    font-weight: 400;
    line-height: 30px;
    margin: 18px 0 0 0 !important;
    min-height: 0;
}

.ftrc-page--why-choose-viking .ftrc-ugc__cta {
    margin: 30px 0 0 0;
}

.ftrc-page--why-choose-viking .ftrc-ugc__cta a {
    color: #000000;
    font-family: "Neue Frutiger World", "Open Sans", sans-serif;
    display: block;
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    max-width: 130px;
}

.ftrc-page--why-choose-viking .ftrc-ugc__ship {
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    margin: 12px 0 0 0;
}

.ftrc-page--why-choose-viking .ftrc-ugc__ship-label {
    color: #595959;
    display: block;
}

.ftrc-page--why-choose-viking .ftrc-ugc__ship-name {
    color: #333333;
    display: block;
}

@media screen and (min-width: 768px) {
    .ftrc-page .ftrc-hdr__title {
        font-size: 28px;
        line-height: 40px;
    }

    .ftrc-hdr__band {
        height: 60px;
    }

    .ftrc-page--why-choose-viking .static-flex__hero--image--cropped {
        aspect-ratio: 4 / 1;
        height: auto;
        object-fit: cover;
        width: 100%;
    }

    .ftrc-page--why-choose-viking .static-flex__section:has(.static-flex__image-text) {
        margin-bottom: 70px;
    }

    body.ftrc-page--why-choose-viking .copy-block__content {
        max-width: 1137px;
    }

    .ftrc-page--why-choose-viking .static-flex__image-text {
        grid-template-columns: 759fr 553fr;
        max-width: 1312px;
    }

    .ftrc-page--why-choose-viking .static-flex__image-text--content {
        padding: 36px 0 36px 64px;
    }

    .ftrc-page--why-choose-viking .static-flex__image-text--reverse {
        grid-template-columns: 553fr 759fr;
    }

    .ftrc-page--why-choose-viking .static-flex__image-text--reverse .static-flex__image-text--content {
        padding: 36px 64px 36px 0;
    }

    body.ftrc-page--why-choose-viking .copy-block__content p {
        font-size: 16px;
        line-height: 22px;
    }
}

@media screen and (min-width: 1024px) {
    body.ftrc-page .ftrc-hdr__title {
        font-size: 36px;
        line-height: 40px;
    }

    .ftrc-hdr__band {
        height: 80px;
    }
}

@media screen and (max-width: 767px) {
    body.ftrc-page .ftrc-hdr__title {
        font-size: 24px;
        line-height: 40px;
    }

    body.ftrc-page--why-choose-viking .static-flex__image-text--image {
        order: 1;
    }

    body.ftrc-page--why-choose-viking .static-flex__image-text--content {
        order: 2;
        padding-bottom: 0;
        padding-top: 16px;
    }

    .ftrc-page--why-choose-viking .static-flex__section:has(.static-flex__image-text) {
        margin-bottom: 17px;
    }

    .ftrc-page--why-choose-viking .static-flex__image-text .static-flex__section--image-cropped {
        aspect-ratio: 3 / 2;
        height: auto;
        object-fit: cover;
        width: 100%;
    }

    .ftrc-page--why-choose-viking .ftrc-section-copy {
        font-size: 16px;
        line-height: 21px;
        max-width: 100%;
        text-align: left;
    }

    body.ftrc-page--why-choose-viking .copy-block__content p {
        font-size: 16px;
        line-height: 21px;
    }

    body.ftrc-page--why-choose-viking h2.ftrc-ugc__heading {
        color: #142640;
        line-height: 41px;
    }

    .ftrc-page--why-choose-viking .ftrc-ugc__quote {
        color: #000000;
        font-size: 16px;
        line-height: 21px;
        max-width: 100%;
        text-align: left;
    }

    .ftrc-page--why-choose-viking .ftrc-ugc__more {
        font-size: 16px;
        line-height: 21px;
        margin-top: 115px;
        max-width: 100%;
    }

    .ftrc-page--why-choose-viking .carousel__grid--ugc {
        gap: 13px;
        margin-top: 24px;
        padding: 1px 16px 1px 16px;
    }

    .ftrc-page--why-choose-viking .carousel__grid--ugc .carousel__card {
        flex: 0 0 297px;
        width: 297px;
    }

    .ftrc-page--why-choose-viking .carousel__grid--ugc .carousel__content {
        padding: 15px 16px 28px;
    }

    .ftrc-page--why-choose-viking .ftrc-ugc__meta {
        font-size: 13.2px;
        line-height: 17px;
    }

    .ftrc-page--why-choose-viking .ftrc-ugc__date {
        text-align: left;
    }

    .ftrc-page--why-choose-viking .ftrc-ugc__title {
        font-size: 18px !important;
        line-height: 30px;
        margin-top: 16px !important;
    }

    .ftrc-page--why-choose-viking .ftrc-ugc__cta {
        margin-top: 11px;
    }

    .ftrc-page--why-choose-viking .ftrc-ugc__cta a {
        font-size: 14px;
        line-height: 19px;
        max-width: 100px;
    }

    .ftrc-page--why-choose-viking .ftrc-ugc__ship {
        font-size: 14px;
        line-height: 19px;
        margin-top: 8px;
    }

}

.ftrc-page--why-choose-viking .wv-cruise-row {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
    grid-gap: 2rem;
    grid-auto-rows: 1fr;
    margin-top: 24px;
    margin-bottom: 0;
    padding: 0 16px 32px;
}

.ftrc-page--why-choose-viking .wv-cruise-row .thumbnail-action {
    border-top: 0 !important;
    float: left;
    padding: 4px 2px 4px 8px;
    width: 50%;
}

.ftrc-page--why-choose-viking .wv-cruise-row .thumbnail-action:last-child {
    padding: 4px 8px 4px 2px;
}

@media screen and (max-width: 767px) {
    .ftrc-page--why-choose-viking .wv-cruise-row {
        margin-top: 32px;
        grid-template-columns: minmax(0, 1fr);
    }

}

.ftrc-page--where-we-sail .wws-regions__rule {
    border: 0;
    border-top: 1px solid #ccc;
    margin: 0 auto 31px;
    max-width: 343px;
}

.ftrc-page--where-we-sail .wws-regions__grid,
.ftrc-page--where-we-sail .static-flex__col-2 {
    display: grid;
    gap: 32px;
    grid-template-columns: minmax(0, 1fr);
    list-style: none;
    margin: 0 auto;
    max-width: 351px;
    padding: 0;
}

.ftrc-page--where-we-sail .wws-regions__name {
    color: #000000;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 26px;
    font-weight: 400;
    line-height: 31px;
    margin: 0 0 12px;
    text-align: center;
}

.ftrc-page--where-we-sail .wws-regions__tile {
    display: block;
    position: relative;
}

.ftrc-page--where-we-sail .wws-regions__tile img {
    aspect-ratio: 2 / 1;
    display: block;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.ftrc-page--where-we-sail .wws-regions__btn {
    align-items: center;
    background: #142640;
    color: #FFFFFF !important;
    display: flex;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    height: 48px;
    justify-content: center;
    left: 50%;
    line-height: 19px;
    position: absolute;
    text-align: center;
    text-decoration: none !important;
    /* Keep presentational casing out of the authored label. */
    text-transform: uppercase;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 254px;
}

.ftrc-page--where-we-sail .wws-regions__btn, .ftrc-page--where-we-sail .wws-map__cta {
    letter-spacing: 0;
}

.ftrc-page--where-we-sail .wws-regions__btn:hover, .ftrc-page--where-we-sail .wws-regions__btn:focus {
    background: #456580;
    color: #FFFFFF !important;
}

@media screen and (min-width: 768px) {
    .ftrc-page--where-we-sail .wws-regions__rule {
        margin-bottom: 56px;
        max-width: 1216px;
    }

    .ftrc-page--where-we-sail .wws-regions__grid,
    .ftrc-page--where-we-sail .static-flex__col-2 {
        gap: 40px 16px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 1264px;
    }

    .ftrc-page--where-we-sail .wws-regions__name {
        font-size: 24px;
        line-height: 22px;
    }

    .ftrc-page--where-we-sail .wws-regions__tile img {
        aspect-ratio: 2 / 1;
        height: auto;
    }

    .ftrc-page--where-we-sail .wws-regions__btn {
        font-size: 13px;
        height: 39px;
        line-height: 14px;
        text-align: left;
        width: 202px;
    }
}

@media screen and (min-width: 1024px) {
    .ftrc-page--where-we-sail .wws-regions__name {
        font-size: 32px;
        line-height: 38px;
    }

    .ftrc-page--where-we-sail .wws-regions__btn {
        font-size: 18px;
        height: 56px;
        line-height: 24px;
        text-align: left;
        width: 278px;
    }

    .ftrc-page .tile-side-by-side-media-right__cta, 
    .ftrc-page .tile-side-by-side-media-left__cta {
        font-size: 18px;
    }
}

.ftrc-page--where-we-sail .wws-cta.btn.btn-red {
    align-items: center;
    border-radius: 0;
    display: flex;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    height: 40px;
    justify-content: center;
    line-height: 24px;
    margin-top: 16px;
    max-width: 343px;
    padding: 0 8px;
    text-align: center;
    text-transform: none;
    white-space: nowrap;
    width: 100%;
}

.ftrc-page--where-we-sail .wws-cta.btn.btn-red {
    letter-spacing: 0.8px;
}

.ftrc-page--where-we-sail .seasonal .wws-map__copy .copy-block__content h2 {
    color: #000000 !important;
    font-family: "Open Sans", Arial, sans-serif !important;
    font-size: 36px !important;
    font-weight: 400;
    line-height: 37px;
    margin: 0 auto 12px;
    text-align: center;
}

.ftrc-page--where-we-sail .seasonal .wws-map__copy .copy-block__content p {
    color: #333333;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    margin: 0 auto 16px;
    text-align: center;
}

.ftrc-page--where-we-sail .wws-video {
    position: relative;
}

.ftrc-page--where-we-sail .wws-map__image {
    margin: 0 auto;
    max-width: 353px;
    position: relative;
}

.ftrc-page--where-we-sail .wws-map__image > img {
    display: block;
    height: 350px;
    object-fit: cover;
    width: 100%;
}

.ftrc-page--where-we-sail .seasonal .copy-block__content h2 {
    color: #333333 !important;
}

.ftrc-page--where-we-sail h2.static-flex__text-center {
    color: #000000;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 32px;
    font-weight: 400;
    line-height: 37px;
    margin: 0 auto 8px;
    text-align: center;
}

.ftrc-page--where-we-sail .wws-map__cta {
    align-items: center;
    background: #142640;
    color: #FFFFFF !important;
    display: flex;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    height: 48px;
    justify-content: center;
    left: 50%;
    line-height: 19px;
    position: absolute;
    text-align: center;
    text-decoration: none !important;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 254px;
}

.ftrc-page--where-we-sail .wws-map__cta:hover, .ftrc-page--where-we-sail .wws-map__cta:focus {
    background: #456580;
    color: #FFFFFF !important;
}

.ftrc-page--where-we-sail .wws-play {
    background: url(/Content/images/v3/video-play-thumb-lg.png) no-repeat 100% 0;
    background-size: 200% 100%;
    border: none;
    height: 60px;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
}

.ftrc-page--where-we-sail .wws-itineraries__lede {
    color: #333333;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 21px;
    margin: 0 auto 24px;
    max-width: 343px;
    text-align: left;
}

.ftrc-page--where-we-sail .wws-itineraries.carousel {
    margin-bottom: 32px;
    padding: 0;
}

@media screen and (min-width: 1024px) {
    .ftrc-page--where-we-sail .wws-itineraries.carousel {
        margin-bottom: 64px;
    }

}

@media screen and (min-width: 768px) {
    .ftrc-page--where-we-sail .wws-cta.btn.btn-red {
        font-size: 18px;
        height: 50px;
        margin-top: 20px;
        max-width: 334px;
    }

    .ftrc-page--where-we-sail .wws-cta--wide.btn.btn-red {
        max-width: 364px;
    }

    .ftrc-page--where-we-sail .wws-map__cta {
        font-size: 18px;
        height: 50px;
        line-height: 24px;
        width: 296px;
    }

    .ftrc-page--where-we-sail .wws-play {
        height: 80px;
        width: 80px;
    }

    .ftrc-page--where-we-sail .wws-itineraries__lede {
        font-size: 18px;
        max-width: 995px;
    }

    .ftrc-page--where-we-sail .seasonal .wws-map__copy .copy-block__content h2 {
        line-height: 48px;
        margin-bottom: 12px;
    }

    .ftrc-page--where-we-sail .seasonal .wws-map__copy .copy-block__content p {
        font-size: 18px !important;
        line-height: 24px;
        margin-bottom: 24px;
        max-width: 830px;
    }

    .ftrc-page--where-we-sail .wws-map__image {
        max-width: 1400px;
    }

    .ftrc-page--where-we-sail h2.static-flex__text-center {
        font-size: 36px;
        line-height: 40px;
        margin-bottom: 12px;
    }

}

.ftrc-page--where-we-sail .static-flex__image-text--image img {
    aspect-ratio: 3 / 2;
    height: auto;
    object-fit: cover;
    width: 100%;
}

@media screen and (max-width: 767px) {
    .ftrc-page--where-we-sail .seasonal .static-flex__image-text--image {
        order: 1;
    }

    .ftrc-page--where-we-sail .seasonal .static-flex__image-text--content {
        order: 2;
        padding-bottom: 0;
        padding-top: 16px;
    }

}

@media screen and (min-width: 768px) {
    .ftrc-page--where-we-sail .wws-intro .copy-block__content p {
        margin-left: auto;
        margin-right: auto;
        max-width: 1118px;
        width: 100%;
    }

    .ftrc-page .faq__desc {
        font-size: 18px;
        line-height: 23px;
    }
}

@media screen and (min-width: 1181px) {
    .ftrc-page--where-we-sail .seasonal .static-flex__section:has(.static-flex__image-text), .ftrc-page--where-we-sail .seasonal .static-flex__section:has(.wws-map__image) {
        margin-bottom: 72px;
    }

    .ftrc-page--where-we-sail .static-flex__image-text--reverse .static-flex__image-text--content {
        padding: 36px 121px 36px 63px;
    }

    .ftrc-page--where-we-sail .static-flex__image-text:not(.static-flex__image-text--reverse) .static-flex__image-text--content {
        padding: 36px 76px 36px 108px;
    }

}

.ftrc-page--where-we-sail .wws-cruise-row {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
    grid-gap: 2rem;
    grid-auto-rows: 1fr;
    margin-top: 24px;
    margin-bottom: 0;
    padding: 0 16px 32px;
}

.ftrc-page--where-we-sail .wws-cruise-row .thumbnail-action {
    border-top: 0 !important;
    float: left;
    padding: 4px 2px 4px 8px;
    width: 50%;
}

.ftrc-page--where-we-sail .wws-cruise-row .thumbnail-action:last-child {
    padding: 4px 8px 4px 2px;
}

@media screen and (max-width: 767px) {
    .ftrc-page--where-we-sail .wws-cruise-row {
        margin-top: 32px;
        grid-template-columns: minmax(0, 1fr);
    }

}

.ftrc-page--your-first-river-voyage .fv-voyages {
    margin-bottom: 0;
}

.ftrc-page--your-first-river-voyage .fv-copy {
    max-width: 1112px;
    margin: 0 auto;
    text-align: center;
}

.ftrc-page--your-first-river-voyage .copy-block.fv-copy .copy-block__content h2 {
    font-family: "adobe-garamond-pro", "Adobe Garamond Pro", Georgia, serif;
    font-weight: 400;
    font-size: 44px;
    line-height: 45px;
    color: #333333;
    text-align: center;
    margin: 59px 0 0;
}

.ftrc-page--your-first-river-voyage .copy-block.fv-copy .copy-block__content p {
    font-family: "Open Sans", Arial, sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    color: #333333;
    text-align: center;
    max-width: 873px;
    margin: 16px auto 0;
}

.ftrc-page--your-first-river-voyage .fv-rule {
    max-width: 1216px;
    margin: 48px auto 0;
    border: 0;
    border-top: 1px solid #d8d8d8;
}

.ftrc-page--your-first-river-voyage .fv-group {
    margin-top: 52px;
    margin-bottom: 0;
}

.ftrc-page--your-first-river-voyage .fv-group + .fv-group {
    margin-top: 64px;
}

.ftrc-page--your-first-river-voyage .fv-group__title {
    font-family: "Open Sans", Arial, sans-serif;
    font-weight: 400;
    font-size: 36px;
    line-height: 41px;
    color: #000000;
    text-align: left;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
}

.ftrc-page--your-first-river-voyage .fv-group__title--centered {
    text-align: center;
}

.ftrc-page--your-first-river-voyage .fv-group__intro {
    font-family: "Open Sans", Arial, sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 26px;
    color: #333333;
    text-align: center;
    max-width: 1112px;
    margin: 16px auto 0;
}

.ftrc-page--your-first-river-voyage .fv-grid-wrap {
    max-width: 1362px;
    margin: 0 auto;
}

.ftrc-page--your-first-river-voyage .fv-grid-wrap .carousel {
    margin-bottom: 0;
    padding: 0;
}

.ftrc-page--your-first-river-voyage .fv-cruise-row {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
    grid-gap: 2rem;
    grid-auto-rows: 1fr;
    margin-top: 24px;
    margin-bottom: 0;
    padding: 0 16px 32px;
}

.ftrc-page--your-first-river-voyage .fv-cruise-row .thumbnail-action {
    border-top: 0 !important;
    float: left;
    padding: 4px 2px 4px 8px;
    width: 50%;
}

.ftrc-page--your-first-river-voyage .fv-cruise-row .thumbnail-action:last-child {
    padding: 4px 8px 4px 2px;
}

@media screen and (max-width: 767px) {
    .ftrc-page--your-first-river-voyage .copy-block.fv-copy .copy-block__content h2 {
        font-size: 32px;
        line-height: 38px;
        margin-top: 23px;
    }

    .ftrc-page--your-first-river-voyage .copy-block.fv-copy .copy-block__content p {
        font-size: 16px;
        line-height: 21px;
        max-width: none;
    }

    .ftrc-page--your-first-river-voyage .fv-rule {
        margin-top: 32px;
    }

    .ftrc-page--your-first-river-voyage .fv-group, .ftrc-page--your-first-river-voyage .fv-group + .fv-group {
        margin-top: 32px;
    }

    .ftrc-page--your-first-river-voyage .fv-group__title, .ftrc-page--your-first-river-voyage .fv-group__title--centered {
        font-size: 32px;
        line-height: 38px;
        text-align: left;
        width: auto;
        margin-left: 0;
        margin-right: 0;
    }

    .ftrc-page--your-first-river-voyage .fv-group__intro {
        font-size: 16px;
        line-height: 21px;
        text-align: left;
        margin-top: 12px;
    }

    .ftrc-page--your-first-river-voyage .fv-grid-wrap {
        padding: 0 4px;
    }

    .ftrc-page--your-first-river-voyage .fv-cruise-row {
        margin-top: 32px;
        grid-template-columns: minmax(0, 1fr);
    }

}

.ftrc-page .tile-side-by-side-media-right__heading,
.ftrc-page .tile-side-by-side-media-left__heading {
    font-size: 26px;
    font-weight: 400;
    line-height: 31px;
}

.ftrc-page .tile-side-by-side-media-right__text,
.ftrc-page .tile-side-by-side-media-left__text,
.ftrc-page .tile-side-by-side-media-right p,
.ftrc-page .tile-side-by-side-media-left p {
    font-weight: 400;
}

@media screen and (min-width: 768px) {
    .ftrc-page .tile-side-by-side-media-right__heading,
    .ftrc-page .tile-side-by-side-media-left__heading {
        font-size: 26px;
        line-height: 31px;
    }

    .ftrc-page--why-choose-viking .tile-side-by-side-media-right__heading,
    .ftrc-page--why-choose-viking .tile-side-by-side-media-left__heading {
        font-size: 26px;
        line-height: 31px;
    }

    .ftrc-page--where-we-sail .tile-side-by-side-media-right__heading,
    .ftrc-page--where-we-sail .tile-side-by-side-media-left__heading {
        font-size: 24px;
        line-height: 29px;
    }

    .ftrc-page .tile-side-by-side-media-left p,
    .ftrc-page .tile-side-by-side-media-right p {
        font-size: 16px;
        line-height: 21px;
    }

    .ftrc-page .tile-side-by-side-media__toggle {
        font-size: 16px;
        line-height: 20px;
    }

    .ftrc-page .tile-side-by-side-media-left__media--card:hover .tile-side-by-side-media-left__media--thumb-play,
    .ftrc-page .tile-side-by-side-media-right__media--card:hover .tile-side-by-side-media-right__media--thumb-play {
        background-position: 0 0;
    }

    .ftrc-page .tile-side-by-side-media-left__text a,
    .ftrc-page .tile-side-by-side-media-left p a,
    .ftrc-page .tile-side-by-side-media-right__text a,
    .ftrc-page .tile-side-by-side-media-right p a {
        display: block;
        padding-top: 12px;
    }
}

@media screen and (min-width: 1024px) {
    .ftrc-page .tile-side-by-side-media-right__heading,
    .ftrc-page .tile-side-by-side-media-left__heading {
        font-size: 32px;
        line-height: 38px;
    }

    .ftrc-page--why-choose-viking .tile-side-by-side-media-right__heading,
    .ftrc-page--why-choose-viking .tile-side-by-side-media-left__heading {
        font-size: 36px;
        line-height: 44px;
    }

    .ftrc-page .tile-side-by-side-media-left__text,
    .ftrc-page .tile-side-by-side-media-left p,
    .ftrc-page .tile-side-by-side-media-right__text,
    .ftrc-page .tile-side-by-side-media-right p {
        font-size: 20px;
        line-height: 26px;
    }

    .ftrc-page .tile-side-by-side-media__toggle {
        font-size: 20px;
        line-height: 28px;
    }

    .ftrc-page .tile-side-by-side-media-left__media--card:hover .tile-side-by-side-media-left__media--thumb-play,
    .ftrc-page .tile-side-by-side-media-right__media--card:hover .tile-side-by-side-media-right__media--thumb-play {
        background-position: 0 0;
    }

    .ftrc-page .tile-side-by-side-media-left__text a,
    .ftrc-page .tile-side-by-side-media-left p a,
    .ftrc-page .tile-side-by-side-media-right__text a,
    .ftrc-page .tile-side-by-side-media-right p a {
        display: block;
        padding-top: 20px;
    }
}

.ftrc-page .carousel__item--asset-missing img {
    visibility: hidden;
}

.ftrc-page .carousel__item--asset-missing {
    background-color: #e9e7e2;
}

.ftrc-page .ftrc-hdr__title {
    font-weight: 400;
}

.ftrc-page .carousel__bento--partial {
    aspect-ratio: auto;
    grid-template-columns: repeat(auto-fit, minmax(292px, 1fr));
    grid-template-rows: auto;
}

@media screen and (max-width: 1023px) {
    .ftrc-page .carousel__bento--partial {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.ftrc-page .carousel__bento--partial > .carousel__item:nth-child(1),
.ftrc-page .carousel__bento--partial > .carousel__item:nth-child(2),
.ftrc-page .carousel__bento--partial > .carousel__item:nth-child(3),
.ftrc-page .carousel__bento--partial > .carousel__item:nth-child(4),
.ftrc-page .carousel__bento--partial > .carousel__item:nth-child(5),
.ftrc-page .carousel__bento--partial > .carousel__item:nth-child(6),
.ftrc-page .carousel__bento--partial > .carousel__item:nth-child(7) {
    grid-area: auto;
}

.ftrc-page .carousel__bento--partial > .carousel__item img {
    aspect-ratio: 3 / 2;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.ftrc-page--where-we-sail .wws-regions__tile--full {
    margin-left: auto;
    margin-right: auto;
    max-width: 1400px;
}

.ftrc-page--where-we-sail .wws-regions__tile--full img {
    aspect-ratio: 4 / 1;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.ftrc-page .copy-block--intro {
    border-bottom: 1px solid #CCCCCC;
}


body.ftrc-page .copy-block:not(.copy-block--intro) .copy-block__content h2 {
    font-family: "Open Sans", Arial, sans-serif;
    font-weight: 400;
}

body.ftrc-page .faq__heading,
body.ftrc-page .carousel__heading {
    font-weight: 400;
}

@media screen and (min-width: 768px) {
    .ftrc-page .copy-block--intro {
        margin-left: auto;
        margin-right: auto;
        max-width: 1216px;
    }

    body.ftrc-page .copy-block:not(.copy-block--intro) .copy-block__content h2 {
        font-size: 36px;
        line-height: 40px;
        letter-spacing: 0.36px;
    }

    body.ftrc-page--your-first-river-voyage .copy-block:not(.copy-block--intro) .copy-block__content h2 {
        font-size: 36px;
        line-height: 41px;
        letter-spacing: 0.36px;
    }

    body.ftrc-page--where-we-sail .copy-block:not(.copy-block--intro) .copy-block__content h2 {
        font-size: 36px;
        line-height: 48px;
        letter-spacing: 0.36px;
    }

    body.ftrc-page--why-choose-viking .static-flex > .static-flex__section:nth-child(5) .carousel .carousel__content .carousel__line-clamp {
        min-height: auto;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    body.ftrc-page .copy-block--intro h1 {
        font-size: 47px;
        line-height: 45px;
    }

    body.ftrc-page--where-we-sail .copy-block--intro h1,
    body.ftrc-page--your-first-river-voyage .copy-block--intro h1 {
        font-size: 47px;
        line-height: 52px;
    }

    body.ftrc-page--why-choose-viking .copy-block--intro h1 {
        font-size: 47px;
        line-height: 51px;
    }

    .ftrc-page .copy-block--intro {
        margin-left: 8px;
        margin-right: 8px;
        max-width: none;
    }

    .ftrc-page .copy-block--intro .copy-block__content {
        padding-left: 0;
        padding-right: 0;
    }

    .ftrc-page .copy-block--intro h1 {
        padding-left: 0;
        padding-right: 0;
    }

    body.ftrc-page .copy-block--intro p {
        font-size: 16px;
        line-height: 21px;
        margin-left: 11px;
        margin-right: 11px;
        padding-left: 0;
        padding-right: 0;
        width: auto;
    }

    body.ftrc-page--your-first-river-voyage .copy-block--intro p {
        font-size: 16px;
        line-height: 22px;
    }

    .ftrc-page .copy-block__content p {
        font-size: 16px;
        line-height: 22px;
    }

    body.ftrc-page--your-first-river-voyage .copy-block__content p {
        font-size: 16px;
        line-height: 21px;
    }

    .ftrc-page .faq__intro {
        font-size: 16px;
        line-height: 21px;
    }

    .ftrc-page .faq__sub-heading {
        font-size: 16px;
        line-height: 28px;
    }

    .ftrc-page .faq__desc {
        font-size: 16px;
        line-height: 21px;
    }

    .ftrc-page .carousel__grid--bento {
        width: calc(100% - 32px);
        margin: 0 auto;
    }
}

body.ftrc-page .copy-block--intro h1 {
    color: #333333;
    font-family: "adobe-garamond-pro", "GaramondPro Regular", Garamond, "EB Garamond", "Times New Roman", Serif;
    font-weight: 400;
    text-align: center;
}

body.ftrc-page .copy-block--intro p {
    font-weight: 400;
}

@media screen and (max-width: 767px) {
    body.ftrc-page .copy-block--intro h1 {
        font-size: 32px;
        line-height: 37px;
    }

    body.ftrc-page--where-we-sail .copy-block--intro h1,
    body.ftrc-page--why-choose-viking .copy-block--intro h1,
    body.ftrc-page--your-first-river-voyage .copy-block--intro h1 {
        font-size: 32px;
        line-height: 38px;
    }
}

@media screen and (min-width: 1024px) {
    body.ftrc-page .copy-block--intro h1 {
        font-size: 44px;
        line-height: 45px;
    }
}

body.ftrc-page .static-flex__section:has(.copy-block--intro) {
    margin-bottom: 32px;
}

@media screen and (min-width: 1024px) {
    body.ftrc-page .static-flex__section:has(.copy-block--intro) {
        margin-bottom: 64px;
    }
}

.ftrc-page .tile-side-by-side-media-right__cta,
.ftrc-page .tile-side-by-side-media-left__cta {
    align-items: center;
    display: inline-flex;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    justify-content: center;
    letter-spacing: 0;
    line-height: 24px;
    margin-top: 24px;
    min-height: 50px;
    padding: 13px 24px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    width: fit-content;
}

@media screen and (min-width: 768px) {
    .ftrc-page .tile-side-by-side-media-right__cta,
    .ftrc-page .tile-side-by-side-media-left__cta {
        font-size: 14px;
        min-height: 40px;
        padding: 8px 15px;
    }
}

.ftrc-page .tile-side-by-side-media-right__copy,
.ftrc-page .tile-side-by-side-media-left__copy {
    min-width: 0;
}

.ftrc-page .copy-block h1,
.ftrc-page .copy-block h2 {
    letter-spacing: 0;
}

.ftrc-page .static-flex__section:has(.carousel__grid:not(.carousel__grid--bento)) .carousel__heading {
    font-size: 36px;
    line-height: 48px;
}

.ftrc-page .static-flex__section:has(.carousel__grid:not(.carousel__grid--bento)) .carousel__subheading {
    font-size: 18px;
    line-height: 23px;
}

.ftrc-page--why-choose-viking .static-flex__section:has(.carousel__grid:not(.carousel__grid--bento)) .carousel__subheading {
    font-size: 18px;
    line-height: 24px;
}

@media screen and (max-width: 1023px) {
    .ftrc-page .static-flex__section:has(.carousel__grid:not(.carousel__grid--bento)) .carousel__heading {
        line-height: 48px;
    }

    .ftrc-page .static-flex__section:has(.carousel__grid:not(.carousel__grid--bento)) .carousel__subheading {
        font-size: 16px;
        line-height: 21px;
    }
}

@media screen and (min-width: 1024px) {
    .ftrc-page .carousel__grid--bento {
        padding-left: calc((100% - var(--bento-slide-w)) / 2);
        scroll-padding-left: calc((100% - var(--bento-slide-w)) / 2);
    }

    .ftrc-page .carousel__grid--bento .owl-stage {
        padding-left: 0 !important;
    }

    .ftrc-page .carousel__grid--bento .owl-dots {
        left: calc((100% - var(--bento-slide-w)) / 2);
        right: calc(138px + (100% - var(--bento-slide-w)) / 2);
        margin: 0 16px;
    }

    .ftrc-page .carousel__grid--bento .owl-nav {
        right: calc((100% - var(--bento-slide-w)) / 2);
    }
}

@media screen and (max-width: 767px) {
    .ftrc-page--where-we-sail .wws-regions__tile--full img {
        aspect-ratio: 2 / 1;
    }

    body.ftrc-page .static-flex__section,
    body.ftrc-page .static-flex__section:has(.copy-block--intro) {
        margin-bottom: 40px;
    }

    .ftrc-page .static-flex__section .copy-block,
    .ftrc-page .static-flex__section .carousel__header {
        margin-bottom: 16px;
    }

    .ftrc-page .static-flex__section .copy-block__content {
        margin-bottom: 0;
    }

    .ftrc-page .static-flex__section .carousel__grid {
        margin-top: 0;
    }

    .ftrc-page .static-flex__section .copy-block--intro .copy-block__content {
        margin-bottom: 32px;
    }

    body.ftrc-page .copy-block:not(.copy-block--intro) .copy-block__content h2 {
        font-size: 36px;
        line-height: 37px;
        padding-left: 0;
        text-align: left;
    }

    body.ftrc-page--where-we-sail .static-flex > .static-flex__section:nth-child(5) .copy-block__content h2 {
        font-size: 36px;
        line-height: 37px;
        padding-left: 0;
        text-align: center;
    }

    body.ftrc-page--your-first-river-voyage .copy-block:not(.copy-block--intro) .copy-block__content h2 {
        font-size: 32px;
        line-height: 38px;
    }

    body.ftrc-page--where-we-sail .static-flex > .static-flex__section:nth-child(5) .copy-block__content p {
        font-size: 16px;
        line-height: 20px;
        text-align: center;
    }

    body.ftrc-page--why-choose-viking .static-flex > .static-flex__section:nth-child(5) .carousel .carousel__content .carousel__line-clamp {
        min-height: auto;
    }

    body.ftrc-page .faq__heading {
        font-size: 36px;
        line-height: 37px;
        text-align: left;
    }

    .ftrc-page .faq__intro {
        font-size: 16px;
        line-height: 21px;
    }

    .ftrc-page .faq__desc {
        font-size: 16px;
        line-height: 20px;
    }

    .ftrc-page .static-flex__section .carousel {
        margin-bottom: 0;
    }

    .ftrc-page .tile-side-by-side-media-left__copy,
    .ftrc-page .tile-side-by-side-media-right__copy {
        padding: 0;
    }

    .ftrc-page .tile-side-by-side-media-left p,
    .ftrc-page .tile-side-by-side-media-right p {
        line-height: 21px;
    }

    .ftrc-page .tile-side-by-side-media__toggle {
        font-size: 16px;
        line-height: 20px;
    }

    body.ftrc-page .carousel__heading {
        font-size: 36px;
        line-height: 40px;
    }

    .ftrc-page .tile-side-by-side-media-left__media--card:hover .tile-side-by-side-media-left__media--thumb-play,
    .ftrc-page .tile-side-by-side-media-right__media--card:hover .tile-side-by-side-media-right__media--thumb-play {
        background-position: 0 0;
    }

    .ftrc-page--where-we-sail .wws-regions__name {
        font-size: 26px;
        line-height: 38px;
    }

    .ftrc-page--where-we-sail .wws-regions__grid, .ftrc-page--where-we-sail .static-flex__col-2 {
        max-width: 100%;
    }

    .ftrc-page--where-we-sail .wws-regions__tile img {
        aspect-ratio: 3 / 2;
    }

    .ftrc-page .tile-side-by-side-media-right__cta,
    .ftrc-page .tile-side-by-side-media-left__cta {
        font-size: 14px;
        min-height: 40px;
        padding: 8px 15px;
        width: 100%;
    }

    .ftrc-page--why-choose-viking .carousel__subheading--toggle {
        background: none;
        border: none;
        color: #456580;
        cursor: pointer;
        display: inline-block;
        font-family: 'Open Sans', sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 20px;
        margin-bottom: 16px;
        padding: 0;
        text-align: left;
    }

    .ftrc-page--why-choose-viking .tile-side-by-side-media-right__heading,
    .ftrc-page--why-choose-viking .tile-side-by-side-media-left__heading {
        font-size: 26px;
        line-height: 38px;
    }

    .ftrc-page .tile-side-by-side-media-left__text a,
    .ftrc-page .tile-side-by-side-media-left p a,
    .ftrc-page .tile-side-by-side-media-right__text a,
    .ftrc-page .tile-side-by-side-media-right p a {
        display: block;
        padding-top: 16px;
    }
}
