body {
    font-size: 14px;
    font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
}

#body-overlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.5);
    z-index: 102;
    cursor: pointer;
}

@media (min-width: 768px) {
    body.frontpage, body.search {
        background-image: url("../img/418593763_1122222068910563_6152655759059215681_n.png");
        background-repeat: no-repeat;
        background-size: 100% auto;
    }

    .search-result-img {
        height: 160px;
    }
}

.g-brd-blue--focus:focus,
.g-brd-blue--focus.g-state-focus *,
.g-brd-blue--focus.g-state-focus *:focus {
    border-color: #3398dc !important;
}

.g-bg-blue {
    background-color: #1272AF !important;
}

.g-bg-lightred-opacity-0_4 {
    background-color: rgba(230, 75, 59, 0.4) !important;
}

@media (max-width: 767px) {
    .g-bg-blue--xs {
        background-color: #1272AF;
    }
    #searchform-submit {
        width: 75%;
        margin: auto;
        border-radius: 0.25rem !important;
    }
}

#topbar {
    background-color: #1A2B48;
    padding: 15px 50px;
}

#topbar .separator {
    border-right: 1px solid #374969;
}

#topbar li {
    line-height: 24px;
}

#header-2 .navbar {
    padding-left: 0;
    padding-right: 0;
}

#header-2 .hamburger {
    padding: 15px 0;
}

.frontpage h1.page-title {
    font-size: 3.5em;
}

@media (max-width: 767px) {
    .frontpage h1.page-title {
        font-size: 2em;
        text-align: center;
    }
}

.text-warning {
    color: #FFA205 !important;
}

.g-bg-yellow {
    background-color: #FFA205 !important;
}

h1.page-title, .cursive {
    font-family: "Libre Baskerville", serif;
}

.bg-darkblue {
    background-color: #1E263D;
}

.ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.navbar-brand {
    padding: 0;
}

.navbar-toggler {
    padding-right: 0;
}

.btn {
    font-weight: normal;
}

.btn.full-size {
    width: 100%;
    height: 100%;
}

.btn span.material-symbols-rounded {
    vertical-align: middle;
}

.tab-content a {
    z-index: 1;
}

a {
    color: #3398dc;
    outline: none;
}

.u-nav-v1-1.u-nav-primary .nav-link.active {
    color: #fff;
    background-color: #3398dc;
}

a:focus,
a:hover {
    color: #3398dc;
}

a:hover {
    text-decoration: none;
}

.text-primary {
    color: #3398dc !important;
}

.menu-medium {
    width: 25em;
}

.menu-wide {
    width: 75em;
}

#searchform-submit {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.ribbon-2 {
    --f: 10px; /* control the folded part*/
    --r: 5px; /* control the ribbon shape */
    --t: 10px; /* the top offset */

    position: absolute;
    inset: var(--t) calc(-1*var(--f)) auto auto;
    padding: 2px 10px var(--f) calc(10px + var(--r));
    clip-path:
            polygon(0 0,100% 0,100% calc(100% - var(--f)),calc(100% - var(--f)) 100%,
            calc(100% - var(--f)) calc(100% - var(--f)),0 calc(100% - var(--f)),
            var(--r) calc(50% - var(--f)/2));
    background: #dc3545;
    box-shadow: 0 calc(-1*var(--f)) 0 inset #0005;
}

/* HTML: <div class="loader"></div> */
.loader {
    margin-left: auto;
    margin-right: auto;
    width: 50px;
    aspect-ratio: 1;
    display: grid;
    border-radius: 50%;
    background:
            linear-gradient(0deg ,rgb(0 0 0/50%) 30%,#0000 0 70%,rgb(0 0 0/100%) 0) 50%/8% 100%,
            linear-gradient(90deg,rgb(0 0 0/25%) 30%,#0000 0 70%,rgb(0 0 0/75% ) 0) 50%/100% 8%;
    background-repeat: no-repeat;
    animation: l23 1s infinite steps(12);
}
.loader::before,
.loader::after {
    content: "";
    grid-area: 1/1;
    border-radius: 50%;
    background: inherit;
    opacity: 0.915;
    transform: rotate(30deg);
}
.loader::after {
    opacity: 0.83;
    transform: rotate(60deg);
}
@keyframes l23 {
    100% {transform: rotate(1turn)}
}

.scrollable {
    max-height: 300px;
    overflow-y: scroll;
}

.optgroup-header {
    color: var(--secondary);
}

.optgroup-item {
    padding-left: 30px;
}

.datepicker-wrapper .datepicker-inline {
    width: 100%;
}

.datepicker-days table {
    border-collapse: separate;
    border-spacing: 2px;
    width: 100%;
}

.datepicker-days table td {
    width: unset;
}

.datepicker-days .day:not(.disabled) {
    background-color: rgba(51, 152, 220, 1);
    color: white;
}


.datepicker-wrapper .datepicker-days td.day:not(.disabled):hover,
.datepicker-wrapper .datepicker-days td.day:not(.disabled):focus {
    background-color:  #15415e;
}

.datepicker-wrapper .datepicker-days td.day.active {
    background-color:  #15415e;
}

select.form-control.normal-size:not([size]):not([multiple]) {
    height: 43px !important;
}

@media (max-width: 767px) {
    .u-heading-v3-1 {
        text-align: center;
    }
}

.text-shadow {
    text-shadow: 1px 2px 2px rgba(99, 99, 99, 1);
}

.u-carousel-indicators-v1 li.slick-active span, .u-carousel-indicators-v1--white li.slick-active span {
    background-color: #3398dc !important;
}

.form-control:focus, .custom-select:focus {
    border-color: #3398dc !important;
}

.form-control-xs {
    line-height: 1;
    padding: 0px 4px;
    height: 25px !important;
}

.input-group select {
    -webkit-appearance: auto;
}

select.form-control.unset-height {
    height: unset !important;
}

.u-accordion__control-icon span:nth-child(1) {
    display: none; }

.collapsed .u-accordion__control-icon span:nth-child(1) {
    display: inline; }

.u-accordion__control-icon span:nth-child(2) {
    display: inline; }

.collapsed .u-accordion__control-icon span:nth-child(2) {
    display: none; }

.w-65 {
    width: 65% !important;
}

.w-35 {
    width: 35% !important;
}

/*------------------------------------
  Checked state background
------------------------------------*/
/* Primary Colors */
input[type="checkbox"]:checked + .g-bg-primary--checked,
input[type="radio"]:checked + .g-bg-primary--checked,
input[type="checkbox"]:checked + * .g-bg-primary--checked,
input[type="radio"]:checked + * .g-bg-primary--checked {
    background-color: #3398dc !important; }

.g-bg-primary--checked.g-checked,
.g-checked .g-bg-primary--checked {
    background-color: #3398dc !important; }

.list-group-item.active {
    background-color: #3398dc;
    border-color: #3398dc;
}

.dropdown-toggle::after {
    display: none;
}

.table-xs td, .table-xs th {
    padding: 0.1rem 0.3rem;
}

@media (max-width: 767px) {
    .g-mt-20--xs {
        margin-top: 20px;
    }
    .text-xs-center {
        text-align: center;
    }
}
@media (min-width: 575px) {
    .g-bg-gray-light-v5--sm {
        background-color: #f7f7f7 !important;
    }
}

.list-group-item.collapse {
    display: none;
}

.list-group-item.collapse.show {
    display: block;
}

@keyframes slide-down {
    from {
        opacity: 0;
        transform: translateY(-10%);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slide-up {
    from {
        opacity: 1;
        transform: translateY(0);
    }
    to {
        opacity: 0;
        transform: translateY(-10%);
    }
}
@keyframes delay-overflow {
    0% {
        overflow: visible;
    }
    99% {
        overflow: visible;
    }
    100% {
        overflow: hidden;
    }
}

.js-fav-dest-box .btn {
    opacity: 0;
    transform: translateY(-10%);
    animation: slide-up .3s;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
}

.js-fav-dest-box:hover .btn {
    animation: slide-down .3s;
    animation-fill-mode: forwards;
}

.u-block-hover__additional.g-bg-blue-opacity-0_7:hover {
    background-color: rgba(51, 152, 220, 0.1) !important;
}

.u-block-hover__additional.g-bg-yellow-opacity-0_7:hover {
    background-color: rgba(235, 199, 29, 0.1) !important;
}

.u-block-hover__additional.g-bg-teal-opacity-0_7:hover {
    background-color: rgba(24, 186, 155, 0.1) !important;
}

.u-block-hover__additional.g-bg-deeporange-opacity-0_7:hover {
    background-color: rgba(254, 84, 30, 0.1) !important;
}

.v-middle {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
}

/* Megamenu */

.hs-sub-menu.g-top-minus-10 {
    top: -10px;
}

.hs-has-sub-menu > a::after {
    content: "" !important;
}

@media (min-width: 768px) {
    .hs-sub-menu {
        box-shadow: 0 0 5px #ddd;
    }
    .border-md-right {
        border-right: 1px solid #f7f7f7 !important;
    }
}

@media (max-width: 767px) {
    .hs-sub-menu, .hs-mega-menu {
        background-color: transparent;
    }

    .hs-sub-menu a.g-color-gray-dark-v2 {
        color: white !important;
    }

    .hs-sub-menu .dropdown-item.active, .dropdown-item:active {
        background-color: transparent !important;
    }
}

span.tt {
    font-family: "Courier New", Courier, monospace;
}

.pagination .page-link, .page-link:focus, .page-link:hover {
    color: rgba(51, 152, 220, 1);
}

.page-item.active .page-link, .page-item.active .page-link:focus, .page-item.active .page-link:hover {
    border-color: rgba(51, 152, 220, 1);
    background-color: rgba(51, 152, 220, 1);
}

.u-header {
    z-index: 1021 !important;
}

.custombox-content > div.g-max-width-600 {
    max-width: 600px !important;
}

#searchform-geo-dropdown .bootstrap-select .dropdown-toggle:focus {
    outline: none !important;
}

#searchform-geo-dropdown .dropdown-menu, #searchform-geo-dropdown .dropdown-menu input {
    border-radius: 0;
}

#searchform-geo-dropdown .dropdown-menu .dropdown-item.active {
    background-color: #3398dc;
}

#searchform-geo-dropdown .dropdown-menu .dropdown-item.active span.text{
    color: white;
}

.u-pagination-v1-2:hover, .u-pagination-v1-2:focus {
    color: white;
    border-color: #3398dc;
    background-color: #3398dc;
}

.air-datepicker-body--day-name {
    color: #3398dc !important;
}

.-selected-.air-datepicker-cell.-day- {
    background-color: #3398dc !important;
    color: white !important;
}

.air-datepicker-overlay.-active- {
    z-index: 1021;
}

.air-datepicker.-is-mobile-.-active- {
    z-index: 1022;
}

.prevent-select {
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}

#rooms-pax-dropdown {
    display: inline-block;
    border: 1px solid #ccc;
}

.custombox-lock {
    overflow: initial !important;
}

.custombox-content>* {
    max-width: initial !important;
    max-height: initial !important;
}

.table-cell-middle {
    display: table-cell;
    vertical-align: middle;
}

ul.list-checkmarks {
    list-style-position: outside;
}

ul.list-checkmarks li {
    padding-left: 5px;
}

ul.list-checkmarks li::marker {
    content: "✓";
    color: #72c02c;
}