.form-control, .custom-select {
    --border-success: #80ff84;
    --shadow-success: #04ff0040;
}

.background-image-absolute {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-repeat: no-repeat;
    filter: brightness(.98)
}

.custom-rounded-xl {
    border-radius: 1.5rem;
}

.adaptive-400-300 {
    min-height: 400px;
}

@media (max-width: 1600px) {
    .adaptive-400-300 {
        min-height: calc(300px + (400 - 300) * (100vw - 320px) / (1600 - 320));
    }
}

.animation-hover {
    position: relative;
}


@media (min-width: 576px) and (max-width: 768px) {
    .animation-logo {
        height: calc(110px + (200 - 110) * (100vw - 576px) / (768 - 576));
    }
}

@media (max-width: 576px) {
    .animation-logo {
        height: 200px;
    }
}

.animation-logo > img {
    height: 89%;
    object-fit: contain;
}

.img3d {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.img3d#textOnline3d {
    object-fit: none;
}

@media (max-width: 768px) {
    .img3d#textOnline3d {

        transform: translateX(calc(0px + (50 - 0) * (100vw - 320px) / (768 - 320)));
    }
}

.inputTypeTicket:checked + .labelTypeTicket {
    background-color: #009900;
    color: #ffffff;
}

.form-control:focus, .custom-select:focus {
    border-color: var(--border-success);
    box-shadow: var(--shadow-success);
}

.otherDestinations {
    position: relative;
    transition: .3s ease;
}

.otherDestinations:after {
    content: "";
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    border-color: #6c757d;
    border-top: 3px solid;
    border-right: 3px solid;
    position: absolute;
    right: -2rem;
    top: calc(30%);
    transform: rotate(45deg);
    transition: .3s ease;
}

.otherDestinations:hover:after {
    right: -2.5rem;
    filter: brightness(.7);
}

.otherDestinations:hover {
    filter: brightness(.7);
}

.inputClassTicket {
    position: relative;
    transition: .2s ease;
}

.inputClassTicket:before {
    content: "";
    position: absolute;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background-color: #dedede;
    top: 50%;
    border-radius: 50%;
    transform: translateY(-50%);
    left: 0;
}

input[name="classTicket"]:checked ~ .inputClassTicket:before {
    animation: checkedClassTicketBefore .3s ease;
    border-radius: 10%;
}

@keyframes checkedClassTicketBefore {
    0% {
        border-radius: 50%;
    }
    100% {
        border-radius: 10%;
    }
}

.inputClassTicket:after {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    color: var(--success);
    display: block;
    position: absolute;
    left: .5rem;
    top: 50%;
    opacity: 0;
    transform: translateY(-50%) translateX(-25%);
}

input[name="classTicket"]:checked ~ .inputClassTicket:after {
    animation: checkedClassTicketAfter .3s ease;
    opacity: 1;
}

@keyframes checkedClassTicketAfter {
    0% {
        opacity: 0;
        transform: translateY(-75%) translateX(-25%);
    }
    100% {
        opacity: 1;
        transform: translateY(-50%) translateX(-25%);
    }
}

#blockPassengers, #blockGuests,#blockGuestsTours,#blockPassengersTrain {
    transition: .2s ease;
    top: 150%;
    width: 120%;
    left: -10%;
    z-index: 1000;
}

@media (max-width: 991px) {
    #blockPassengers, #blockGuests,#blockGuestsTours,#blockPassengersTrain {
        width: 100%;
        left: 0;
    }
}

#blockPassengers.d-flex,
#blockGuests.d-flex,
#blockGuestsTours.d-flex,
#blockPassengersTrain.d-flex{
    top: 120%;
    animation: showBlockPassengers .2s ease;
}

@keyframes showBlockPassengers {
    0% {
        top: 150%;
        opacity: 0;
    }
    100% {
        top: 120%;
        opacity: 1;
    }
}
a .cardCityHomeText{
    transition: .2s ease;
}
a:hover .cardCityHomeText{
    font-size: 1.75rem;
}