:root {
    --bs-border-width: 2px !important;
    --bs-body-color: #1d1d1d;
    --bs-body-font-size: 1.125rem;
}

/* @font-face {
    font-family: 'cervoneue-lightneue';
    src: url('../../fonts/cervoneue-lightneue-webfont.woff2') format('woff2'),
         url('../../fonts/cervoneue-lightneue-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'cervoneue-boldneue';
    src: url('../../fonts/cervoneue-boldneue-webfont.woff2') format('woff2'),
         url('../../fonts/cervoneue-boldneue-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'cervoneue-blackneue';
    src: url('../../fonts/cervoneue-blackneue-webfont.woff2') format('woff2'),
         url('../../fonts/cervoneue-blackneue-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
} */

.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:focus-visible,
.btn:first-child:active {
    color:#fff;
}

h1, h2, h3,
h1 strong, h2 strong {
    /* font-family: 'cervoneue-boldneue', Roboto, Arial, Helvetica, sans-serif !important; */
}

h1 {
    font-size:23px;
    font-weight:600;
}

h1 span {
    padding-top:14px;
}

h2 {
    font-size: 1.125rem;
    font-weight:600;
    margin-bottom: 0;
    margin-top:2.5rem;
    margin-bottom:1rem;
}

.small_print {
    font-size:16px;
    color:#6a6a6a;
}

img {
    max-width: 100%;
}

header {
    border-bottom: 1px solid #B4B4B4;
}

#logo {
    height:86px;
}

.text-upper {
    text-transform: uppercase;
}


.bg-secondary-soft25 {
    background-color: #DCEBED;
}

.bg-pale-gray {
    background-color: #EAE8DE;
}

/* Style focus and checkbox to be teal */
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.25rem rgba(153,185,189,1);
}

.form-check-input {
    border-color: #004f59 !important;
}

.form-check-input:checked {
    background-color: #004f59;
    
}
/* /Style focus and checkbox to be teal */

input,
select {
    border-color:#C4C3BF !important;
}

.form-check-input[type="checkbox"],
.form-check-input[type="radio"] {
    width: 28px;
    height: 28px;
    margin-left: -3rem;
    border-color:#C4C3BF;
}

.form-check {
    padding-left: 3rem;
}

p.sub_label {
    /* color:#999; */
    color:#6a6a6a;
}

p.checkbox_sub_label {
    margin-bottom:0;
}

label.form-check-label {
    font-weight: normal;
    padding-top:5px;
}

label.form-check-label strong {
    font-weight: normal;
}

.amount_description {
    margin-bottom:1rem;
}

div > div.mb-3:last-of-type {
    margin-bottom: 0 !important;
}

.mb-3.mb-0 {
    margin-bottom: 0 !important;
}

.field label {
    margin-bottom:0.125rem;
}

#field-sponsor_country_child,
#field-s_c_field {
    margin-bottom: 1rem !important;
}

.center-parent {
    height:100%;
    min-height: 156px;

    /* Center vertically and horizontally */
    display: flex;
    justify-content: center;
    align-items: center;
}

.form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23004F59' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
}

.field-error {
    border-color:#f1aeb5;
    background-color:#f8d7da;
}



.bg-teal {
    background-color:#004F59;
}

#form_area {
    background-color: #fff;
}

#description_area {
    margin:auto;
    max-width:500px;
    color:white;
    background-color: #004F59;

    padding: 30px;
    border-radius: 16px;
    margin-bottom:30px;
}

#form_area .step {
    /* padding-left:140px;
    padding-right:140px; */
    padding-left:20%;
    padding-right:20%;
    padding-bottom: 1px;
}

.step-highlight {
    background-color: #f3f3f3;
}

.page-home main,
.page-christmas-parcels main,
.page-xp main {
    width: 100%;
    min-height: 100vh;
    background-color:#004F59;
}

.amount_description_group {
    border: 2px solid #b4b4b4;
    border-radius: var(--bs-border-radius);
}

#amount_other_addon {
    background-color: #F3F3F3 !important;
    border:2px solid #fff !important;
}


@media only screen and (max-width: 575.9px) {
    #form_area .step {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 576px) {
    #logo {
        width:auto;
    }
}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
    

}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
    
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {

}

.btn-primary {
    padding-top: 12px;;
    padding-bottom: 12px;;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible {
    background-color: #BA4210 !important;
    border-color: #BA4210 !important;
}

.btn-primary:active {
    background-color: #A23A0E !important;
    border-color: #A23A0E !important;
}

footer {
    background-color: #1E1E1E;
}

.page-404 main {
    min-height: 400px;
}

/* Keep the default state white with secondary text/border */
.gift_handle_label {
    background-color: #fff !important;
    color: #004F59 !important;
    border-color: #004F59 !important;
}

/* Hover state: Secondary background with white text */
.gift_handle_label:hover,
.amount_radio:checked + .gift_handle_label:hover,
.how_often_toggle:hover {
    background-color: #00373E !important;
    color: #fff !important;
}

/* Checked state (Optional: if you want the selected radio button to stay highlighted) */
.amount_radio:checked + .gift_handle_label {
    background-color: #004F59 !important;
    color: #fff !important;
}

.p-2_5 {
    padding: 2.5rem;
}
.py-2_5 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
.pt-2_5 {
    padding-top: 2.5rem;
}
.pb-2_5 {
    padding-bottom: 2.5rem;
}

.grey_line_top {
    border-top: 1px solid #B4B4B4;
}
.grey_line_bottom {
    border-bottom: 1px solid #B4B4B4;
}


/* Cookie notice styles */
.freeprivacypolicy-com---palette-light .cc-nb-okagree,
.freeprivacypolicy-com---palette-light .cc-nb-reject,
.freeprivacypolicy-com---palette-light .cc-cp-foot-save {
    background-color:#CE4B12 !important;
}

.freeprivacypolicy-com---pc-dialog input[type=checkbox].cc-custom-checkbox:checked+label:before {
    background-color: #004F59 !important;
}

.freeprivacypolicy-com---palette-light .cc-pc-head-lang select:focus {
    box-shadow: 0 0 0 2px #CE4B12 !important;
}

.cc-nb-main-container {
    padding:15px !important;
}
/* /Cookie notice styles */



/* Footer styles */
footer#cookie_banner {
    background-color: #000;
    color:#fff;
    position: fixed;
    bottom: 0;
    width: 100%;
    padding: 0;
    z-index: 999;
}

footer#cookie_banner p {
    margin: 0;
    padding: 16px 0;
    text-align: center;
}
/* /Footer styles */



#cookie_banner .col-sm-10 a {
    color:#fff;
    text-decoration: underline;
}

.amount-sub-text {
    color: #6A6A6A;
    margin-top: -9px;
}

@media only screen and (max-width: 576px) {
    #gb_fr_logo {
        max-height:40px;
    }
}

@media (min-width: 992px) { /* Only apply on desktop (lg breakpoint) */
    .sticky-image-container {
        position: sticky;
        top: 0;
        height: 100vh; /* Keeps the container viewport height */
        display: flex;
        align-items: center; /* Centers image vertically if it's smaller than the screen */
    }

    .sticky-image-container img {
        height: 100%;
        object-fit: cover;
    }
}

/* hover on all fields */
input:hover, select:hover {
    box-shadow: 0 0 0 0.25rem rgba(153, 185, 189, 0.5);
}

.form-select,
.form-control {
    transition: border-color 0s ease-in-out, box-shadow 0s ease-in-out !important;
}