/*** ---------- Block ---------- ***/


/*** ---------- Country list & map ---------- ***/
.wpb-block--country-map .container {display: grid; gap: 5rem; align-items: start;}
.wpb-block--country-map .container .wpb-text .section-title {display: flex; justify-content: space-between; align-items: end; margin-bottom: 1.6rem;}
.wpb-block--country-map .container .wpb-text .section-subtitle {font-size: 1.2rem;}

.wpb-countries { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 2.5rem; }
.wpb-countries .country { display: inline-flex; text-wrap: nowrap; overflow: hidden; align-items: center; font-size: 1.5rem; height: fit-content; box-shadow: inset 0 -2px var(--clr-primary-20); padding: 1.6rem 0; color: var(--clr-dark); text-decoration: none; transition: box-shadow .15s ease-in-out; -webkit-transition: box-shadow .15s ease-in-out; }
.wpb-countries .country:hover { color: var(--clr-primary); box-shadow: inset 0 -4px var(--clr-primary); }

@media (min-width: 768px) {
    .wpb-block--country-map .container { grid-template-columns: repeat(2, 1fr);}
}
@media (min-width: 1200px) {
    .wpb-countries { display: grid; grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1400px) {
    .wpb-block--country-map .container {grid-template-columns: 1fr 550px;}
}

/*** ---------- Block: Media ---------- ***/
.wpb-block--media .wpb-text { margin-bottom: 2rem; }
.wpb-block--media .inner {max-height: 80rem;overflow: hidden;border-radius: 1rem;display: flex; align-items: center;}
.wpb-block--media .wpb-image { display: flex; width: 100%;align-items: center;}



/*** ---------- Block: FAQ ---------- ***/
.wpb-block--faq { --gc: 1; }
.wpb-block--faq .container { display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); column-gap: 2rem; row-gap: 2rem; }

@media (min-width: 992px) {
    .wpb-block--faq-primary, .wpb-block--faq-secondary { --gc: 2; align-items: start; }
    .wpb-block--faq-primary .container, .wpb-block--faq-secondary .container { column-gap: 3.2rem; }
    .wpb-block--faq-primary .container .wpb-accordion { order: -1; }
}

@media (min-width: 1200px) {
    .wpb-block--faq-primary .container, .wpb-block--faq-secondary .container { column-gap: 6.4rem; }
}


/*** ---------- Block: Blurb ---------- ***/
.wpb-block--blurb .wpb-text { margin-bottom: 2rem; }
.wpb-block--blurb .wpb-card.wpb-card--blurb .wpb-card__header img { aspect-ratio: 16/9; object-fit: cover; }


/*** ---------- Block: Carousel ---------- ***/
.wpb-block--carousel .wpb-text { margin-bottom: 2rem; }
.wpb-block--carousel .wpb-image { position: relative; }
.wpb-block--carousel .wpb-image img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.wpb-block--carousel .wpb-image::after { content: ''; display: block; width: 100%; padding-top: 75%; }


/*** ---------- Block: Header ---------- ***/
.wpb-header.wpb-header--search form { position: relative; }
.wpb-header.wpb-header--search form [type="submit"] { display: inline-flex; cursor: pointer; user-select: none; padding: 0.25rem 1rem; border: none; background: none; position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
.wpb-header.wpb-header--search form [type="submit"] img { width: 1.5rem; }

.wpb-header .wpb-header__toolbar { display: flex; align-items: center; gap: 1.6rem; padding-bottom: 2.8rem; }
.wpb-header .wpb-header__toolbar .btn { white-space: nowrap; }
.wpb-header .wpb-header__toolbar .wpb-breadcrumbs { margin: 0; --excerpt-line-clamp: 1; display: -webkit-box; -webkit-line-clamp: var(--excerpt-line-clamp); -webkit-box-orient: vertical; overflow: hidden; }
.wpb-header .wpb-header__toolbar .wpb-breadcrumbs > span > span:not(.breadcrumb_last) { opacity: .65; }


/*** ---------- Block: Text media ---------- ***/

.wpb-block--text-media .wpb-images {position: relative; display: flex; justify-content: end;}
.wpb-block--text-media .wpb-images .main-image {position: relative; max-width: 90%; overflow: hidden; border-radius: var(--br);}
.wpb-block--text-media .wpb-images .overlay-image {position: absolute; bottom: -5rem; left: 0; overflow: hidden; z-index: 1; aspect-ratio: 1 / 2; max-height: 100%; width: 60%; border-radius: var(--br);}
.wpb-block--text-media .wpb-images .main-image img {}
.wpb-block--text-media .wpb-images .overlay-image img { height: 100%; object-fit: cover;}

/*** ---------- Block: Text media tabs ---------- ***/
.wpb-block--media-tabs .container > .wpb-text { margin-bottom: 2rem; }
.wpb-block--media-tabs .inner { gap: 3.2rem; align-items: center; }
.wpb-block--media-tabs .tab__images { display: grid; overflow: hidden; } 
.wpb-block--media-tabs .tab__images > figure { grid-row: 1/-1; grid-column: 1/-1; opacity: 0; transition: opacity var(--ts-15) ease; transition-delay: var(--ts-35); }
.wpb-block--media-tabs .tab__images figure.active { opacity: 1; transform: scale(1); }
.wpb-block--media-tabs .tab__images figure img { height: 100%; width: 100%; object-fit: contain; }
.wpb-block--media-tabs .tab__content { display: grid; position: relative; gap: 2rem; }
.wpb-block--media-tabs .tab__item { display: grid; align-items: center; }
.wpb-block--media-tabs .tab__item.has-icon { grid-template-columns: 6.4rem 1fr; -ms-grid-columns: 6.4rem 1fr; gap: 1.6rem; }
.wpb-block--media-tabs .tab__item .icon { background-color: var(--wpb-primary); border-radius: 50%; width: 6.4rem; height: 6.4rem; padding: 1.4rem; transition: box-shadow var(--ts-15) ease; }
.wpb-block--media-tabs .tab__item .icon img { width: 100%; height: 100%; object-fit: contain; }

@media (min-width: 992px) {
    .wpb-block--media-tabs .inner { gap: 8.2rem; }
}


/*** ---------- Block: Tabs ---------- ***/
.wpb-block--tabs .wpb-text { margin-bottom: 2rem; }



/*** ---------- Block: Featured ---------- ***/
.wpb-block--featured .wpb-section__body { --gc: 1; }
.wpb-block--featured .wpb-section__body .container { display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: 2rem; }
.wpb-block--featured .wpb-section__body li { list-style: none; }

@media (min-width: 768px) {
    .wpb-block--featured .wpb-section__body { --gc: 2; }
}

@media (min-width: 992px) {
    .wpb-block--featured .wpb-section__body { --gc: 3; }
}

@media (min-width: 1200px) {
    .wpb-block--featured .wpb-section__body { --gc: 4; }
}


/*** ---------- Block: Featured locations ---------- ***/
.wpb-block--featured-locations .wpb-section__header .container {flex-direction: column;}
.wpb-block--featured-locations .wpb-section__body { --gc: 1; }
.wpb-block--featured-locations .wpb-section__body .container { display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: 2rem; }
.wpb-block--featured-locations .wpb-section__body li { list-style: none; }

.wpb-block--featured-locations .wpb-card--location:nth-child(1){transform: rotate(-4deg);}
.wpb-block--featured-locations .wpb-card--location:nth-child(2){transform: rotate(1deg);}
.wpb-block--featured-locations .wpb-card--location:nth-child(3){transform: rotate(-2deg);}
.wpb-block--featured-locations .wpb-card--location:nth-child(4){transform: rotate(3deg);}

.wpb-block--featured-locations .wpb-card--location {transition: transform 0.3s ease;}
.wpb-block--featured-locations .wpb-card--location:hover {transform: rotate(0deg);}

@media (min-width: 768px) {
    .wpb-block--featured-locations .wpb-section__body { --gc: 2; }
}

@media (min-width: 992px) {
    .wpb-block--featured-locations .wpb-section__body { --gc: 3; }
}

@media (min-width: 1200px) {
    .wpb-block--featured-locations .wpb-section__body { --gc: 4; }
}


/*** ---------- Block: Featured post types ---------- ***/
.wpb-block--featured-posttypes {}

.wpb-block--featured-posttypes .posttypes-wrapper {display: grid; grid-template-columns: repeat(6, 50%); gap: 3rem;}
.wpb-block--featured-posttypes .wpb-posttype {height:50vh; width: 100%; overflow: hidden; border: 1px solid pink;}
.wpb-block--featured-posttypes .wpb-posttype:nth-child(2n) {margin-top: 8rem;}
.wpb-block--featured-posttypes .wpb-posttype:nth-child(3n) {margin-top: 4rem;}

.split-line {
    overflow: hidden;
    padding: .15em 0 .3em;
}

.white > .word {
  opacity: 0.3;
}

/*** ---------- Block: Text Shortcode ---------- ***/
.wpb-block--text-shortcode .container { column-gap: 2rem; row-gap: 2rem; }

@media (min-width: 992px) {
    .wpb-block--text-shortcode .container { column-gap: 3.2rem; }
    .wpb-block--text-shortcode-primary .wpb-card { order: -1; }
}

@media (min-width: 1200px) {
    .wpb-block--text-shortcode .container { column-gap: 6.4rem; }
}

@media (min-width: 1200px) {
    .wpb-block--text-shortcode .container { column-gap: 9.8rem; }
}



/*** ---------- Block: Youtube embed ---------- ***/
.wpb-block--youtube .container { column-gap: 2rem; row-gap: 2rem; }
.wpb-block--youtube .wpb-ratio :is(iframe, img) { border-radius: .5rem; }
.wpb-block--youtube .wpb-ratio .youtube-play { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 5; cursor: pointer; transition: opacity var(--ts-35) ease; }
.wpb-block--youtube .wpb-ratio .youtube-play img { object-fit: cover; width: 100%; height: 100%; }
.wpb-block--youtube .wpb-ratio .youtube-play .play-icon { position: absolute; top: calc(50% - 3.2rem); left: calc(50% - 3.2rem); display: grid; place-items: center; z-index: 2; background-color: var(--clr-primary); border-radius: 50%; width: 6.4rem; height: 6.4rem; transition: .25s ease; }
.wpb-block--youtube .wpb-ratio .youtube-play .play-icon i { color: rgb(255,255,255); }
.wpb-block--youtube .wpb-ratio:hover .youtube-play .play-icon { transform: scale(1.065); }

@media (min-width: 992px) {
    .wpb-block--youtube .container { column-gap: 3.2rem; }
    .wpb-block--youtube.wpb-block--youtube-primary .wpb-ratio { order: -1; }
}

@media (min-width: 1200px) {
    .wpb-block--youtube .container { column-gap: 6.4rem; }
}

@media (min-width: 1400px) {
    .wpb-block--youtube .container { column-gap: 9.8rem; }
}



/*** ---------- Block: Timeframe ---------- ***/
.wpb-block--timeframe .wpb-text { margin-bottom: 2rem; }
.wpb-block--timeframe .wpb-timeframe__content { padding: 3.2rem 0; display: -ms-grid; display: grid; overflow-x: auto; }
.wpb-block--timeframe .wpb-timeframe__content::-webkit-scrollbar { height: 1rem; }
.wpb-block--timeframe .wpb-timeframe__content::-webkit-scrollbar-track { background: #ccc; border-radius: .35rem; }
.wpb-block--timeframe .wpb-timeframe__content::-webkit-scrollbar-thumb { background: #000; border-radius: .35rem; }

.wpb-block--timeframe .wpb-timeframe__content .wpb-timeframe__grid { grid-row: 1/-1; grid-column: 1/-1; position: relative; display: grid; grid-template-columns: repeat(99, minmax(0, 1fr)); gap: 1.5rem 0; } 
.wpb-block--timeframe .wpb-timeframe__content .wpb-timeframe__grid--items { z-index: 3; margin: 2.2rem 0; }
.wpb-block--timeframe .wpb-timeframe__content .wpb-timeframe__grid--indicators { z-index: 1; }

.timeframe-item { background-color: var(--clr-primary); display: inline-block; padding: 1rem 1.5rem; border-radius: .5rem; position: relative; margin-right: .5rem; margin-left: .5rem; }
.timeframe-item.timeframe-item--primary { background-color: var(--clr-primary); }
.timeframe-item.timeframe-item--striped :is(strong, span) { color: #fff; position: relative; z-index: 2; }
.timeframe-item.timeframe-item--striped::before { content: ''; border-radius: .8rem; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: repeating-linear-gradient(-65deg, rgba(255,255,255,.1), rgba(255,255,255,.1) 1.25rem, transparent 1.25rem, transparent 2.5rem); }

.timeframe-item strong { display: block; font-size: 1.6rem; line-height: 1.4; color: #fff; }
.timeframe-item span { display: block; font-size: 1.4rem; line-height: 1.4; color: #fff;  }
.timeframe-item:first-child { margin-left: 0!important; }
.timeframe-item:last-child { margin-right: 0!important; }

.wpb-timeframe__indicator { position: relative; width: .1rem; background-color: var(--clr-border); }
.wpb-timeframe__indicator::before { content: attr(data-phase); color: var(--clr-text); position: absolute; bottom: calc(100% + 1rem); left: 50%; transform: translateX(-50%); white-space: nowrap; font-size: 1.4rem; line-height: 1.4; }
.wpb-timeframe__indicator:first-of-type::before { left: 100%; transform: none; }
.wpb-timeframe__indicator:last-of-type::before { left: auto; right: 100%; transform: none; }