.get-a-quote-container{
    margin: 30px 0px 40px 0px;
}

#get-a-quote-left-container-accommodation,#get-a-quote-left-container-extras,#get-a-quote-left-container-your-details,#get-a-quote-left-container-payment{ display: none; }

.v6-btn-rectangle-container__back_button, .v6-btn-rectangle-container__proceed_with_payment_button{ display: none;}

.v6-btn-rectangle{ cursor: pointer; }

.get-a-quote-container h1{
    color: #0519C2;
    font-size: 40px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.get-a-quote-container label{
    font-weight: bold;
    font-size: 19px;
    margin-bottom: 7px;
}

#get-a-quote-left-container{
    width: 95%;
    position: relative;
}

#get-a-quote-left-container .fa-circle-info{
    color: #0519C2;
    font-size: 20px;
    margin-right: 20px;
    margin-top: 14px;
    cursor: pointer;
}

.get-a-quote-container .select2-selection__rendered {
    margin-bottom: 20px;
    border: 2px solid #0519C2;
    margin-top: 5px;
    padding: .675rem 2.25rem .675rem .75rem;
    border-radius: 14px;
}

.get-a-quote-container .select2-selection__arrow {
    background-size: 18px 18px;
    height: 32px;
    margin-top: 4px;
}


.get-a-quote-container  .v6-btn-rectangle{
    width: 88% !important;
    margin: 0;
    text-transform: none;
}

.get-a-quote-container  .v6-btn-rectangle-steps{
    width: 46% !important;
    margin: 0;
    margin-left: 10px;
    float: left;
    text-transform: none;
}

.field-wrapper {
    position: relative;
    display: inline-block;
}

.tooltip-error, .quote-error-message{
    top: 100%;
    left: 0;
    margin-top: 5px;
    background: #d9534f;
    color: #fff;
    padding: 6px 10px;
    font-size: 12px;
    border-radius: 4px;
    white-space: nowrap;
}

.tooltip-error{ display: none; }

.tooltip-error::before, .quote-error-message:before {
    content: "";
    position: absolute;
    top: -6px;
    left: 10px;
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent #d9534f transparent;
}

/* ===== STEPS ===== */
.steps {
    display: none;
    align-items: center;
    gap: 1.5rem;
    font-weight: 600;
    font-size: 18px;
}

.steps span {
    color: #999;
    display: none;
    cursor: pointer;
}

.tab-title{ display: none; }

.steps-counter{
    display: inherit !important;
    color: #000 !important;
    margin-left: 0.5rem;
}

.steps .active {
    color: #000;
    display: inherit;
}

.progress-bar {
    display: none;
    margin-top: 10px;
    height: 6px;
    background: #ddd;
    width: 100%;
    position: relative;
}

.progress-fill {
    height: 6px;
    width: 80px;
    background: #1e2eb8;
}

.booking__loader_container{ height: 2rem; }

.booking__loader{
    display: none;
    height: 2rem;
}

.your-details-row{ margin: 0px !important; }

/* Quote Section */
.summary-card {
    position: sticky;
    top: 100px;
    margin-top: 2rem;
    border: 3px solid #0519C2;
    border-radius: 25px;
    padding: 25px;
}

.summary-title,.tab-title {
    font-size: 22px !important;
    font-weight: bold !important;
    margin-bottom: 15px !important;
}

.summary-meta {
    font-weight: bold;
    margin-bottom: 20px;
    color: #333;
}

.summary-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    font-size: 15px;
}

.summary-row + .summary-row {
    border-top: 1px solid #ccc;
}

.summary-total {
    font-weight: bold;
    font-size: 16px;
    padding-top: 15px;
    border-top: 2px solid #999;
}

.special-offer {
    margin-top: 20px;
    background: #F5C0B24D;
    padding: 12px;
    text-align: center;
    border-radius: 8px;
    color: #0519C2;
    font-weight: bold;
    font-size: 14px;
}

.summary-total__discount{
    color: #DC6951;
    font-weight: bold;
}

.summary-total__before_discount{
    color: black;
    font-weight: bold;
    text-decoration: line-through;
    float: left;
    display: block;
    margin-right: 20px;
}

.get-a-quote-disclaimer{
    font-weight: bold;
    font-size: 1rem;
    margin-top: 2rem;
    padding-top: 2rem;
    clear: both;
}

.get-a-quote-disclaimer a{
    color: black;
    padding-top: 1rem;
    display: block;
}

.popup-message-info{ display: none; }

#popup-course-message-info,#popup-accommodation-message{ display: none; }

.get-quote-acc-img{
    margin: 20px 0px 0px 0px;
    text-align: center;
    display: block;
}

/* pop up design */
/* Overlay background */
.overlay {
    position: fixed;
    inset: 0;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

/* Popup box */
.popup {
    background: white;
    width: 400px;
    max-width: 90%;
    border: 2px solid #4a63d8;
    border-radius: 6px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    position: relative;
    overflow-y: auto;
    min-height: 300px;
    max-height: 470px;
    position: absolute;
    top: 165px;
}

/* Header */
.popup-header {
    background: #d7d9ea;
    padding: 10px 10px 0px 10px;
    font-weight: bold;
    font-size: 16px;
    border-bottom: 1px solid #bfc3e6;

}

/* Content */
.popup-content {
    padding: 0px 20px !important;
    font-size: 16px;
    color: #333;
    margin: 0px !important;
    overflow-x: auto;
    overflow-y: auto;
    max-width: 100%;
}

.popup-header h2{
    font-size: 1rem;
    font-weight: bold;
}

.popup-content ul {
    padding-left: 18px;
    margin-top: 0;
}

.popup-content li {
    margin-bottom: 8px;
}

.popup-content p {
    margin-top: 16px;
    line-height: 1.5;
}

/* Close button */
.close-btn {
    position: absolute;
    top: 110px !important;
    right: 17px !important;
    font-weight: 100;
    font-size: 37px;
    color: #0519c2;
    border: none;
    padding: 5px 10px !important;
    cursor: pointer;
    background: none !important;
}

.close-btn:hover {
    color: #000;
}

#courseDetailsInfoIconLink{
    display: none;
    position: absolute;
    right: -50px;
}

.v6-btn-rectangle_fw{
    margin-top: 1.5rem !important;
    width: 100% !important;
}

#accommodation-main-data{ display: none; }

.details__accommodation-calendar{
    float: left;
    margin-top: 10px;
}

#accommodation_arrival_date{
    margin-left: 1rem;
    margin-right: 1rem;
}

#accommodation_arrival_date,#accommodation_departure_date{
    float: left;
    width: 140px;
    border: 2px solid #0519C2;
    margin-top: 5px;
    padding: .675rem 2.25rem .675rem .75rem;
    border-radius: 14px;
    margin-bottom: 10px;
}

.arrivalDatePicker {
    float: left;
    width: 140px;
    border: 2px solid #0519C2;
    margin-top: 5px;
    padding: .675rem 2.25rem .675rem .75rem;
    border-radius: 14px;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
}

.ui-widget-header {
    border: 0 !important;
    background: white !important;
    color: #0519c2 !important;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
    background: #0519c2 !important;
}

.accommodation-dates {
    padding-bottom: 0.8rem;
}

/* Scope styling only inside this container */

#accommodation-upgrades-container table, #school-extras-container table{
    width:100%;
    border-collapse:collapse;
    margin-bottom: 1.5rem;
}

/* Mobile first */

#accommodation-upgrades-container thead th, #school-extras-container thead th{
    text-align:left;
    padding:12px 8px;
    font-size:14px;
    border-bottom:2px solid #ddd;
}

#accommodation-upgrades-container tbody td,#school-extras-container tbody td{
    padding:14px 8px;
    border-bottom:1px solid #e3e3e3;
    font-size:14px;
}

#accommodation-upgrades-container th:nth-child(2),
#accommodation-upgrades-container td:nth-child(2),
#school-extras-container th:nth-child(2),
#school-extras-container td:nth-child(2){
    text-align:right;
    white-space:nowrap;
}

#accommodation-upgrades-container th:nth-child(3),
#accommodation-upgrades-container td:nth-child(3),
#school-extras-container th:nth-child(3),
#school-extras-container td:nth-child(3){
    text-align:center;
}

/* Toggle switch */

#accommodation-upgrades-container input[type="checkbox"],#school-extras-container input[type="checkbox"]{
    appearance:none;
    width:44px;
    height:24px;
    background:#ccc;
    border-radius:20px;
    position:relative;
    cursor:pointer;
}

#accommodation-upgrades-container input[type="checkbox"]::after,#school-extras-container input[type="checkbox"]::after{
    content:"";
    position:absolute;
    width:20px;
    height:20px;
    background:white;
    border-radius:50%;
    top:2px;
    left:2px;
    transition:0.25s;
}

#accommodation-upgrades-container input[type="checkbox"]:checked,
#school-extras-container input[type="checkbox"]:checked{
    background:#2f5cff;
}

#accommodation-upgrades-container input[type="checkbox"]:checked::after,
#school-extras-container input[type="checkbox"]:checked::after{
    left:22px;
}

#get-a-quote-left-container-your-details input, #get-a-quote-left-container-your-details select, #get-a-quote-left-container-your-details textarea{
    margin-bottom: 20px;
    border: 2px solid #0519C2;
    margin-top: 5px;
    padding: .675rem 2.25rem .675rem .75rem;
    border-radius: 14px;
}

.summary__balance-pay-now{ display: none; }

#Terms_container{
    float: left;
    margin-right: 0.5rem;
}

#Terms_label{
    float: left;
    width: 80%;
}

#paymentCostDetails{
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.ui-datepicker-trigger{
    width: 24px;
    margin-top: 7px;
}

#AirportTransferPriceSection { margin-top: 2rem; }

.i-20-request-container{ display: none; }

/* MEDIA QUERY */
@media screen and (min-width: 768px) {

    #accommodation-upgrades-container thead th,#school-extras-container thead th{
        font-size:16px;
        padding:16px 10px;
    }

    #accommodation-upgrades-container tbody td,#school-extras-container tbody td{
        font-size:15px;
        padding:18px 10px;
    }

}

@media screen and (min-width: 1024px) {

    .get-a-quote-container  .v6-btn-rectangle-steps{
        float: inherit;
        width: 85% !important;
        margin: 0 !important;
    }

    .ui-datepicker-trigger{
        width: inherit;
        margin-top: 0px;
    }
    .tooltip-error { margin-bottom: 1rem; }

    .steps span, .tab-title{ display: inherit; }

    .steps-counter{ display: none !important; }

    #get-a-quote-left-container{ width: 100%; }

    .v6-btn-rectangle-container__back_button{ margin-right: 20px; }

    .v6-btn-rectangle-container__back_button,.v6-btn-rectangle-container__next_button,.v6-btn-rectangle-container__proceed_with_payment_button{
        float: left;
        width: 200px;
    }

    .get-a-quote-disclaimer{
        clear: both;
        padding-top: 2rem;
    }

    .get-a-quote-container label{ font-weight: normal; }

    #course-next-button-container { margin: 0px 15px 0px 0px; }

    .newsletter-col{
        float: left;
        margin-right: 15px;
    }
}

@media screen and (min-width: 1199px) {
    .get-a-quote-container .row{ margin: 1rem; }

    .get-a-quote-container  .v6-btn-rectangle-steps{ width: 100% !important; }

    .get-a-quote-container .v6-btn-rectangle{ max-width: 410px; }

    .progress-bar{ margin-bottom: 1.5rem; }

    .summary-card{
        margin-top: 6rem;
        width: 550px;
        float: right;
    }

    .popup{
        max-height: 520px;
        z-index: 99;
    }
}

@media screen and (min-width: 1440px) {
    .overlay{
        background: inherit;
    }

    .overlay-course{
        width: 500px;
        position: static;
        right: 20px;
    }

    .overlay .close-btn{
        right: 20% !important;
        width: 400px;
        text-align: right;
        top: 205px !important;
        z-index: 100;
    }

    .popup{
        right: 20%;
        max-height: 400px;
        top: 260px;
    }
}

@media screen and (min-width: 1920px) {
    .popup{
        right: 32%;
        top: 325px;

    }

    .overlay .close-btn{
        right: 32% !important;
        top: 309px !important;
        z-index: 100;
    }
}