* { 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;
}

body { background: white; color: black; font-family: 'BoschSans-Regular','Roboto', Arial, sans-serif; font-size: 15px; font-weight: 300; }
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%; }

#header_text:before { left: 0; width: 100%; content: ""; background: url(../images/shape_horizontal.svg) center center/cover no-repeat; position: absolute; height: 20px; z-index: 240; }
#header_text p { padding-top: 50px; }
.p18 #header_text p { display: none; }

.info_text_left #info_text_holder, .info_text_right #info_text_holder, .info_text_left #form_holder, .info_text_right #form_holder { margin: 0;}

#promo_content.info_text_left #info_text_holder { margin: 0; padding: 0; }
#info_text .block1 { background: #008D54; color: white; padding: 40px; }
#info_text .block1 .top { display: flex; justify-content: space-between; align-items: center; margin: 0 0 100px 0; }
#info_text a { color: white; text-decoration: none; }
#info_text a:hover { text-decoration: underline; }
#info_text h2 { font-size: 20px; margin: 0 0 10px 0; }
#info_text h1 { font-size: 30px; font-weight: bold; line-height: 1.2; }
#info_text .block2 { margin: 0 0 15px 0; position: relative; }
#info_text .block2 img { width: 100%; }
#info_text .block2 p.text { color: white; font-size: 12px; line-height: 1.25; position: absolute; bottom: 25px; left: 35%; right: 10%; }
#info_text > p { text-align: center; }
#info_text > p a { background: var(--primary-darkblue); color: white; display: inline-block; padding: 10px 20px; }
#info_text > p a:hover { background: var(--primary-red); text-decoration: none; }

#promo_content, #content { background: transparent; margin: 0 auto; max-width: 1222px; }

.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; }
#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; width: 33.33%!important; }
.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; }

#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); }

#promo_content.info_text_left #form_holder { background: transparent; overflow: hidden; padding-top: 30px; }

.accordion { width: 100%; }
.accordion-toggle { border-bottom: 0; color: #292929; font-size: 24px; margin: 0; padding: 10px 0 10px 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; max-width: 820px; }
.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; }
.SubmitButt, .next_step, .prev_step { background-color: var(--primary-darkblue); 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-red); }

.required { color: red; }
div.required { color: black; margin: 0 0 15px 0;}
div.required span { color: red; }
#form_titles { margin: 0 0 15px 0; }
#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,
#a_l_txt_new_productgroup_all { display: block; font-family: "BoschSans-Black"; font-size: 28px; font-weight: bold; margin: 0; }
#a_l_txt_bank_details_international,
#a_l_txt_bank_revolut { 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; }
#r_payment_method .cbox_list { float: left; width: 50%; }
.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; font-size: 15px; 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_promo_agreement { padding-top: 0; padding-left: 35px; position: relative; }
#r_promo_agreement input { position: absolute; top: 0; left: 15px; }
#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; }
.no_script,
#enable-cookies { position: fixed; z-index: 9999; width: 100%; text-align: center; }

#footer { background: #EFF1F2; font-size: 14px; font-weight: 400; clear: both; width: 100%; }
#footer .container { display: flex; justify-content: space-between; align-items: center; margin: 0 auto; max-width: 1222px; overflow: hidden; padding: 30px 0; }
#footer a { color: black; text-decoration: underline; }
#footer a:hover { text-decoration: none; }
#footer ul { margin: 0; padding: 0; }
#footer li { display: inline-block; list-style: none; margin: 0 50px 0 0; }

#main.ty #form_titles,
#main.ty #printArea,
#main.ty #printArea + p { display: none; }
/* #main.ty #header_text { max-width: 100%; width: 100%; position: fixed; top: 0; left: 0; right: 0; z-index: 100; } */
#main.ty #promo_content { display: flex; justify-content: center; align-items: center; }
#promo_content.info_text_left #info_text_holder { padding-bottom: 30px; }
#main.ty #form_wrapper { font-size: 24px; line-height: 1.5; padding: 100px 0; text-align: center; width: 100%; }
/* #main.ty #footer { position: fixed; bottom: 0; width: 100%; } */

.p19 #header_text p { display: block; padding-bottom: 30px; text-align: center; }

.p111 #header_text p { display: block; padding-bottom: 30px; text-align: center; }
.p111 h1.type2 { font-weight: bold; padding-top: 50px; }

.p413 #header_text { max-width: 100%; width: 100%; position: fixed; top: 0; left: 0; right: 0; z-index: 100; }
.p413 #header_text p { display: block; padding-bottom: 30px; text-align: center; }
.p413 #header_text .ct { display: block; }
.p413 #main { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 90vh; }
.p413 #main h1 { padding-top: 50px; }
.p413 .check-status h2 { border-bottom: 0; }
.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 { 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 { background-color: #333; }
.p413 #footer { position: fixed; bottom: 0; width: 100%; }

@media (max-width: 1222px) {
    #header_text .block2 .roundel { max-width: 20%; }
    #promo_content.info_text_left #info_text_holder,
    #promo_content.info_text_left #form_holder { float: none; width: 100%; }
    #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 .block1 {
        padding-left:15px; padding-right: 15px;
    }
    #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; }
    #main.ty #promo_content { flex-direction: column; }
}
@media (max-width: 900px){
    #content > div > div.lp_layout > div.block1 > p {text-align: left;}
}
@media (max-width: 600px) {
    #header_text .block1 img { max-width: 150px; }
    #header_text .block2 .roundel { max-width: 35%; bottom: auto; top: 50px; }
    #progress_detailed { flex-direction: column; }
    #progress_detailed > div { width: 100%; }
}
@media (max-width: 480px) {
    #info_text .block1 { padding: 30px 15px; }
    #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; max-width: 1280px; }
    .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; }
}
@media (max-width: 380px) {
    #l_purchase_upload_file {
        float: left;
        width: 100%;
    }
}