@media screen and (max-width: 991px) {
    .footer-menu.quick-links-menu {
        display: none;
    }
    .footer-menu.other-links-menu {
        display: none;
    }
    .footer-menu.conservation-menu {
        display: none;
    }
    .footer-content-inner {
        flex-direction: column;
        padding: 30px 0;
        gap: 30px;
    }
    .footer-newsletter-wrapper {
        padding: 30px 16px 0;
    }
    .footer-newsletter-form.down.fromLeft {
        width: 100%;
    }
    .footer-content-inner .odysseo-logo svg {
        height: auto;
        width: 150px;
    }
    .footer-content-inner .odysseo-logo {
        width: auto;
        height: auto;
    }
    .footer-menus-holder.white-color {
    width: 100%;
    justify-content: flex-start;
    }
    .footer-content-inner .odysseo-logo img {
        width: 150px;
        height: auto;
    }
    .footer-menu-title {
        margin-bottom: 20px;
    }
    .copyright-inner {
        align-items: flex-start;
        flex-direction: column;
        padding: 15px 0 20px;
        gap: 15px;
    }
    .rights-reserved-holder * {
        line-height: 18px;
        font-size: 14px;
        flex-wrap: wrap;
    }
    .policy-menus-holder ul li * {
        line-height: 15px;
        font-size: 11px;
    }
    .footer-contact-us-link-item {
        line-height: 18px;
        font-size: 14px;
    }
    .footer-contact-us-message a {
        line-height: 18px;
        font-size: 14px;
    }
    .subscribe-text p {
        line-height: 18px;
        font-size: 15px;
    }
    .subscribe-title p {
        line-height: 34px;
        font-size: 24px;
    }
    .subscribe-title {
        margin-bottom: 15px;
    }
    .subscribe-text {
        margin-bottom: 20px;
    }
    .subscribe-form .gform-theme.gform-theme--framework.gform_wrapper .gform_footer input.button[type=submit] {
        padding: 10px 20px;
        line-height: 18px;
        font-size: 14px;
        height: 45px;
    }
    .subscribe-form .gform-theme.gform-theme--framework.gform_wrapper .ginput_container_email input {
        padding: 10px 0 10px 20px !important;
        line-height: 18px;
        font-size: 14px;
        height: 45px;
    }
    .subscribe-form .gform-theme.gform-theme--framework.gform_wrapper .ginput_container_email input::placeholder {
        line-height: 18px;
        font-size: 14px;
    }
    .subscribe-form .gform-theme.gform-theme--framework.gform_wrapper .gform-body.gform_body .gform_fields .gfield--type-email {
        margin-bottom: 10px;
    }
    .gform-theme.gform-theme--framework.gform_wrapper .custom-check label {
        padding-left: 30px;
        line-height: 16px;
        font-size: 12px;
    }
    .gform-theme.gform-theme--framework.gform_wrapper .custom-check label:before {
        height: 16px;
        width: 16px;
        top: 0;
    }
    .gform-theme.gform-theme--framework.gform_wrapper .custom-check label:after {
        height: 10px;
        width: 5px;
        left: 6px;
        top: 2px;
    }
    .footer-newsletter-pattern-wrapper {
        height: auto;
        width: 200px;
        left: -40px;
        top: -40px;
    }
    .footer-newsletter-pattern svg {
        object-fit: cover;
        height: 100%;
        width: 100%;
    }
    .subscribe-form .gfield--type-captcha iframe {
        transform: scale(0.7);
        margin-left: -45px;
        margin-top: -10px;
    }
    .woocommerce-cart-checkout-step-line {
        display: none;
    }
    p.dashboard-go-to-cart-btn-wrapper a {
        margin: 40px 0 0;
        border: 1px solid transparent;
        text-transform: uppercase;
        background: #FFDE42;
        border-radius: 30px;
        padding: 12px 25px;
        line-height: 20px;
        color: #012D53 !important;
        font-weight: 700;
        font-size: 16px;
        display: block;
        transition: 0.6s all ease-in-out;
        width: fit-content;
    }
    p.dashboard-go-to-cart-btn-wrapper a:hover {
        border-color: #012D53;
        background: #012D53;
        color: #FFDE42 !important;
    }
    .woocommerce-MyAccount-content {
        max-width: 90%;
        margin: 50px auto -50px;
    }
    nav.woocommerce-MyAccount-navigation {
        margin-top: -25px;
    }
}

@media screen and (min-width: 320px) and (max-width: 767px) {

    .woocmmerce-cart .woocommerce-cart-top-left {
        position: inherit;
        margin: 30px auto 30px;
        width: 90%;
    }
    .woocommerce-cart footer#colophon:after, .woocommerce-checkout footer#colophon:after {
        height: 90px;
        top: -43px;
    }
    .woocommerce-checkout .woocommerce-cart-top-left {
        position: initial;
        margin-top: 35px;
    }
    .header-container.odysseo-widthcontainer {
        display: flex;
        flex-direction: column-reverse;
    }
    .woocommerce-cart .landing-page-site .site-logo,
    .woocommerce-checkout .landing-page-site .site-logo {
        padding-bottom: 0;
        justify-content: flex-start;
        width: 90%;
        margin: 0 auto;
        padding-top: 25px;
    }
    .woocommerce-cart-top-text-wrapper h2 {
        font-size: 21px;
    }
    form#booking-cart-form, form.woocommerce-checkout {
        padding: 30px 15px;
        border-radius: 15px;
        margin-top: 25px;
    }
    .booking-cart-opening-hours:before {
        left: -13%;
    }
    .booking-date-opening-hours {
        gap: 15px;
    }
    .booking-cart-opening-hours {
        display: flex;
        flex-direction: column;
        width: 85% !important;
        margin: 0 0 0 auto;
    }
    .booking-cart-date {
        width: 80%;
        margin: 0 auto;
    }
    .cart-booking-product {
        flex-direction: column;
        align-items: flex-start;
        position: relative;
        padding-left: 45px;
    }
    .woocommerce-cart-form-left .qty-control .qty-input {
        text-align: center;
    }
    .cart-booking-product input.product-checkbox {
        position: absolute;
        left: 10px;
        top: 3px;
    }
    .cart-booking-product span.product-price {
        margin: 10px 0;
    }
    .qty-control .qty-input {
        width: 40px;
    }
    .qty-control {
        width: 125px;
    }
    .booking-total-preview {
        margin: 50px auto 25px;
        text-align: center;
    }
    .cart-checkout-next {
        text-align: center;
    }
    .woocommerce-cart-odysseo-notice {
        padding: 30px 20px;
    }
    .woocommerce-cart section#primary .site-main, .woocommerce-checkout section#primary .site-main {
        padding-bottom: 5px;
    }
    .woocommerce-cart-checkout-step {
        display: none;
    }
    .woocommerce-cart-checkout-step.active {
        display: flex;
    }
    .woocommerce-cart-checkout-step:not(:last-child):after {
        display: none;
    }
    .woocommerce-cart-checkout-steps {
        justify-content: center;
    }
    .woocommerce-cart-checkout-step.active.completed {
        display: none;
    }
    form.woocommerce-checkout .checkout-step {
        flex-direction: column;
        gap: 40px;
    }
    .woocommerce-cart .woocommerce-cart-top-left {
        position: initial;
        margin-top: 35px;
    }
    .checkout-step-2-left {
        width: 100%;
    }
    .checkout-step-2-right {
        width: 100%;
    }
    .form-row.form-group {
        /* display: flex; */
        width: 85% !important;
    }
    .checkout-step-2-right input#billing_phone {
        width: 100%;
    }
    .checkout-step-2-right p#terms_conditions_field {
        margin-top: 20px;
    }
    .checkout-step-2-right .step-nav {
        margin-top: 30px;
        flex-direction: column;
        gap: 30px;
    }
    .woocommerce .checkout-step-2-right .input-checkbox {
        appearance: checkbox;
    }
    .checkout-step-3-left {
        width: 100%;
        padding: 25px;
    }
    .checkout-cart-item-wrapper {
        flex-direction: column;
        gap: 0;
    }
    .checkout-cart-item {
        gap: 15px;
    }
    .checkout-step-3-left-cart {
        margin: 30px 0 15px;
    }
    .checkout-step-3-left-contact p strong {
        width: 50%;
    }
    .checkout-step-3-left-contact p {
        justify-content: space-between;
        font-size: 14px;
    }
    .checkout-step-3-left-contact p span {
        text-align: right;
    }
    .item-name-quantity-wrapper span {
        font-size: 15px;
    }
    p.item-price-unit {
        font-size: 15px;
    }
    .checkout-cart-item span.item-price {
        font-size: 15px;
    }
    .checkout-cart-totals p {
        font-size: 16px;
    }
    .checkout-step-3-right {
        width: 100%;
        padding: 30px 20px;
    }
    .checkout-step-3-right .step-nav {
        flex-direction: column;
        gap: 15px;
        width: 75%;
        margin: 0 auto;
    }
    .checkout-step-3-right button.button {
        font-size: 15px;
    }
    .order-received-wrapper {
        padding: 60px 25px 30px;
        width: 95%;
        margin: 50px auto;
    }
    .order-received-wrapper h2 {
        font-size: 20px;
    }
    .order-received-wrapper > p {
        max-width: 100%;
        font-size: 22px;
    }
    .order-received-contact-info {
        max-width: 100%;
    }
    .order-received-contact-info p {
        width: 100%;
        font-size: 15px;
        justify-content: space-between;
        text-align: right;
    }
    .order-received-contact-info p strong {
        width: 50%;
        text-align: left;
    }
    .digital-passes-wrapper {
        margin: 40px 0 20px;
        max-width: 100%;
    }
    .digital-passes-btn {
        margin-top: 10px;
    }
    .checkout-step-3-right {
        border-radius: 0 0 30px 30px;
    }
    .time-selection-wrapper {
        margin: 0 auto;
        width: 80%;
    }
    .time-selection-wrapper select {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        text-align-last: center;
    }
    .time-selection-wrapper select, .booking-cart-date input {
        width: 100%;
        text-align: center !important;
    }
    .booking-cart-date:before, .time-selection-wrapper:before {
        width: 15%;
        text-align: center;
    }
    .booking-cart-date:after, .time-selection-wrapper:after {
        left: 15%;
    }
    .booking-cart-date, .time-selection-wrapper {
        padding: 0;
    }
    .footer-menu.contact-us-menu {
        width: 65%;
    }
    .woocommerce-cart .woocommerce {
        padding-top: 50px;
    }
    .woocommerce-checkout .woocommerce {
        padding-top: 75px;
    }
    /* .woocommerce-cart footer#colophon:after, .woocommerce-checkout footer#colophon:after {
        bottom: 23.6%
    } */
    .cart-booking-product span.product-name {
        width: fit-content;
    }
    .woocommerce-order-pay section#primary {
        height: fit-content;
    }
    .woocommerce-checkout.woocommerce-order-pay .woocommerce {
        padding: 50px 0;
    }
    .woocommerce-checkout.woocommerce-order-received .woocommerce {
        width: 100%;
    }
    .woocommerce .digital-passes-btn-container .ticket-download-item a {
        font-size: 15px;
    }
    .woocommerce form .form-row-last, .woocommerce-page form .form-row-last {
        float: none;
    }

}

@media screen and (min-width: 768px) and (max-width: 1024px) {

    .woocommerce-cart-top-left {
        position: inherit;
        margin: 30px auto;
        width: 90%;
    }
    .woocommerce-order-pay section#primary {
        height: fit-content;
    }
    .woocommerce-cart footer#colophon:after, .woocommerce-checkout footer#colophon:after {
        top: -43px;
        height: 90px;
    }
    .header-container.odysseo-widthcontainer {
        display: flex;
        flex-direction: column-reverse;
    }
    .woocommerce-cart .landing-page-site .site-logo {
        padding-bottom: 0;
        justify-content: flex-start;
        width: 90%;
        margin: 0 auto;
    }
    .woocommerce-cart-top-text-wrapper h2 {
        font-size: 21px;
    }
    form#booking-cart-form, form.woocommerce-checkout {
        padding: 30px;
        border-radius: 15px;
        margin-top: 25px;
        flex-direction: column;
        width: 90%;
        margin: 25px auto 150px;
    }
    .woocommerce-checkout .woocommerce-cart-top-left {
        margin: 0 auto;
    }
    .booking-cart-opening-hours:before {
        left: -10%;
    }
    .booking-date-opening-hours {
        gap: 40px;
        justify-content: center;
    }
    .booking-cart-opening-hours {
        display: flex;
        flex-direction: column;
        width: 85% !important;
        margin: 0 0 0 40px;
    }
    .cart-booking-product {
        flex-direction: row;
        align-items: center;
        position: relative;
        padding-left: 45px;
        margin: 20px 0px;
        justify-content: space-evenly;
    }
    /* form#booking-cart-form, form.woocommerce-checkout {
        margin-bottom: 400px;
    } */
    .woocommerce-cart .ui-datepicker {
        top: 45% !important;
    }
    .woocommerce-cart-form-left {
        width: 100%;
    }
    .woocommerce-cart-form-right {
        width: 100%;
    }
    .cart-booking-product input.product-checkbox {
        position: absolute;
        left: 10px;
        top: 8px;
    }
    .cart-booking-product span.product-price {
        margin: 0 30px;
    }
    .woocommerce-cart-form-left .qty-control .qty-input {
        width: 50px;
        text-align: center;
    }
    .qty-control {
        width: 125px;
    }
    .booking-total-preview {
        margin: 50px auto 25px;
        text-align: center;
    }
    .cart-checkout-next {
        text-align: center;
    }
    .woocommerce-cart-odysseo-notice {
        padding: 30px 20px;
    }
    .woocommerce-cart section#primary .site-main, .woocommerce-checkout section#primary .site-main {
        padding-bottom: 5px;
    }
    .woocommerce-cart-checkout-step {
        display: none;
    }
    .woocommerce-cart-checkout-step.active {
        display: flex;
    }
    .woocommerce-cart-checkout-step:not(:last-child):after {
        display: none;
    }
    .woocommerce-cart-checkout-steps {
        justify-content: center;
    }
    .woocommerce-cart-checkout-step.active.completed {
        display: none;
    }
    form.woocommerce-checkout .checkout-step {
        flex-direction: column;
        gap: 40px;
    }
    .checkout-step-2-left {
        width: 100%;
    }
    .checkout-step-2-right {
        width: 100%;
    }
    .form-row.form-group {
        /* display: flex; */
        width: 100% !important;
    }
    .checkout-step-2-right input#billing_phone {
        width: 100%;
    }
    .checkout-step-2-right p#terms_conditions_field {
        margin-top: 20px;
    }
    .checkout-step-2-right .step-nav {
        margin-top: 30px;
        flex-direction: column;
        gap: 30px;
    }
    .woocommerce .checkout-step-2-right .input-checkbox {
        appearance: checkbox;
    }
    .checkout-step-3-left {
        width: 100%;
        padding: 25px;
    }
    .checkout-cart-item-wrapper {
        flex-direction: column;
        gap: 0;
    }
    .checkout-cart-item {
        gap: 15px;
    }
    .checkout-step-3-left-cart {
        margin: 30px 0 15px;
    }
    .checkout-step-3-left-contact p strong {
        width: 50%;
    }
    .checkout-step-3-left-contact p {
        justify-content: space-between;
        font-size: 16px;
    }
    .checkout-step-3-left-contact p span {
        text-align: right;
    }
    .item-name-quantity-wrapper span {
        font-size: 15px;
    }
    p.item-price-unit {
        font-size: 15px;
    }
    .checkout-cart-item span.item-price {
        font-size: 15px;
    }
    .checkout-cart-totals p {
        font-size: 16px;
    }
    .checkout-step-3-right {
        width: 100%;
        padding: 30px 20px;
    }
    .checkout-step-3-right .step-nav {
        flex-direction: column;
        gap: 15px;
        width: 40%;
        margin: 0 auto;
    }
    .checkout-step-3-right button.button {
        font-size: 15px;
    }
    .order-received-wrapper {
        padding: 60px 25px 30px;
        max-width: 90%;
        margin: 75px auto 150px;
    }
    .order-received-wrapper h2 {
        font-size: 20px;
    }
    .order-received-wrapper > p {
        max-width: 100%;
        font-size: 22px;
    }
    .order-received-contact-info {
        max-width: 100%;
    }
    .order-received-contact-info p {
        width: 100%;
        font-size: 15px;
        justify-content: space-between;
        text-align: right;
    }
    .order-received-contact-info p strong {
        width: 50%;
        text-align: left;
    }
    .digital-passes-wrapper {
        margin: 40px 0 20px;
        max-width: 100%;
    }
    .digital-passes-btn {
        margin-top: 10px;
    }
    .checkout-step-3-right {
        border-radius: 0 0 30px 30px;
    }
    .landing-page-site .site-logo {
        padding: 30px 0;
    }
    .woocommerce-cart-checkout-step-line {
        display: none;
    }
}