@keyframes radial-pulse {
    0% {
        box-shadow: 0 0 0 0 hsla(var(--btn-shadow-h), var(--btn-shadow-s), var(--btn-shadow-l), .9);
    }
    100% {
        box-shadow: 0 0 0 .625rem hsla(var(--btn-shadow-h), var(--btn-shadow-s), var(--btn-shadow-l), 0);
    }
}

@font-face {
    font-family: 'Inter';
    src: local('Inter Regular'), local('Inter-Regular'),
        url('../fonts/Inter-Regular.woff2') format('woff2'),
        url('../fonts/Inter-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: local('Inter Medium'), local('Inter-Medium'),
        url('../fonts/Inter-Medium.woff2') format('woff2'),
        url('../fonts/Inter-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: local('Inter SemiBold'), local('Inter-SemiBold'),
        url('../fonts/Inter-SemiBold.woff2') format('woff2'),
        url('../fonts/Inter-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: local('Inter Bold'), local('Inter-Bold'),
        url('../fonts/Inter-Bold.woff2') format('woff2'),
        url('../fonts/Inter-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root{
    /* typography */
    --html-size: 16px;

    --body-font: 'Inter', sans-serif;
    --body-size: 1rem;
    --body-lineheight: 1.5rem;
    --body-weight: 400;
    
    --title-font: 'Inter', sans-serif;
    --title-weight: 600;

    --h1-font-size: 2.625rem;
    --h1-line-height: calc(var(--h1-font-size) + 1rem);

    --h2-font-size: 2.25rem;
    --h2-line-height: calc(var(--h2-font-size) + .375rem);

    --h3-font-size: 1.25rem;
    --h3-line-height: calc(var(--h3-font-size) + .25rem);

    --h4-font-size: 1.25rem;
    --h4-line-height: calc(var(--h4-font-size) + .25rem);

    --h5-font-size: 1.125rem;
    --h5-line-height: 1.6875rem;

    --h6-font-size: 1rem;
    --h6-line-height: 1.5rem;

    --giant-font-size: 4.5rem;
    --giant-line-height: calc(var(--giant-font-size) + .125rem);

    --semigiant-font-size: var(--h1-font-size);
    --semigiant-line-height: var(--h1-line-height);

    --huge-font-size: var(--h2-font-size);
    --huge-line-height: var(--h2-line-height);

    --semihuge-font-size: 2rem;
    --semihuge-line-height: calc(var(--huge-font-size) + .25rem);

    --large-font-size: var(--h3-font-size);
    --large-line-height: var(--h3-line-height);

    --medium-font-size: var(--h5-font-size);
    --medium-line-height: var(--h5-line-height);

    --small-font-size: .875rem;
    --small-line-height: 1.25rem;
    
    /* colors */
    --primary-h: 164;
    --primary-s: 98%;
    --primary-l: 17%;
    --primary-color: hsl(var(--primary-h), var(--primary-s), var(--primary-l));

    --primary-alt-h: 166;
    --primary-alt-s: 22%;
    --primary-alt-l: 81%;
    --primary-color-alt: hsl(var(--primary-alt-h), var(--primary-alt-s), var(--primary-alt-l));

    --secondary-h: 43;
    --secondary-s: 74%;
    --secondary-l: 49%;
    --secondary-color: hsl(var(--secondary-h), var(--secondary-s), var(--secondary-l));
    --secondary-color-alt: hsl(var(--secondary-h), var(--secondary-s), 100%);
    
    --light-gray-h: 240;
    --light-gray-s: 29%;
    --light-gray-l: 97%;
    --light-gray-color: hsl(var(--light-gray-h), var(--light-gray-s), var(--light-gray-l));

    --text-h: 0;
    --text-s: 0%;
    --text-l: 0%;
    --text-color: hsl(var(--text-h), var(--text-s), var(--text-l));
    --text-color-light: hsl(var(--text-h), var(--text-s), 50%);

    --input-color: var(--text-color);
    --placeholder-color: hsla(0, 0%, 0%, .5);
    --input-border: hsl(165, 22%, 82%);
    --textarea-height: 8rem;

    --body-h: 0;
    --body-s: 0%;
    --body-l: 100%;
    --body-color: hsl(var(--body-h), var(--body-s), var(--body-l));

    --wrapper-h: 0;
    --wrapper-s: 0%;
    --wrapper-l: 100%;
    --wrapper-color: hsl(var(--wrapper-h), var(--wrapper-s), var(--wrapper-l));

    --light-color-h: 0; 
    --light-color-s: 0%; 
    --light-color-l: 91%; 
    --light-color: hsl(var(--light-color-h), var(--light-color-s), var(--light-color-l));

    --dark-l: 10%;
    --dark-color: hsla(0, 0%, var(--dark-l), 1);

    --white-l: 100%;
    --white-color: hsla(0, 0%, var(--white-l), 1);

    --shadow-o: .16;
    --shadow-color: hsla(var(--primary-h), var(--primary-s), var(--primary-l), var(--shadow-o));

    /* buttons */
    --btn-font-size: 1rem;
    --btn-lineheight: 1.375rem;
    --btn-font-weight: 500;
    --btn-radius: 999px;
    --btn-min-width: unset;
    --btn-border-width: 1px;
    --btn-padding-t: calc( .625rem - var(--btn-border-width) );
    --btn-padding-r: calc( 1.25rem - var(--btn-border-width) );
    --btn-padding-b: var(--btn-padding-t);
    --btn-padding-l: var(--btn-padding-r);

    --btn-primary-bg: hsl(var(--secondary-h), var(--secondary-s), var(--secondary-l));
    --btn-primary-color: hsl(var(--secondary-h), var(--secondary-s), 0%);
    --btn-primary-outline-color: hsl(var(--secondary-h), var(--secondary-s), var(--secondary-l));

    --btn-secondary-bg: hsl(var(--primary-h), var(--primary-s), var(--primary-l));
    --btn-secondary-color: hsl(var(--primary-h), var(--primary-s), 100%);
    --btn-secondary-outline-color: hsl(var(--primary-h), var(--primary-s), var(--primary-l));

    /* paddings */
    --quote-tb: 1.25rem;
    --quote-lr: 2.5rem;

    /* margins */
    --mb-1: 1.25rem;
    --mb-2: 1.875rem;
    --mb-heading: 2.5rem;
    --mb-block: 5rem;
    --mb-header: 2.5rem;
    --mb-first: 3.125rem;
    --mb-last: 4.375rem;
    --mb-li: .5rem;
    --mb-btns: 1.25rem;
    --mb-cols: 5rem;

    /* heights */
    --header-height: 3.75rem;

    /* grid */
    --grid-margin: -.9375rem;
    --grid-padding: .9375rem;
    --grid-offset: calc( var(--grid-padding) * 2 );

    --grid-base-narrow-width: 52.5rem;
    --grid-narrow-width: calc( var(--grid-base-narrow-width) + var(--grid-offset) );

    --grid-base-width: 73.125rem;
    --grid-width: calc( var(--grid-base-width) + var(--grid-offset) );

    --grid-base-width-wide: 90rem;
    --grid-width-wide: calc( var(--grid-base-width-wide) + var(--grid-offset) );

    --grid-base-width-full: 107.5rem;
    --grid-width-full: calc( var(--grid-base-width-full) + var(--grid-offset) );

    --grid-width-max: 120rem;
}

/* colors */
.has-theme-primary-color{color: var(--primary-color)}
.has-theme-secondary-color{color: var(--secondary-color)}

/* element-bgcolor */
.element-bgcolor{padding: 6.25rem 0; background-color: #F2F6F5}
.element-bgcolor.dec-pad{padding: 4.375rem 0}
.element-bgcolor.bg-white{background-color: var(--body-color)}
.element-bgcolor.bg-dark{background-color: var(--primary-color-alt)}

@media (min-width: 1280px){
    :root{--header-height: 6.875rem}
    .element-txtmedia .col-content:not(.order-md-1) > .col-inner{padding-right: 3.125rem}
    .element-txtmedia .col-content.order-md-1 > .col-inner{padding-left: 3.125rem}
}
@media (min-width: 1280px) and (max-width: 1780px){
    :root{--html-size: 14px}
}

@media (max-width: 1023px){
    :root{
        --h1-font-size: 1.625rem;
        --h1-line-height: calc(var(--h1-font-size) + .5rem);

        --h2-font-size: 1.45rem;

        --giant-font-size: 2.5rem;

        --semihuge-font-size: 1.5rem;
    }
}


.element-txtmedia-wide > .container{max-width: 100%!important}
.element-txtmedia-wide .col-media{padding: 0!important}
    .element-txtmedia-wide .col-content > *{
        width: 100%;
        max-width: 41.25rem
    }

@media (min-width: 1200px){
    .element-txtmedia-wide .col-content:not(.order-md-1){-ms-flex-pack: end!important; justify-content: flex-end!important}
        .element-txtmedia-wide .col-content > *{max-width: calc(51.25rem - var(--grid-padding))}
        .element-txtmedia-wide .col-content:not(.order-md-1) > *{padding-right: calc(10rem - var(--grid-padding))}
        .element-txtmedia-wide .col-content.order-md-1 > *{padding-left: calc(10rem - var(--grid-padding))}
}


.element-audio-tour.alignmax{
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: calc(var(--grid-padding) * 2);
}
.element-audio-tour.alignmax > *{max-width: unset!important; padding: 0}

.element-audio-tour .wp-block-audio audio{min-width: unset; max-width: 300px}

.element-audio-tour .hotspot-title{font-size: 20px; line-height: 24px; text-align: left}
.element-audio-tour .hotspot-title + *,
.element-audio-tour .hotspot-thumb + *,
.element-audio-tour .hotspot-content > * + *{margin-top: 20px}

@media (max-width: 1359px){
    .element-audio-tour.alignmax{
        grid-template-columns: 1fr
    }
    .element-audio-tour.alignmax > .element-audio-tour__content{order: 1}
}
@media (min-width: 568px) and (max-width: 1024px){
    .element-audio-tour__map .hotspots-interaction{flex-wrap: wrap}
    .element-audio-tour__map .hotspots-image-container,
    .element-audio-tour__map .hotspots-placeholder{
        flex: 0 0 100%!important;
        width: 100%!important
    }
    .element-audio-tour__map .hotspots-placeholder{
        max-width: 100%!important
    }
}
@media (max-width: 1024px){
    .element-audio-tour__map .hotspots-placeholder{order: 1}
}

/*
.element-audio-tour__map .hotspots-interaction{flex-wrap: wrap}
.element-audio-tour__map .hotspots-image-container,
.element-audio-tour__map .hotspots-placeholder{
    flex: 0 0 100%!important;
    width: 100%!important
}
.element-audio-tour__map .hotspots-placeholder{
    order: 1;
    max-width: 100%!important
}*/

.audio-tour__meta{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: -10px;
    padding: 0;
    color: var(--primary-color);
    font-weight: 700;
}
.audio-tour__meta + *{margin-top: 30px!important}
    .audio-tour__meta > li{
        padding: 10px;
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        gap: 10px
    }

.element-hero .hero-logos.ama-logos {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
	align-content: flex-end;
    justify-content: flex-end;
    padding: 0;
    margin: 0;
    list-style: none;
	gap: 1rem 0;
	max-width: 50%
}
	.element-hero .hero-logos.ama-logos .logo-item.img-fill {
		width: auto;
		min-width: 13.5rem;
		max-width: 22rem;
		padding: 0;
	}
	.element-hero .hero-logos.ama-logos .logo-item {
		width: 13.5rem;
		height: 5.5rem;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #fff;
		border-radius: 12px;
		padding: 1rem 1.25rem;
		box-shadow: 0 8px 24px rgba(0,0,0,.08);
		overflow: hidden;
	}
		.element-hero .hero-logos.ama-logos .logo-item > a {
			width: 100%;
			height: 100%;
			display: flex;
			align-items: center;
			justify-content: center;
		}
			.element-hero .hero-logos.ama-logos .logo-item img {
				display: block;
				max-width: 100%;
				max-height: 100%;
				width: auto;
				height: auto;
				object-fit: contain;
			}

@media (max-width: 1199px) {
    .element-hero .hero-logos.ama-logos {
        justify-content: center;
		margin-top: 2.5rem;
		max-width: 100%;
    }
}

.home .element-hero{
    display: grid;
    grid-template-rows: 1fr auto;
    gap: calc(var(--grid-padding) * 2);
    height: calc(100vh - var(--header-height));
    height: calc(100dvh - var(--header-height));
    height: calc(100svh - var(--header-height));
    max-width: 100%
}
@media (min-height: 1080px){
    .home .element-hero{max-height: 54.375rem}
}
    .home .element-hero > .element-hero__content{
        align-self: center;
        padding-top: 1.875rem;
        padding-bottom: 1.875rem;
        --width: var(--grid-width-full)
    }
        .home .element-hero > .element-hero__content > *{max-width: 37.5rem}
        .home .element-hero > .element-hero__content > * + *{margin-top: 1.25rem}
        .home .element-hero > .element-hero__content > .is-hero-pretitle{
            color: #e7d9bd!important;
            position: relative;
            padding-left: 2.375rem;
            text-transform: uppercase;
            letter-spacing: 0.2em;
            font-size: .875rem;
            line-height: 1rem
        }
            .home .element-hero > .element-hero__content > .is-hero-pretitle::before{
                content: "";
                width: 1.875rem;
                height: 1px;
                background: var(--secondary-color)!important;
                position: absolute;
                left: 0;
                top: .5em
            }
        .home .element-hero > .element-hero__content > .is-hero-aftertitle{
            color: #f1e7d0!important;
            font-size: calc(var(--giant-font-size) / 2.5);
            line-height: 1.2;
            font-style: italic
        }

        .home .element-hero #salbos-booking-row{
            color: var(--text-color)!important;
            max-width: 37.5rem;
            padding: 0;
            margin-left: unset;
            margin-right: unset
        }
        .home .element-hero * + #salbos-booking-row{margin-top: 2.5rem}
        .home .element-hero #salbos-booking-row .salbos-block{flex: 1 0 0}
            .home .element-hero #salbos-booking-row .salbos-btn-block{flex: 0 0 auto}
            .home .element-hero #salbos-booking-row input,
            .home .element-hero #salbos-booking-row select{min-width: 3.75rem}
            .home .element-hero #salbos-booking-row .salbos-block label{font-size: .875rem; line-height: 1rem; text-transform: none}

        .home .element-hero > .element-hero__content:only-child{grid-row: auto/span 2}
        .home .element-hero > .hero-logos{
            align-self: flex-end;
            justify-self: flex-end;
            width: 100%;
            max-width: 100%;
            margin: 0;
            padding: 0.625rem;
            justify-content: flex-end;
            gap: .625rem
        }
        .home .element-hero .hero-logos.ama-logos .logo-item{
            margin: 0;
            padding: 0.4375rem 0.6875rem;
            width: unset;
            min-width: unset;
            max-width: unset;
            height: 2.875rem;
            border-radius: 0.3125rem;
        }
        .home .element-hero .hero-logos.ama-logos .logo-item.img-fill{padding: 0; background-color: transparent}
        .home .hero-bgcontainer:after{
            width: 100%;
            opacity: 1;
            background: linear-gradient(102deg, rgba(3, 17, 12, .80) 0%, rgba(3, 17, 12, .52) 40%, rgba(3, 17, 12, .12) 72%, rgba(3, 17, 12, 0) 100%), linear-gradient(180deg, rgba(3, 17, 12, .34) 0%, rgba(3, 17, 12, 0) 28%, rgba(3, 17, 12, .5) 100%);
        }

@media (max-width: 619px){
    .home .element-hero #salbos-booking-row .salbos-btn-block{flex: 0 0 100%}
}
@media (max-width: 313px){
    .home .element-hero #salbos-booking-row .salbos-block{flex: 0 0 100%}
}

.wpcf7-bookable_rooms{
    height: unset!important;
    border: none!important;
    background: none!important;
    padding: 0!important
}
    .wpcf7-bookable-group + .wpcf7-bookable-group{margin-top: 1.875rem}

    .wpcf7-bookable_rooms .bookable-item{
        display: block;
        cursor: pointer;
        position: relative;
        display: grid;
        grid-template-columns: auto auto 1fr;
        gap: 20px;
        align-items: center;
        padding: 20px;
        background-color: #fff;
        box-shadow: 0 0 0 1px var(--input-border) inset;
        border-radius: .3125rem
    }
        .wpcf7-bookable_rooms .bookable-item > img{
            width: 7.5rem;
            height: 6.25rem;
            object-fit: cover;
        }

    .bookable-group-title{
        margin-bottom: .625rem;
        font-weight: 700
    }
    .bookable-group-body{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px
    }
        .bookable-item__content,
        .bookable-item__content > span{display: block}
        .bookable-item__content > span + span{margin-top: 0.625rem}
        .bookable-item__content > .bookable-item-qty{
            display: grid;
            grid-template-columns: 1fr 5rem;
            gap: 0.3125rem;
            align-items: center;
        }
            .bookable-item__content > .bookable-item-qty > span{font-size: .875rem; line-height: 1rem}
            .bookable-item__content > .bookable-item-qty > input{
                display: block;
                width: 100%;
                height: 2.625rem;
                padding: .375rem 1.1875rem;
                font-size: 1rem;
                font-weight: 400;
                line-height: 1.5;
                color: var(--input-color);
                background-color: #fff;
                background-clip: padding-box;
                border: 1px solid var(--input-border);
                border-radius: .3125rem;
                transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
                text-align: center
            }

.bookable-item:not(:has(input[type="checkbox"]:checked)) .bookable-item-qty input{
	opacity: .35;
	pointer-events: none;
}

@media (max-width: 1139px){
    .bookable-group-body{grid-template-columns: repeat(2, 1fr)}
}
@media (max-width: 767px){
    .bookable-group-body{grid-template-columns: 1fr}
}

@media (max-width: 313px){
    .post-item{grid-template-columns: 1fr!important}
}