*,
*:before,
*:after {
    box-sizing: border-box;
}

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

html,
body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
}

html.hide-overflow {
    overflow-y: hidden;
}

body {
    overflow-y: hidden;
    color: var(--black);
}

.mobile-only, .tablet-only, .tablet-landscape-only {
    display: none;
}

.mobile-visible-only {
    height: 0;
    opacity: 0;
}

/*
* Image
*/
img {
    max-width: 100%;
}

/*
* Text Animation Wrapper
*/
[data-anim="dli-word-stgr"], .animation-wrapper {
    overflow: hidden;
}

/*
* Font Base
*/
.xl {
    font-size: 80px;
    line-height: 108.4px;
    letter-spacing: normal;
    font-family: var(--font-family-heading);
}

h1, .h1 {
    font-size: 62px;
    line-height: 84px;
    letter-spacing: var(--letter-spacing-heading);
    font-family: var(--font-family-heading);
}

h2, .h2 {
    font-size: 42px;
    line-height: 56.9px;
    letter-spacing: var(--letter-spacing-heading);
    font-family: var(--font-family-heading);
}

h3, .h3 {
    font-size: 32px;
    line-height: 43.4px;
    letter-spacing: var(--letter-spacing-heading);
    font-family: var(--font-family-heading);
}

h4, .h4 {
    font-size: 26px;
    line-height: 40px;
    letter-spacing: var(--letter-spacing-heading);
    font-family: var(--font-family-paragraph);
}

.lead {
    font-size: 18px;
    line-height: 30px;
    letter-spacing: var(--letter-spacing-paragraph);
    font-family: var(--font-family-paragraph);
    font-weight: var(--font-weight-regular);
}

p, .p, li {
    font-size: 15px;
    line-height: 22px;
    letter-spacing: var(--letter-spacing-paragraph);
    font-family: var(--font-family-paragraph);
}

.subtitle-hero {
    font-size: 26px;
    line-height: 32.5px;
    letter-spacing: normal;
    font-family: var(--font-family-subtitle);
}

.subtitle {
    font-size: 18px;
    line-height: 22.5px;
    letter-spacing: var(--letter-spacing-subtitle);
    font-family: var(--font-family-subtitle);
}

.button-1 {
    font-size: 12px;
    line-height: 22px;
    letter-spacing: var(--letter-spacing-button);
    font-family: var(--font-family-paragraph);
    color: var(--black);
    border: 1px solid var(--black);
    border-radius: 33.5px;
    transition: all ease 400ms;
}

.button-1.white {
    border: 1px solid var(--white);
    color: var(--white);
}

.button-2 {
    font-size: 14px;
    line-height: 19.1px;
    letter-spacing: var(--letter-spacing-subtitle);
    font-family: var(--font-family-paragraph);
    border: 1px solid var(--black);
    color: var(--black);
    transition: all ease 400ms;
}

.anm-trg.button-1, .anm-trg.button-2 {
    transition: none;
}

.anm-fns.button-1, .anm-fns.button-2 {
    transition: all ease 400ms;
}

a {
    color: var(--gold);
}

/*
* Hover Default
*/
a:hover {
    text-decoration: none;
    color: unset;
}

.button-1:hover, .button-2:hover {
    background: var(--gold);
    color: var(--white);
    border: 1px solid transparent;
}

/*
* Arrow in Links
*/
.arrow, .arrow svg, .arrow svg path {
    transition: all ease 400ms;
}

.arrow {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    border: 1px solid rgba(0, 0, 0, 0.5);
    margin-right: 12px;
}

.arrow svg {
    transform: matrix(-1, 0, 0, 1, 0, 0);
}

a:hover .arrow {
    border: 1px solid var(--gold);
}

a:hover .arrow svg {
    width: 20px !important;
    height: 15px !important;
    transform: matrix(-0.87, 0.5, 0.5, 0.87, 0, 0);
}

a:hover .arrow svg path {
    fill: var(--gold);
}

/*
* Card
*/
.card__card {
    position: relative;
    height: 100%;
    margin: 0 6px;
}

.card__image {
    position: relative;
    overflow: hidden;
    height: 100%;
}

.card__image:before {
    content: '';
    display: block;
    position: relative;
    padding-top: 131.43%;
}

.card__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all ease 2000ms;
}

.card__card:hover .card__image img {
    transform: scale(1.5);
    transition: all linear 3500ms;
}

.card__background--wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.card__background--wrapper__second {
    position: relative;
    width: 100%;
    height: 100%;
}

.card__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(359.58deg, rgba(0, 0, 0, 0.7) 27.83%, rgba(0, 0, 0, 0) 99.63%);
    opacity: 1;
    transition: all ease-out 1000ms;
}

.card__card:hover .card__background {
    opacity: 0;
    transition: all linear 3000ms;
}

.card__content {
    position: absolute;
    z-index: 97;
    bottom: 30px;
    left: 0;
    width: 100%;
    padding: 0 30px;
}

.card__card--title, .card__card--subtitle, .card__cta, .card__cta--button {
    color: var(--white);
}

.card__card--title {
    margin-bottom: 2px;
    max-width: 255px;
}

.card__card--subtitle {
    margin-bottom: 24px;
}

.card__cta {
    display: flex;
    justify-content: space-between;
}

.card__cta--price__subheading {
    margin-bottom: 2px;
    font-size: 10px;
    line-height: 14px;
}

.card__cta--price__number {
    margin-bottom: 0;
    font-family: var(--font-family-heading);
    font-size: 24px;
    line-height: 33px;
}

.card__cta--button {
    display: inline-block;
    border: 1px solid var(--white);
    border-radius: 33.5px;
    padding: 12px 30px;
    text-transform: uppercase;
    transition: all ease 400ms;
}

/*
* Disable Outline on Button Focus
*/
button:focus, button:focus-visible {
    outline: none;
}

/*
* Lazyload
*/
.lazyload,
.lazyloading {
    opacity: 0;
}

.lazyloaded {
    opacity: 1;
    transition: opacity 500ms;
}

/*
* Custom Bullets
*/
.travel-updates-content ul, .single-point-information ul {
    list-style-image: url('../images/icons/list-bullet.svg');
}

/*
* Spinner Ring
*/
.post-ajax--wrapper .lds-dual-ring {
    position: relative;
    z-index: 65;
    display: inline-flex;
    justify-content: center;
    width: 100%;
    height: 200px;
}

.post-ajax--wrapper .lds-dual-ring:after {
    content: '';
    display: block;
    width: 100px;
    height: 100px;
    margin: 3px 10px;
    border-radius: 50%;
    border: 4px solid #131313;
    border-color: #131313 transparent #131313 transparent;
    animation: lds-dual-ring 1.2s linear infinite;
}

@keyframes lds-dual-ring {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/*
* Parallax Image Wrapper
*/
.img-wrapper.parallax {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.img-wrapper.parallax img {
    position: absolute;
    top: -10%;
    height: 120%;
}

/*
* Touchevents Styling
*/
.touchevents .hide-touchevents {
    display: none;
}

.touchevents .show-touchevents {
    display: initial;
}

/*
* Responsive
*/
@media (max-width: 1024px) {
    .hide-tablet-landscape {
        display: none;
    }

    .tablet-landscape-only {
        display: initial;
    }
}

@media (max-width: 991px) {
    .hide-tablet {
        display: none;
    }

    .tablet-only {
        display: initial;
    }
}

@media (max-width: 767px) {
    .xl {
        font-size: 52px;
        line-height: 62px;
        letter-spacing: normal;
    }
    
    h1, .h1 {
        font-size: 42px;
        line-height: 57px;
    }
    
    h2, .h2 {
        font-size: 30px;
        line-height: 41px;
    }
    
    h3, .h3 {
        font-size: 24px;
        line-height: 33px;
    }
    
    h4, .h4 {
        font-size: 26px;
        line-height: 40px;
    }
    
    .lead {
        font-size: 15px;
        line-height: 26px;
        font-weight: var(--font-weight-thin);
    }
    
    p, .p, li {
        font-size: 14px;
        line-height: 22px;
    }
    
    .subtitle-hero {
        font-size: 24px;
        line-height: 30px;
    }
    
    .subtitle {
        font-size: 16px;
        line-height: 26px;
    }
    
    .button-1 {
        font-size: 12px;
        line-height: 22px;
    }
    
    .button-2 {
        font-size: 14px;
        line-height: 19.1px;
    }

    .card__card--title {
        margin-bottom: 5px;
        font-size: 26px;
    }

    .card__card--subtitle {
        font-weight: var(--font-weight-thin);
        margin-bottom: 15px;
    }

    .card__cta {
        flex-direction: column;
    }

    .card__cta--price__subheading {
        font-size: 12px;
        line-height: 16px;
    }

    .card__cta--price__number {
        margin-bottom: 20px;
        font-size: 22px;
        line-height: 30px;
    }

    .hide-mobile {
        display: none;
    }

    .mobile-only {
        display: initial;
    }

    .hide-visibility-mobile {
        height: 0;
        opacity: 0;
    }

    .mobile-visible-only {
        height: auto;
        opacity: 1;
    }

    .img-wrapper.parallax img {
        height: 150%;
    }

    .container {
        padding-right: 25px;
        padding-left: 25px;
    }
}

/* table */
table, tr, td{
    border: 1px solid rgba(0, 0, 0, 0.2);
}
tbody{
    text-align: -webkit-center;
}
.table-row--black{
    color: #fff; 
    background-color: #000;
}
