* { box-sizing: border-box; transition: background-color 0.3s; }
img { max-width: 100%; }

@font-face {
    font-family: "Roboto";
    src: url("../../assets/fonts/Roboto/v1/Roboto-Regular.ttf") format("woff2"),
    url("../../assets/fonts/Roboto/v1/Roboto-Regular.woff") format("woff"),
    url("../../assets/fonts/Roboto/v1/Roboto-Regular.otf") format("otf"),
    url("../../assets/fonts/Roboto/v1/Roboto-Regular.eot") format("eot");
    font-weight: normal;
}
@font-face {
    font-family: "BoschSans-Regular";
    src: url("../../assets/fonts/BoschSans/v1/BoschSans-Regular.woff2") format("woff2"),
    url("../../assets/fonts/BoschSans/v1/BoschSans-Regular.woff") format("woff"),
    url("../../assets/fonts/BoschSans/v1/BoschSans-Regular.otf") format("otf"),
    url("../../assets/fonts/BoschSans/v1/BoschSans-Regular.eot") format("eot");
    font-weight: normal;
}

@font-face {
    font-family: "BoschSans-Black";
    src: url("../../assets/fonts/BoschSans/v1/BoschSans-Black.woff2") format("woff2"),
    url("../../assets/fonts/BoschSans/v1/BoschSans-Black.woff") format("woff"),
    url("../../assets/fonts/BoschSans/v1/BoschSans-Black.otf") format("otf"),
    url("../../assets/fonts/BoschSans/v1/BoschSans-Black.eot") format("eot");
    font-weight: 600;
}


:root {
    --primary-violet: #B70273;
    --primary-purple: #4e2b8a;
    --primary-cyan: #00AAAC;
    --primary-blue: #267EB8;
    --primary-darkblue: #005F99;
    --primary-green: #0c8d54;
    --primary-red: #D3394C;
}

html, body {
  height: 100%;
  margin: 0;
}
body { background: white; color: black; font-family: 'BoschSans-Regular','Roboto', Arial, sans-serif; font-size: 15px; font-weight: 300; 
    display: flex;
    flex-direction: column;
}
a { color: var(--primary-blue); text-decoration: none; transition: background-color 0.3s, color 0.3s; }
a:hover { text-decoration: underline; }

#main { 
    max-width: 100%;
    width: 100%;
    flex: 1;
    display: flex;
    flex-direction: column;
}

#header_text { margin: 0 auto; width: 1200px; max-width: 100%; }
#header_text .block1 { 
    display: grid; 
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: center; 
    padding: 0 0 3rem 0; 
    width: 1200px;
    max-width: 100%;
    height: 600px;
}
#header_text:before { left: 0; width: 100%; content: ""; background: url(../images/shape_horizontal.svg) center center/cover no-repeat; position: absolute; height: 6px; z-index: 240; }
#header_text .headlines {
    height: 100%;
    display: grid;
    justify-items: stretch;
    padding: 3rem 0;
}
.headlines h1 {
    font-family: "BoschSans-Black", sans-serif;
    font-size: 2.8rem;
}
.headlines p {
    font-size: 1.65rem;
    margin-top: 3rem;
}
.headlines small { align-self: end; }
#header_text .block12 img { height: 100%;}
#header_text .block2 { position: relative; }
#header_text .block2 .roundel { position: absolute; bottom: 1.5rem; right: auto; left: 1.5rem; width: 240px; }

#info_text .block1 { padding: 40px 0; display: flex; justify-content: space-between; align-items: center; }
#info_text .block1 p.logo { display: inline-block; }
#info_text .block1 h1 { display: inline-block;}
#info_text h2 { font-size: 30px; }
#info_text h2 em { font-weight: 800; }
#info_text h3 { font-size: 30px; font-weight: 600; margin-bottom: 20px; }
#info_text p.center { padding: 30px; text-align: center; }
#info_text p.center a { background-color: var(--primary-blue); border: 0; color: white; cursor: pointer; display: inline-block; font-family: 'Roboto', Arial, sans-serif; font-size: 20px; margin: 0 0 15px 0; padding: 10px 45px; transition: background-color 0.3s, color 0.3s; }
#info_text p.center a:hover { background-color: #333; text-decoration: none; }

#promo_content, #content { background: transparent; margin: 0 auto; width: 1222px; max-width: 100%; }

.p62 #header_text { display: none; }
.p62 .container { padding: 0px 15px 30px 15px; max-width: 1222px; margin: 0 auto; display: flex; justify-content:space-between; align-items: top; }
.p62 #content:before { left: 0; width: 100%; content: ""; background: url(../images/shape_horizontal.svg) center center/cover no-repeat; position: absolute; height: 6px; z-index: 240; }
.p62 .container .block1 { width: 50%; margin-bottom: 150px; }
.p62 .container .banner {  padding-top: 120px; }

.p19 #header_text .ct { display: block; }
#content {
    padding: 30px 0;
    flex: 1;
}
#content h1 { font-size: 24px; font-weight: bold; margin: 0 0 30px 0; }
#content p { margin: 0 0 15px 0; }
#content ol { list-style: decimal inside; }
#content ul { list-style: disc inside; }
#content table { background-color: #fafafa; width: 100%!important; }
#content table td { border: 1px solid #eee; padding: 5px; }
.tc-box .tc-box-textarea { background: white; border: 1px solid #d0d3d4; padding: 15px; }
.tc-box .tc-box-textarea table { width: 100%!important; }
.tc-box .tc-box-textarea ul li, .tc-box .tc-box-textarea ol li, .tc-box .tc-box-textarea td { font-size: 15px; }

#info_text_holder { margin: 0 auto; max-width: 820px; padding: 30px 0; text-align: center; }
#info_text a { background: var(--primary-red); color: white; display: inline-block; font-size: 24px; padding: 10px 20px; }
#info_text a:hover { background: var(--primary-blue); text-decoration: none; }

#progress_detailed { display: flex; justify-content: space-between; align-items: flex-start; margin: 0 0 30px 0; text-transform: uppercase; }
#progress_detailed > div { border-top: 6px solid #D9D9D9; color: #D9D9D9; font-size: 17px; padding-top: 10px; text-align: center; width: 33.33%; }
.stage1 #progress_detailed > div:nth-child(1),
.stage2 #progress_detailed > div:nth-child(1),
.stage2 #progress_detailed > div:nth-child(2),
.stage3 #progress_detailed > div:nth-child(1),
.stage3 #progress_detailed > div:nth-child(2),
.stage3 #progress_detailed > div:nth-child(3) { border-color: var(--primary-blue); }
.stage1 #progress_detailed > div:nth-child(1) span,
.stage2 #progress_detailed > div:nth-child(1) span,
.stage2 #progress_detailed > div:nth-child(2) span,
.stage3 #progress_detailed > div:nth-child(1) span,
.stage3 #progress_detailed > div:nth-child(2) span,

.stage3 #progress_detailed > div:nth-child(3) span { color: var(--primary-blue); }


#form_holder { background: transparent; overflow: hidden; }

.accordion { width: 100%; }
.accordion-toggle { border-bottom: 0; color: #292929; font-size: 24px; margin: 10px 0; padding: 15px 0 15px 40px; }
.accordion-toggle.active { color: #292929; }
.accordion-toggle:before { background: url(../images/arrow-accordion.png) center no-repeat; border: 0; height: 32px; width: 32px; top: 10px; left: 0; }
.accordion-toggle.active:after { background: url(../images/arrow-accordion.png) center center no-repeat; border: 0; height: 32px; width: 32px; top: 10px; left: 0; transform: rotate(-90deg); }
.accordion-content { padding-left: 40px; }
.accordion b { font-weight: normal; }

#form_holder { margin: 0 auto; width: 820px; max-width: 100%; }
.table-cell label { display: inline-block; padding: 10px 0; }
.table-cell select, 
.table-cell input[type='text'] { border-radius: 0; font-family: 'Roboto', Arial, sans-serif; padding: 8px; width: 100%; }
.table-cell select { padding: 8px 5px; }
#submit-div { 
    padding: 30px 0; 
    text-align: center;
    display: flex;
    justify-content: center;
    gap: 1rem;
    align-items: center;
}
.SubmitButt, .next_step, .prev_step { background-color: var(--primary-red); border: 0; color: white; cursor: pointer; font-family: 'Roboto', Arial, sans-serif; font-size: 20px; margin: 0 0 15px 0; padding: 10px 45px; transition: background-color 0.3s, color 0.3s; }
.SubmitButt:hover, .next_step:hover, .prev_step:hover { background-color: var(--primary-blue); }

.required { color: red; }
div.required { color: black; font-size: 18px; margin: 0 0 15px 0;}
div.required span { color: red; }
#country_promotion { display: block; font-weight: bold; padding: 10px 0; }
#a_l_txt_first_name,
#a_l_txt_payment_method,
#a_l_txt_bank_details_international,
#a_l_txt_bank_revolut,
#a_l_txt_purchased_products_number { display: block; font-size: 36px; margin: 0 0 15px 0; }
#input_block_payment_method { float: none; margin: 0 0 15px 0; width: 100%; }
#date_birth_u_info,
#bank_benficiary_u_info,
#date_purchase_u_info,
#send_purchase_by_u_info,
#bank_beneficiary_rev_u_info,
div[id^="other_promo_code"],
#revolut_tag_u_info,
#bank_benficiary_individual_u_info,
#bank_benficiary_rev_individual_u_info,
#barcode_u_info,
div[id^="date_purchase"] { font-size: 13px; display: block; padding: 5px 0; }
[id^="r_date_purchase"] .table-cell { position: relative; }
.ui-datepicker-trigger { cursor: pointer; position: absolute; top: 5px; right: 5px; }
#add_another_product,
#remove_last_product { background-color: #525E6A; border: 0; color: white; cursor: pointer; font-family: 'Roboto', Arial, sans-serif; font-size: 15px; margin: 0 0 5px 0; padding: 10px; width: 100%; transition: background-color 0.3s; }
#remove_last_product.disabled { display: none; }
#add_another_product:hover,
#remove_last_product:hover { background-color: #333; }
#r_purchase_upload_file { float: right; width: 100%; }
#r_subscribe { padding-left: 20px; position: relative; }
#r_subscribe input { position: absolute; top: 0; left: 0; }
.dynamic_info_logo { top: 6px; }
.desktop-video,
.mobile-video { background: url(../images/icon-video.png) center center no-repeat; display: inline-block; height: 27px; overflow: hidden; text-indent: 100%; white-space: nowrap; width: 27px; }
.desktop-video:hover,
.mobile-video:hover { background: url(../images/icon-video-black.png) center center no-repeat; text-decoration: underline; }
.mobile-video { display: none; }
#r_sms_subscribe { padding-left: 20px; position: relative; }
#r_sms_subscribe input { position: absolute; top: 0; left: 0; }
.field-row .inputfile.inputfile__btn + label { background: var(--primary-red)!important; width: 100%; transition: background-color 0.3s; }
.field-row .inputfile.inputfile__btn + label span { display: block; font-size: 13px; }
.field-row .inputfile.inputfile__btn + label:hover { background: var(--primary-blue)!important; }
#promo_content a.popup { border-radius: 50%; display: inline-block; height: 18px; line-height: 18px; text-align: center; text-decoration: none; width: 18px; }
#send_purchase_by_u_info p { display: inline-block; font-size: 12px; vertical-align: middle; }
#r_purchased_products_number { display: none; }
#purchase_upload_file_u_info p { display: inline; vertical-align: middle; }
#r_purchase_upload_file .table-cell { width: 100%; }
#l_purchase_upload_file,

#r_purchase_upload_file .fileinputs { float: left; width: 50%; }

#r_promo_agreement, #r_terms_conditions_box, #r_subscribe {
    background: #F0F0F1;
    padding: 15px;
}
#r_purchase_upload_file {margin-bottom: 20px;}
#r_promo_agreement {margin-top: 20px;}
#r_promo_agreement { padding-bottom: 0; }
#r_subscribe { padding-left: 35px; padding-top: 5px; }
#r_subscribe input { top: 5px; left: 15px; }
#r_subscribe p { padding: 5px 0; }
#r_answer_43884 .table-cell { float: none; padding-left: 20px; width: 100%; }
#answer_43884 { display: none; }
#r_answer_43885,
#r_answer_43886,
#r_answer_43887 { display: inline-block; margin-right: 30px; max-width: 200px; padding-left: 20px; vertical-align: top; position: relative; }
#r_answer_43885 { margin-left: 20px; }
#r_answer_43885 .table-cell,
#r_answer_43886 .table-cell,
#r_answer_43887 .table-cell { width: 100%; }
#r_answer_43885 label,
#r_answer_43886 label,
#r_answer_43887 label { padding: 0; }
#r_answer_43885 input,
#r_answer_43886 input,
#r_answer_43887 input { position: absolute; top: 0; left: 0; }

#footer { background: #2E3033; font-weight: 400; clear: both; width: 100%; 
    margin-top: auto;
}
#footer .container {
    color: white; 
    margin: 0 auto; 
    max-width: 1222px; 
    width: 100%; 
    padding: 30px 1rem; 
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
}
#footer a { color: white; text-decoration: underline; }
#footer a:hover { text-decoration: none; }
#footer ul { margin: 0; padding: 0; display: flex; gap: 1rem;}
#footer li { display: inline-block; list-style: none; margin: 0 100px 0 0; }

.table-responsive {
    overflow-x: auto;
    max-width: 100%;
}
.p19 #extend_content a { word-wrap: break-word; }

#main.ty #info_text_holder,
#main.ty #form_titles,
#main.ty #printArea,
#main.ty #printArea + p { display: none; }
#main.ty #form_wrapper { font-size: 24px; line-height: 1.5; padding: 100px 0; text-align: center; width: 100%; }

.p111 #faq { padding-bottom: 3rem; }
.p111 h1.type2 { font-weight: bold; padding-top: 50px; }
.p413 #main > h1:last-of-type {
    text-align: center;
    font-size: 1.25rem; 
    line-height: 1.4;
}
.p413 #main > form { 
    width: 100%; 
    margin: 1.5rem auto 3rem auto; 
    padding-left: 1rem;
    padding-right: 1rem;
}
.p413 #header_text .ct { display: block; }
.p413 #main h1 { text-align: unset; }
.p413 .check-status h2 { 
    border-bottom: 0;
    font-size: 1.25rem;
    font-weight: bold;
    padding: 0.5rem 1rem;
}
.check-status .form-field {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: center;
}
.check-status .input-field { 
    width: 100%; 
    float: unset; 
}
.p413 input[type='text'] { padding: 10px; width: 100%; }
.p413 #l_promotion_submission_id { display: inline-block; padding: 10px 0; }
.p413 .form-field.submit { text-align: center; }
.p413 #button_ajax, .btn-new-search { background-color: var(--primary-blue); border: 0; color: white; cursor: pointer; font-family: 'Roboto', Arial, sans-serif; font-size: 20px; margin: 0 0 15px 0; padding: 10px 45px; transition: background-color 0.3s, color 0.3s; }
.p413 #button_ajax:hover, .btn-new-search:hover { background-color: #333; }

@media (max-width: 1222px) {
    #header_text .block1 { padding-bottom: 1rem; }
    #info_text_holder,
    #form_holder, #content, .land-main #content .section .left, .land-main #content .section .right, #info_text, #footer { padding-left: 15px; padding-right: 15px; }
    .first_row.startcol1, .first_row.startcol, .first_row.startgroup1, .second_row { float: none; padding: 0; width: 100%; }
    .field-row .table-cell,
    .field-row .table-cell.coll1 { width: 100%; }
    #r_purchase_upload_file { float: none; width: 100%; }
    #footer .block1 { padding-left: 15px; padding-right: 15px; }
    #footer .fu-1,
    #footer .last { float: none; }
    #footer li { display: block; margin: 10px 0; }
    #main.ty #form_wrapper { max-width: 100%; padding: 50px 0; }
    .fileinputs {clear:none; float:left; width:100%;}
    #l_purchase_upload_file {
        float: left;
        width: 100%;
    }
    #header_text .headlines { padding-left: 1rem; }
    #form_holder { padding-top: 20px; }
    #r_payment_method .cbox_list,
    #l_purchase_upload_file,
    #r_purchase_upload_file .fileinputs { float: none; width: 100%; }
    #promo_content, #content { margin-bottom: 50px; }
}
@media (max-width: 1200px) {
    #header_text { max-width: 100%; }
    #header_text .block1 { height: auto; }
}
@media (max-width: 900px){
    #content > div > div.lp_layout > div.block1 > p {text-align: left;}
    #form_holder { float: none; width: 100%; }
    #header_text .headlines { padding-bottom: 0; }
    .headlines h1 { 
        margin-top: 2rem;
        font-size: 2rem;
    }
    .headlines p { font-size: 1.25rem; }
}
@media (max-width: 720px){
    #header_text .headlines { padding-top: 2rem; }
    .headlines h1 { 
        margin-top: 0;
        font-size: 1.75rem; 
    }
    .headlines p { margin-top: 1.5rem; }
}
@media (max-width: 620px) {
    #header_text .block1 {
        grid-template-columns: 1fr;
    }
    #header_text .block12, #header_text .headlines {
        width: 520px;
        max-width: 100%;
        margin: 0 auto;
        padding: 0; 
    }
    .headlines .logo { margin-top: 2rem; }
    .headlines h1 { 
        margin-top: 3rem; 
        font-size: 2rem; 
    }
    .headlines small { margin-top: 3rem; }
    #progress_detailed { flex-direction: column; }
    #progress_detailed > div { width: 100%; }
}

@media (max-width: 550px) {
    #header_text .block12, #header_text .headlines { width: 100%; }
    #header_text .headlines { padding: 0 1rem; }
}

@media (max-width: 500px) {
    .check-status .form-field { flex-flow: column; }
    .p413 #l_promotion_submission_id { padding: 0; }
    .p413 .check-status .label-field { text-align: center; }
}

@media (max-width: 480px) {
    #info_text p:last-child img { max-width: 100%; }
    #form_titles h3 { font-size: 36px; }
    #r_answer_43886,
    #r_answer_43887 { margin-left: 20px; }
    .land-main #content h1 { font-size: 36px; }
    .land-main #content .section .right img { max-width: 50%; }
    #promo_content, #content { background: transparent; margin: 0 auto 50px auto; }
    .fileinputs {clear:none; float:left; width:100%;} 
    #l_purchase_upload_file {
        float: left;
        width: 100%;
    }
    #gallerycontainer_imgitem_16602, .p62 #gallerycontainer_imgitem_16602 {    max-width: 50%;}
    #l_upload_serial_number1 { width: 70%; }
    .mobile-video { display: inline-block; }
    .desktop-video { display: none; }
    #footer .container { flex-flow: column; }
}
@media (max-width: 380px) {
    #l_purchase_upload_file {
        float: left;
        width: 100%;
    }
}