

/* {{{ DESTINATIONS }}} */
.destinations {padding-bottom: 85px; transition: var(--trans-6);}
.destinations .container {max-width: 1280px;}
.destinations .head {text-align: center; margin-bottom: 5rem; transition: var(--trans-4);}
.destinations .head > :first-child {font-family: var(--ff-tertiary); font-size: var(--fs-xl, 50px); margin-bottom: 14px;}
.destinations form {position: relative; width: 100%; max-width: 616px; margin-inline: auto;}
.destinations form input {width: 100%; font-size: var(--fs-sm, 20px); color: #000; padding: 12px 30px; border: 1px solid var(--_c-dark); border-radius: 100px;}
.destinations form input::placeholder {color: var(--_c-dark);}
.destinations form button {position: absolute; inset: -2px 10px 0 auto; height: fit-content; padding: 10px; margin-block: auto;}
.destinations .wrapper {display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem 1.25rem; transition: var(--trans-4);}
.destinations .country {width: 100%; display: flex; align-items: center; gap: 1.125rem; background-color: var(--_c-sky-lght); padding: 1rem 1.6rem 1rem; border-radius: 6.25rem; transition: var(--trans-4);}
.destinations .country:hover {box-shadow: var(--shdw-nrml);}
.destinations .country .image {flex: none; transition: var(--trans-4);}
.destinations .country .image img {width: 3.125rem; height: 3.125rem; object-fit: cover; border-radius: 50%; transition: var(--trans-4);}
.destinations .country .name > :first-child {display: block; font-size: var(--fs-sm, 20px); font-weight: 400; line-height: var(--lh-none); margin-bottom: 4px;}
.destinations .country .name > :nth-child(2) {font-size: var(--fs-xs, 14px); color: var(--c-text);}

/* {{{ TESTIMONIALS }}} */
.testimonials {padding: 44px 5% 100px; background-color: var(--c-dark);}
.testimonials .container {max-width: var(--container-max);}
.testimonials .title {text-align: center; margin-bottom: 2.5rem;}
.testimonials .title > :first-child {font-family: var(--ff-tertiary); font-size: var(--fs-xl, 50px); color: #fff;}
.testimonials .wrapper {position: relative; display: flex; align-items: center;}
.testimonials .review {height: 100%; display: flex; flex-direction: column; align-items: start; background-color: #ffffff26; backdrop-filter: blur(4px); padding: 2rem 1.875rem 2.25rem; border: 1px solid #fff; border-radius: 1.25rem; margin: auto 18px auto 0; transition: var(--trans-4);}
.testimonials .review p {height: 125px; overflow: auto; font-size: var(--fs-sm, 18px); letter-spacing: 0.1px; color: #fff; margin-bottom: 3rem;}
.testimonials .reviewer {display: flex; align-items: center; gap: 18px; margin-top: auto;}
.testimonials .reviewer img {width: 43px; height: 43px; object-fit: cover; border-radius: 50%;}
.testimonials .reviewer * {display: block; font-family: var(--ff-secondary-400); font-size: var(--fs-xs, 14px); font-weight: 400; color: #fff;}
.testimonials .slick-dots {position: absolute; inset: auto 0 -62px; width: fit-content; height: 12px; display: flex; align-items: center; background-color: #fff; border-radius: 100px; padding-inline: 6px; margin-inline: auto;}
.testimonials .slick-dots li {line-height: 0;}
.testimonials .slick-dots button {width: 2rem; height: 6px; line-height: 0; color: transparent; border-radius: 100px;}
.testimonials .slick-dots li.slick-active button {background-color: var(--c-primary-drk-900);}

/* {{{ CTA }}} */
.cta {margin-block: 3rem;}
.cta .container {max-width: 100%; padding-inline: 62px;}
.cta .main {position: relative; display: flex; align-items: center; justify-content: space-between; background-repeat: no-repeat; background-position: center; background-size: contain; background-color: var(--c-primary-drk-900); padding: 1.375rem 2.25rem; border-radius: 20px;}
.cta .main::before {position: absolute; inset: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 65%); border-radius: 20px; z-index: 1;}
.cta .main > :first-child {position: relative; max-width: 200px; font-family: var(--ff-tertiary); font-size: 50px; line-height: 1.26; color: #fff; z-index: 2;}
.cta .main .image {position: absolute; inset: 0; margin-inline:auto; width: fit-content; height: 100%;}
.cta .main .image img {width: 100%; height: 100%; object-fit: cover; border-radius: 40px;}
.cta .main .info {position: relative; max-width: 272px; z-index: 2;}
.cta .main .info * {color: var(--_c-sky-lght);}
.cta .main .info > :first-child {font-size: var(--fs-sm, 18px); margin-bottom: 20px;}
.cta .main .info .btn__primary {background-color: transparent; border: 1px solid #fff;}
.cta .main .info .btn__primary:hover {background-color: #fff; color: var(--c-primary-drk-900);}

@media only screen and (max-width: 1600px) {
    .cta .main .image {margin-left: 10%;}
}

@media only screen and (max-width: 1440px) {
    .cta .main::before {content: '';}
}

@media only screen and (max-width: 991px) {
    /* Destinations */
    .destinations {padding-bottom: 70px;}
    .destinations .head {margin-bottom: 3.125rem;}
    .destinations .wrapper {grid-template-columns: repeat(3, 1fr);}
    /* Testimonials */
    .testimonials {padding-block: 30px 50px;}
    .testimonials .slick-dots {bottom: -30px;}
    /* Cta */
    .cta {margin-block: 2rem;}
    .cta .container {max-width: 100%; padding: 0; margin-inline: auto;}
    .cta .main {padding: 2rem;}
}

@media only screen and (max-width: 767px) {
    /* Destinations */
    .destinations .wrapper {grid-template-columns: repeat(2, 1fr);}
    /* Cta */
    .cta .main {flex-direction: column; gap: 20px; text-align: center;}
    .cta .main::before {background-color: #2439F2;}
    .cta .main .btn__primary {margin-inline: auto;}
    .cta .main > :first-child,
    .cta .main .info {max-width: 100%;}
}

@media only screen and (max-width: 575px) {
    /* Destinations */
    .testimonials .title > :first-child { line-height: var(--lh-xl);}
    .destinations {padding-bottom: 50px;}
    .destinations .head {margin-bottom: 2.25rem;}
    .destinations .head > :first-child {line-height: var(--lh-xl); margin-bottom: 10px;}
    .destinations form input {font-size: var(--fs-base); padding: 10px 20px;}
    .destinations form button {top: -5px; padding: 8px;}
    .destinations form button img {width: 20px;}
    .destinations .wrapper {gap: 1rem;}
    .destinations .country {padding: 0.75rem 1rem;}
    /* Testimonials */
    .testimonials {padding-block: 20px 40px;}
    .testimonials .title {margin-bottom: 30px;}
    .testimonials .review {margin-inline: 6px;}
    /* Cta */
    .cta {margin-block: 1.25rem;}
    .cta .main,
    .cta .main::before,
    .cta .main .image img {border-radius: 30px;}
    .cta .main .info {max-width: 100%;}
}

@media only screen and (max-width: 475px) {
    /* Destinations */
    .destinations .wrapper {grid-template-columns: 1fr;}
}