html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    padding: 0;
    margin: 0;
	border: 0;
    font-size: 100%;
    font-weight: normal;
	font: inherit;
	vertical-align: baseline;
}

a, a:hover{
  	text-decoration: none;
  	color: inherit;
}

:focus{
  	outline: 0;
}

input, select, textarea{
	outline: none;
	resize: none;
}

*::selection{
	background-color: #e93909;
	text-shadow: none;
	color: #ffffff;
}

*::-moz-selection{
	background-color: #e93909;
	text-shadow: none;
	color: #ffffff;
} 	

.clear{
    clear: both;
}

.hidden{
    display: none !important;
}

/* layout */
#fade{
  	position: fixed; top: 0; left: 0;
  	width: 100%;
  	height: 100%;
  	display: block;
  	background: #ffffff;
}

body{
	background: url(../gfx/bg.jpg) no-repeat center 246px;
	background-size: 100% auto;
}

body.bg2{
	background: url(../gfx/bg2.jpg) no-repeat center 80px;
	background-size: 100% auto;
}

body.bg3{
	background: url(../gfx/bg3.jpg) no-repeat center 80px;
	background-size: 100% auto;
}

body.white{
	background: #ffffff;
}

.container{
	max-width: 1920px;
}

#header{
	width: 100%;
	height: 176px;
}

#header nav{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#logo_novitus{
	position: relative;
	width: 160px;
	height: 18px;
	display: block;
	float: left;
	margin: 0 61px 0 0;
}

#logo_novitus::after{
	content: "";
	position: absolute; top: -3px; right: -30px;
	width: 1px;
	height: 24px;
	display: block;
	background: #b5b5b5;
	pointer-events: none;
}

#logo_soga{
	width: 67px;
	height: 19px;
	display: block;
	float: left;
}

#logo_novitus img, #logo_soga img{
	width: 100%;
	height: auto;
	display: block;
}

#logo_novitus_mobile, #logo_soga_mobile{
	display: none;
}

#header nav ul{
	list-style: none;
}

#header nav ul li{
	position: relative;
	display: block;
	float: left;
}

#header nav ul li a{
	position: relative;
	height: 176px;
	display: block;
	padding: 0 17px;
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 22px;
	line-height: 176px;
	color: #000000;
}

#header nav ul li a span{
	position: relative;
	display: block;
}

#header nav ul li a span::after{
	content: "";
	position: absolute; top: 108px; left: 0;
	width: 100%;
	height: 3px;
	background: #e93a09;
	transform: scaleX(0);
	transform-origin: bottom right;
	transition: transform 0.15s ease-out;
}
  
#header nav ul li.active a span::after, #header nav ul li:hover a span::after{
	transform: scaleX(1);
	transform-origin: bottom left;
}

#header nav ul li.has_submenu a::before{
	content: "";
	position: absolute; top: 50%; left: 0; z-index: -1;
	width: 100%;
	height: 44px;
	background: #b1afaf;
	transform: translateY(-50%) scaleX(0);
	transform-origin: bottom right;
	transition: transform 0.15s ease-out;
}

#header nav ul li.has_submenu:hover a::before{
	transform: translateY(-50%) scaleX(1);
	transform-origin: bottom left;
}

#header nav ul li.has_submenu:hover a span::after{
	transform: scaleX(0);
	transform-origin: bottom right;
}

#header nav ul li.has_submenu div{
	position: absolute; top: calc(50% + 22px); left: -20px; z-index: 1;
	width: auto;
	height: auto;
	padding: 12px 0;
	background: #b1afaf;
	opacity: 0;
	pointer-events: none;
	transition: all 0.15s ease-out;
}

#header nav ul li.has_submenu div a{
	height: auto;
	padding: 0 17px;
	font-weight: 700;
	font-size: 22px;
	line-height: 42px;
	white-space: nowrap;
	transition: color 0.1s linear;
}

#header nav ul li.has_submenu div a:hover{
	color: #ffffff;
}

#header nav ul li.has_submenu:hover div{
	left: 0;
	opacity: 1;
	pointer-events: auto;
}

#menu_mobile_button{
	display: none;
}

#menu_mobile{
	display: none;
}

#footer{
	width: 100%;
	padding: 0 0 80px;
}

#footer > .container > .row > div{
	overflow: hidden;
}

#footer .last{
	padding-left: 55px;
}

#footer #copyright{
	position: relative;
	display: inline-block;
	padding: 0 25px 0 0;
	margin: 0 0 24px;
	font-weight: 900;
	color: #808080;
}

#footer #copyright::after{
	content: "";
	position: absolute; top: 11px; left: 301px;
	width: 1000px;
	height: 1px;
	display: block;
	background: #d9d9d9;
}

#footer h4{
	font-weight: 900;
	color: #e93a09
}

#footer ul{
	margin: 20px 0 0;
	list-style: none;
}

#footer ul li{
	padding: 2px 0;
}

/* forms */
.form_text{
	width: 100%;
	height: 47px;
	padding: 0 19px;
	border: 2px solid #cfcfcf;
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 26px;
	line-height: 43px;
	color: #000000;
}

.form_text.error{
	border-color: #e93a09;
}

label.error{
	position: absolute; bottom: -20px; right: 15px;
	width: 100%;
	display: block;
	margin: 0;
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 15px;
	line-height: 15px;
	text-align: right;
	color: #e93a09;
}

label.error#form_terms-error{
	top: -20px; left: 0px; bottom: auto; right: auto;
	text-align: left;
}

label.error#form_terms-error ~ .checkbox{
	border-color: #e93a09;
}

.quick_contact label.error{
	left: 0; right: auto;
	max-width: 343px;
}

.choice_box .quick_contact label.error{
	left: 0; right: auto;
	max-width: 393px;
}

#configurator label.error{
	top: 52px; bottom: auto;
}

#configurator label.error#form_terms-error{
	top: -20px; left: 68px;
}

#configurator.step_3 label.error{
	position: static;
	max-width: 390px;
	margin: 5px 0 0;
}

.form_button{
	position: relative;
	width: 86px;
	height: 45px;
	padding: 0;
	margin: 0;
	border: 0;
	outline: 0;
	background: #e93a09;
	border-radius: 25px;
}

.form_button::after{
	content: "";
	position: absolute; top: 50%; left: 50%;
	width: 27px;
	height: 27px;
	display: block;
	margin: -13.5px 0 0 -13.5px; 
	background: url(../gfx/arrow_right_white.png) no-repeat center top;
	background-size: contain;
	transition: transform 0.15s ease-out;
}

.form_button:hover::after{
	transform: translateX(10px);
}

.checkbox_box{
	position: relative;
	overflow: visible;
}

.checkbox_box .checkbox{
	position: relative;
	width: 32px;
	height: 32px;
	display: block;
	float: left;
	margin: 3px 19px 0 0;
	border: 2px solid #d5d5d5;
}

.checkbox_box input[type="checkbox"]{
	visibility: hidden;
}

.checkbox_box label::after{
	content: "";
	position: absolute; top: 0; left: 0;
	width: 32px;
	height: 32px;
	display: block;
	background: url(../gfx/checkbox_thick.png) no-repeat 7px 8px;
	background-size: 15px 11px;
	cursor: pointer;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: alpha(opacity=0);
	opacity: 0;
}

.checkbox_box input[type="checkbox"]:checked ~ label::after{
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: alpha(opacity=100);
	opacity: 1;
}

.checkbox_box .checkbox_label{
	overflow: hidden;
}

.input_number{
	position: relative;
	width: 111px;
	height: 19px;
	overflow: hidden;
}

.input_number input[type="text"]{
	width: 33px;
	height: 19px;
	display: block;
	padding-top: 2px;
	margin: 0 auto;
	border: 2px solid #919191;
	border-radius: 15px;
	pointer-events: none;
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 19px;
	line-height: 15px;
	text-align: center;
	color: #000000;
}

.input_number .minus, .input_number .plus{
	position: absolute; top: 0; z-index: 1;
	width: 39px;
	height: 19px;
	display: block;
	cursor: pointer;
}

.input_number .minus{
	left: 0;
}

.input_number .plus{
	right: 0;
}

.input_number .minus::before{
	content: "";
	position: absolute; top: 8px; left: 12px;
	width: 15px;
	height: 3px;
	background: #e93a09;
}

.input_number .plus::before{
	content: "";
	position: absolute; top: 8px; left: 12px;
	width: 15px;
	height: 3px;
	background: #e93a09;
}

.input_number .plus::after{
	content: "";
	position: absolute; top: 2px; left: 18px;
	width: 3px;
	height: 15px;
	background: #e93a09;
}

.form-switch{
	padding: 0;
	margin: 0;
}

.form-switch .form-check-input, .form-switch .form-check-input:focus{
	width: 33px;
	height: 19px;
	padding: 0;
	margin: 0 0 0 39px;
	border: 2px solid #919191;
	border-radius: 15px;
	cursor: pointer;
	background-image: url(../gfx/switch.png);
	background-position: 2px center;
	background-size: 11px 11px;
	box-shadow: none;
}

.form-switch .form-check-input:checked{
	border-color: #e93909;
	background-color: transparent;
	background-image: url(../gfx/switch2.png);
	background-position: 16px center;
}


.form-check{
	min-height: 19px;
}

.form-check .form-check-input{
	float: none;
}

/* buttons */
.button{
	position: relative;
	width: 507px;
	height: 108px;
	display: inline-block;
	padding: 0 0 0 39px;
	border: 2px solid #e9e9e9;
	outline: 0;
	background: none;
	cursor: pointer;
	border-radius: 65px;
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: 36px;
	line-height: 104px;
	text-align: left;
	color: #000000;
}

.button.arrow_down::after, .button.arrow_up::after{
	content: "";
	position: absolute; top: 50%; right: 47px;
	width: 36px;
	height: 39px;
	display: block;
	margin: -17.5px 0 0 0; 
	background: url(../gfx/arrow_down.png) no-repeat center top;
	background-size: contain;
	transition: transform 0.15s ease-out;
}

.button.arrow_up::after{
	transform: rotate(180deg);
}

.button.arrow_down:hover::after{
	transform: translateY(10px);
}

.button.arrow_up:hover::after{
	transform: rotate(180deg) translateY(10px);
}

.button.arrow_right::after{
	content: "";
	position: absolute; top: 50%; right: 48px;
	width: 39px;
	height: 36px;
	display: block;
	margin: -18px 0 0 0; 
	background: url(../gfx/arrow_right.png) no-repeat center top;
	background-size: contain;
	transition: transform 0.15s ease-out;
}

.button.arrow_right:hover::after{
	transform: translateX(10px);
}

.button2{
	position: relative;
	width: 297px;
	height: 62px;
	display: inline-block;
	padding: 0 0 0 39px;
	border: 2px solid #e9e9e9;
	outline: 0;
	background: none;
	cursor: pointer;
	border-radius: 65px;
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: 30px;
	line-height: 58px;
	text-align: left;
	color: #000000;
}

.button2.arrow_down::after{
	content: "";
	position: absolute; top: 50%; right: 47px;
	width: 36px;
	height: 39px;
	display: block;
	margin: -17.5px 0 0 0; 
	background: url(../gfx/arrow_down.png) no-repeat center top;
	background-size: contain;
	transition: transform 0.1s ease-out;
}

.button2.arrow_down:hover::after{
	transform: translateY(3px);
}

.button3{
	position: relative;
	width: 613px;
	height: 106px;
	display: inline-block;
	padding: 0 0 0 85px;
	border: 0;
	outline: 0;
	background: #e93a09;
	cursor: pointer;
	border-radius: 65px;
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: 36px;
	line-height: 106px;
	text-align: left;
	color: #ffffff;
}

.button3:hover, .button3:focus, .button3:visited{
  	color: #ffffff;
}

.button3.arrow_right::after{
	content: "";
	position: absolute; top: 50%; right: 86px;
	width: 38px;
	height: 35px;
	display: block;
	margin: -17.5px 0 0 0; 
	background: url(../gfx/arrow_right_white2.png) no-repeat center top;
	background-size: contain;
	transition: transform 0.15s ease-out;
}

.button3.arrow_right:hover::after{
	transform: translateX(10px);
}

.button_arrow{
	position: relative;
	width: 48px;
	height: 48px;
	display: block;
	border: 0;
	outline: 0;
	background: none;
	cursor: pointer;
}

.button_arrow::after{
	content: "";
	position: absolute; top: 50%; left: 50%;
	width: 38px;
	height: 35px;
	display: block;
	margin: -17.5px 0 0 -19px; 
	background: url(../gfx/arrow_right.png) no-repeat center top;
	background-size: contain;
	transition: transform 0.15s ease-out;
}

.button_arrow:hover::after{
	transform: translateX(10px);
}

/* tables */
.table_1{
	width: 100%;
	margin: 36px 0 38px;
}

.table_1 td{
	height: 109px;
	border-collapse: collapse;
	border-right: 2px solid #e9e9e9;
	border-bottom: 2px solid #e9e9e9;
	vertical-align: middle;
}

.table_1 tr td:last-child{
	border-right: 0;
}

.table_1 tr:last-child td{
	border-bottom: 0;
}

.table_1 tr td:first-child{
	padding: 0 37px;
}

.table_1 tr td:first-child .button2{
	display: none;
}

.table_1 tr td:last-child{
	width: 19.8%;
	padding-left: 33px;
}

.table_1 br{
	display: none;
}

.table_1 center{
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 0 10px;
}

.table_1 img{
	width: 80px;
	height: auto;
	display: block;
}

.table_2, .table_3{
	width: 100%;
}

.table_2 td, .table_3 td{
	height: 32px;
	border-collapse: collapse;
	vertical-align: middle;
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 21px;
	line-height: 21px;
	color: #000000;
}

.table_2 td b, .table_3 td b{
	font-weight: 700;
	font-style: normal;
}

.table_2 td:first-child{
	width: 49%;
}

.table_2 td:last-child{
	width: 37%;
	text-align: right;
}

.table_3{
	margin-top: 32px;
}

.table_3 td:first-child{
	width: 54%;
	border-right: 2px solid #d2d2d2;
}

.table_3 td:nth-child(2){
	padding-left: 30px;
	border-right: 2px solid #d2d2d2;
}

.table_3 td:last-child{
	width: 12%;
	text-align: right;
}

/* fonts */
.heading_1{
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 58px;
	line-height: 66px;
	letter-spacing: -0.02em;
	color: #000000;
}

.heading_2{
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 40px;
	line-height: 48px;
	color: #e93a09;
}

.heading_3{
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: 26px;
	line-height: 38px;
	color: #000000;
}

.heading_4{
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 160px;
	line-height: 148px;
	color: #e93a09;
}

.heading_5{
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: 51px;
	line-height: 56px;
	color: #e93a09;
}

.heading_6{
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 50px;
	line-height: 54px;
	color: #000000;
}

.heading_7{
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 80px;
	line-height: 75px;
	letter-spacing: -0.02em;
	color: #000000;
}

.heading_7 b{
	color: #e93a09;
}

.heading_8{
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: 130px;
	line-height: 130px;
	color: #000000;
}

.heading_8 span{
	display: inline-block;
	padding: 0 0 0 2px;
	margin: 5px 0 0;
	font-weight: 300;
	font-size: 50px;
	line-height: 50px;
	vertical-align: top;
}

.text_1{
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 24px;
	line-height: 29px;
	color: #000000;
}

.text_2{
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 21px;
	line-height: 25px;
	color: #000000;
}

.text_2 b{
	font-weight: 900;
	font-style: normal;
}

.text_2 a{
	font-weight: 700;
	font-style: normal;
	text-decoration: underline;
	color: #e93a09;
}

.text_2 ul{
	margin: 24px 0 25px 39px;
}

.text_3{
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 16px;
	line-height: 19px;
	color: #000000;
}

.text_3 a{
	text-decoration: underline;
}

.text_3 ul{
	padding: 0;
	margin: 0 0 0 52px;
}

.text_4{
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 16px;
	line-height: 16px;
	color: #000000;
}

.text_4.error{
	color: #e93a09;
}

.text_5{
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 31px;
	line-height: 37px;
	color: #000000;
}

.text_5 b{
	font-weight: 900;
	font-style: normal;
}

.text_5 span{
	font-weight: 700;
	font-style: normal;
	color: #e93a09;
}

.text_5 a:not(.button2){
	text-decoration: underline;
}

.text_5 ul{
	list-style: none;
}

.text_5 ul li{
	position: relative;
	padding: 0 0 0 81px;
	margin: 0;
	text-indent: 0;
}

.text_5 ul li::before{
	content: "";
	position: absolute; top: 15px; left: 52px;
	width: 11px;
	height: 11px;
	display: block;
	background: #e93a09;
	border-radius: 50%;
}

.standard_box .text_5 ul li::before{
	background: #000000;
}

.text_5 ul li ul li::before{
	border: 2px solid #e93a09;
	background: transparent;
}

.text_6{
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 30px;
	line-height: 30px;
	color: #000000;
}

.text_6 b{
	font-weight: 700;
	font-style: normal;
}

.text_6 a, .text_6 a:not([href]):not([class]), .text_6 a:not([href]):not([class]):hover{
	font-weight: 700;
	font-style: normal;
	color: #e93a09;
}

.text_7{
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 40px;
	line-height: 50px;
	letter-spacing: -0.02em;
	color: #000000;
}

.center{
	text-align: center;
}

/* home */
.box_container{
	width: 100%;
	display: flex;
	margin: 0 0 166px;
}

.box_left{
	width: calc(43% - 20px);
	padding: 47px 52px 58px;
	margin: 0 20px 0 0;
	background: #e93909;
	border-radius: 25px;
	-webkit-box-shadow: 11px 11px 29px 0 rgba(0,0,0,0.18);
	box-shadow: 11px 11px 29px 0 rgba(0,0,0,0.18);
}

.box_left *{
	color: #ffffff;
}

.box_left .heading_1{
	margin-bottom: 22px;
}

.box_left .text_1{
	margin-bottom: 38px;
}

#logo_soga_2{
	width: 97px;
	height: auto;
	display: inline-block;
	margin-right: 26px;
	vertical-align: top;
}

#img_perfect_choice{
	width: 133px;
	height: auto;
	display: inline-block;
	vertical-align: top;
}

.box_right{
	width: 57%;
	display: flex;
	flex-direction: column;
}

.box_row{
	height: calc(50% - 13px);
	display: flex;
	margin: 0 0 26px;
}

.box_row.last{
	margin: 0;
}

.box_right_1, .box_right_2{
	position: relative;
	width: calc(50% - 10px);
	padding: 28px 28px 0;
	background: #ffffff;
	border-radius: 25px;
	-webkit-box-shadow: 11px 11px 29px 0 rgba(0,0,0,0.1);
	box-shadow: 11px 11px 29px 0 rgba(0,0,0,0.1);
}

.box_right_1{
	margin: 0 20px 0 0;
}

.box_right_1 .heading_2, .box_right_2 .heading_2{
	margin: 0 0 25px;
}

.box_right_1 .button_arrow, .box_right_2 .button_arrow{
	position: absolute; right: 24px; bottom: 24px;
}

.box_contact{
	padding-right: 52px;
	background: #f6f6f6;
}

#contact_left, #contact_right{
	position: relative;
	float: left;
	margin: 16px 0 26px;
}

#contact_left{
	padding-right: 28px;
}

#contact_right{
	padding-left: 32px;
}

#contact_left::after{
	content: "";
	position: absolute; top: 0; right: 0;
	width: 2px;
	height: 60px;
	display: block;
	background: #d9d9d9;
}

#contact_left span, #contact_right span{
	display: block;
	margin: 0 0 2px;
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 26px;
	line-height: 26px;
	color: #000000;
}

#contact_left a, #contact_right a{
	display: block;
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: 26px;
	line-height: 26px;
	color: #e93a09;
}

.quick_contact{
	position: relative;
	display: flex;
	align-items: center;
	margin: 8px 0 25px;
}

.quick_contact input{
	max-width: 343px;
	margin-right: 14px;
}

/* standard page */
#main.standard_page, #main.standard_page2{
	padding: 44px 0 0;
}

#main.standard_page .heading_4{
	margin-bottom: 60px;
}

#main.standard_page2 .heading_4{
	margin-bottom: 97px;
}

#main.standard_page .text, #main.standard_page3 .text_2{
	margin-bottom: 102px;
}

#main.standard_page3 .text_2{
	max-width: 1240px;
}

#expand_box_container{
	width: 100%;
	transition: all 0.35s ease-out;
}

.expand_box{
	position: relative;
	width: calc(33.33% - 13.33px);
	float: left;
	padding: 28px 28px 118px;
	margin: 0 20px 26px 0;
	background: #ffffff;
	border-radius: 25px;
	-webkit-box-shadow: 11px 11px 29px 0 rgba(0,0,0,0.1);
	box-shadow: 11px 11px 29px 0 rgba(0,0,0,0.1);
	transition: all 0.35s ease-out;
}

.expand_box.active{
	background: #e93a09;
}

.expand_box.active *{
	color: #ffffff;
}

.expand_box.last{
	margin-right: 0;
}

.expand_box.last_row{
	margin-bottom: 92px;
}

.expand_box .button_arrow{
	position: absolute; right: 24px; bottom: 24px;
}

.expand_box.active .button_arrow::after{
	background-image: url(../gfx/arrow_up_white.png);
}

.expand_box .button_arrow:hover::after{
	transform: none;
}

.expand_row_description{
	position: relative;
	width: 100%;
	display: none;
	padding: 28px 44px 49px;
	margin: 0 0 93px;
	background: #ffffff;
	border-radius: 25px;
	-webkit-box-shadow: 11px 11px 29px 0 rgba(0,0,0,0.1);
	box-shadow: 11px 11px 29px 0 rgba(0,0,0,0.1);
	transition: all 0.35s ease-out;
}
.expand_row_description.active{
	display: block;
}

.expand_row_description .heading_5{
	margin: 0 0 55px;
}

.standard_box{
	width: 100%;
	padding: 85px 104px 120px;
	margin: 0 0 203px;
	background: #ffffff;
	border-radius: 25px;
	-webkit-box-shadow: 11px 11px 29px 0 rgba(0,0,0,0.1);
	box-shadow: 11px 11px 29px 0 rgba(0,0,0,0.1);
}

.standard_box_sep{
	position: relative;
	padding-top: 86px;
	margin: 94px 0 0;
}

.standard_box_sep::after{
	content: "";
	position: absolute; top: 0; left: 0;
	width: 100%;
	height: 6px;
	display: block;
	background: #e9e9e9;
	border-radius: 10px;
}

.standard_box_sep > div{
	position: relative;
}

.standard_box_sep > div:first-child::after{
	content: "";
	position: absolute; top: -50px; right: -3px;
	width: 6px;
	height: 152%;
	display: block;
	background: #e9e9e9;
	border-radius: 10px;
}

.choice_box{
	position: relative;
	padding: 0 0 0 41px;
}

.choice_box.last{
	padding: 0 0 0 174px;
}

.choice_box .choice{
	content: "";
	position: absolute; top: 9px; left: -11px;
	width: 32px;
	height: 32px;
	display: block;
	border: 2px solid #cfcfcf;
	border-radius: 50%;
	cursor: pointer;
}

.choice_box.last .choice{
	left: 122px;
}

.choice_box .choice::after{
	content: "";
	position: absolute; top: 50%; left: 50%;
	width: 16px;
	height: 16px;
	display: none;
	background: #cfcfcf;
	border-radius: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.choice_box .choice.active::after{
	display: block;
}

.choice_box .heading_2{
	margin-bottom: 3px;
}

.choice_box .quick_contact{
	margin-top: 28px;
	opacity: 0;
	pointer-events: none;
}

.choice_box .quick_contact.active{
	opacity: 1;
	pointer-events: all;
}

.choice_box .quick_contact input{
	max-width: 393px;
	margin-right: 19px;
}

.standard_box_sep2{
	padding-top: 86px;
	margin: 33px 0 0;
}

.standard_box_sep2 > div{
	position: relative;
}

.standard_box_sep2 > div:first-child::after{
	content: "";
	position: absolute; top: -60px; right: -3px;
	width: 6px;
	height: 136%;
	display: block;
	background: #e9e9e9;
	border-radius: 10px;
}

.standard_box_sep2 .text_2{
	max-width: 507px;
	margin: 66px auto 56px;
}

.info_box{
  	padding: 30px 0 164px;
}

.info_box .heading_7{
  	margin-bottom: 29px;
}

.info_box .heading_7 a{
  	display: inline-block;
  	padding-bottom: 27px;
}

.info_box .button3{
  	margin-top: 32px;
}

/* contact page */
.contact_form{
	margin: 78px 0 0;
}

.contact_form .row{
	position: relative;
	margin-bottom: 25px;
}

.contact_form .row.last{
	margin-top: 45px;
	margin-bottom: 0;
	text-align: right;
}

.contact_form .checkbox_box{
	margin-top: 47px;
}

.contact_form button{
	width: 316px;
}

/* devices page */
.device_page .standard_box{
	display: flex;
	align-items: center;
	padding-right: 48px;
}

.device_page .standard_box:not(.last){
	margin-bottom: 45px;
}

#device_pos{
	width: 445px;
	height: auto;
	display: block;
	float: left;
	margin: 7px 56px -18px 34px;
}

#device_printer{
	width: 444px;
	height: auto;
	display: block;
	float: left;
	margin: 5px 54px -26px 37px;
}

#device_fiscal_printer{
	width: 401px;
	height: auto;
	display: block;
	float: left;
	margin: -3px 157px -66px -23px;
}

/* configurator */
#configurator{
	display: flex;
	padding: 0 0 63px;
}

#configurator.thank_you{
	display: block;
}

#configurator .left{
	position: relative;
	width: 45%;
}

#configurator .right{
	width: 55%;
	display: flex;
}

#configurator .heading_7, #configurator .heading_6{
	color: #e93909;
}

#configurator .heading_7.normal{
	color: #000000;
}

#configurator .heading_7{
	margin-bottom: 42px;
}

#configurator.step_0 .left .text_1{
	max-width: 287px;
}

#configurator.step_1 .left .text_1, #configurator.step_1b .left .text_1, #configurator.step_1c .left .text_1{
	max-width: 470px;
}

#configurator .left .img{
	position: absolute; top: 278px; right: 128px;
	width: 410px;
	height: auto;
	display: block;
}

#configurator .box{
	position: relative;
	height: 820px;
	padding: 44px 30px 0;
	margin: 0 20px 0 0;
	background: #ffffff;
	border-radius: 25px;
	-webkit-box-shadow: 11px 11px 29px 0 rgba(0,0,0,0.1);
	box-shadow: 11px 11px 29px 0 rgba(0,0,0,0.1);
}

#configurator .box.last{
	margin-right: 0;
}

#configurator.step_1c .box{
	height: 570px;
}

#configurator.step_3 .box{
	height: auto;
}

#configurator .box_50{
	width: calc(50% - 10px);
}

#configurator .box_100{
	width: 100%;
	padding-right: 86px;
}

#configurator .heading_6{
	margin-bottom: 23px;
}

#configurator .box .bottom{
	position: absolute; bottom: 28px; left: 30px;
	width: calc(100% - 60px);
}

#configurator.step_0 .box .bottom{
	top: 583px; bottom: auto;
}

#configurator.step_1b .box .bottom, #configurator.step_1c .box .bottom{
	width: calc(100% - 116px);
}

#configurator.step_3 .box .bottom{
	position: static;
	width: 100%;
	display: flex;
	padding: 18px 0 109px;
}

#configurator .box .bottom .button{
	width: 100%;
}

#configurator input[type="file"]{
	width: 0;
	height: 0;
	display: block;
	visibility: hidden;
	opacity: 0;
}

#configurator .box .bottom label{
	width: 100%;
	display: block;
}

#configurator .box .bottom .text_4{
	margin: 12px 0 0;
}

#configurator.step_1 .box .bottom .button, #configurator.step_1b .box .bottom .button, #configurator.step_1c .box .bottom .button{
	line-height: 1;
}

#configurator.step_1b .box .bottom{
	display: flex;
}

#configurator .box .bottom .left, #configurator .box .bottom .right{
	width: calc(50% - 10px);
	display: block;
}

#configurator .box .bottom .left{
	margin-right: 20px;
}

#configurator .box .bottom .right{
	text-align: right;
}

#configurator.step_1b .box .bottom .button, #configurator.step_1c .box .bottom .button, #configurator.step_3 .box .bottom .button{
	max-width: 390px;
	font-size: 30px;
}

#configurator.step_3 .box .bottom input[type="text"]{
	max-width: 390px;
	height: 105px;
}

#configurator.step_3 .box .text_6{
	margin-bottom: 15px;
}

.progress_box{
	position: relative;
	width: 614px;
	padding: 29px 0 0;
	margin: 0 0 81px;
}

.progress_bar{
	position: relative;
	width: 100%;
	height: 10px;
	background: #d2d2d2;
}

.progress_bar::after{
	content: "";
	position: absolute; top: 0; left: 0;
	height: 10px;
	background: #e93909;
}

.progress_25 .progress_bar::after{
	width: 25%;
}

.progress_40 .progress_bar::after{
	width: 40%;
}

.progress_60 .progress_bar::after{
	width: 60%;
}

.progress_80 .progress_bar::after{
	width: 78%;
}

.progress_box .start, .progress_box .end, .progress_box .current{
	position: absolute; top: -7px;
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 30px;
	line-height: 30px;
	letter-spacing: -0.02em;
	color: #d2d2d2;
}

.progress_box .start{
	left: 0;
}

.progress_box .end{
	right: 0;
}

.progress_box .current{
	color: #e93909;
	transform: translateX(-50%);
}

.progress_box.progress_25 .current{
	left: 25%;
}

.progress_box.progress_40 .current{
	left: 40%;
}

.progress_box.progress_60 .current{
	left: 60%;
}

.progress_box.progress_80 .current{
	left: 78%;
	transform: translateX(-100%);
}

.sep{
	width: 100%;
	height: 2px;
	margin: 40px auto 33px;
	background: #d2d2d2;
}

#configurator.step_4 .row{
	position: relative;
}

#configurator.step_4 .box .form_text{
	margin: 0 0 19px;
}

#configurator.step_4 .box .text_6{
	margin-bottom: 44px;
}

#configurator.step_4 .box .checkbox_box{
	padding-left: 68px;
}

#configurator.step_4 .box .last{
	text-align: right;
}

#configurator.step_4 .box .button{
	max-width: 317px;
	margin-top: 42px;
}

@media (min-width: 1900px) and (max-width: 2499px) {

/* layout */
body{
	background-image: url(../gfx/bg_rwd.jpg);
	background-position: center top;
	background-size: 2560px auto;
}

body.bg2{
	background-position: center 60px;
}

body.bg3{
	background-position: center 60px;
}

.container{
	max-width: 1190px;
}

#header{
	height: 165px;
}

#header nav ul li a{
	height: 165px;
	padding: 0 17px;
	font-size: 22px;
	line-height: 165px;
}

#header nav ul li a span::after{
	top: 101px;
	height: 3px;
}

#header nav ul li.has_submenu a::before{
	height: 41px;
}

#header nav ul li.has_submenu div{
	top: calc(50% + 20.5px); left: -19px;
	padding: 11px 0;
}

#header nav ul li.has_submenu div a{
	padding: 0 17px;
	font-size: 20px;
	line-height: 39px;
}

#footer .col-xxl-6{
	width: 66.67%;
}

#footer #copyright::after {
    top: 9px; left: 266px;
}

/* forms */
.form_text{
	height: 35px;
	padding: 0 12px;
	border: 2px solid #cfcfcf;
	font-size: 26px;
	line-height: 43px;
}

label.error{
	bottom: -16px; right: 15px;
	font-size: 13px;
	line-height: 13px;
}

label.error#form_terms-error{
	top: -16px; left: 0px; bottom: auto; right: auto;
}

.quick_contact label.error{
	left: 0; right: auto;
	max-width: 245px;
}

.choice_box .quick_contact label.error{
	left: 0; right: auto;
	max-width: 295px;
}

#configurator label.error{
	top: 39px; bottom: auto;
}

#configurator label.error#form_terms-error{
	top: -16px; left: 51px;
}

#configurator.step_3 label.error{
	max-width: 293px;
	margin: 4px 0 0;
}

.form_button{
	width: 39px;
	height: 33px;
	border-radius: 25px;
}

.form_button::after{
	width: 20px;
	height: 20px;
	display: block;
	margin: -10px 0 0 -10px; 
}

.form_button:hover::after{
	transform: translateX(8px);
}

.checkbox_box .checkbox{
	width: 26px;
	height: 26px;
	margin: 2px 15px 0 0;
	border: 2px solid #d5d5d5;
}

.checkbox_box label::after{
	width: 26px;
	height: 26px;
	background-position: 6px 6px;
	background-size: 12px 9px;
}

/* buttons */
.button{
	width: 380px;
	height: 81px;
	padding: 0 0 0 29px;
	border: 2px solid #e9e9e9;
	border-radius: 65px;
	font-size: 28px;
	line-height: 77px;
}

.button.arrow_down::after, .button.arrow_up::after{
	right: 38px;
	width: 29px;
	height: 31px;
	margin: -15.5px 0 0 0; 
}

.button.arrow_down:hover::after{
	transform: translateY(8px);
}

.button.arrow_up:hover::after{
	transform: rotate(180deg) translateY(8px);
}

.button.arrow_right::after{
	right: 38px;
	width: 31px;
	height: 29px;
	margin: -14.5px 0 0 0; 
}

.button.arrow_right:hover::after{
	transform: translateX(8px);
}

.button2{
	width: 223px;
	height: 47px;
	padding: 0 0 0 29px;
	border: 2px solid #e9e9e9;
	border-radius: 65px;
	font-size: 24px;
	line-height: 43px;
}

.button2.arrow_down::after{
	right: 35px;
	width: 27px;
	height: 29px;
	margin: -14.5px 0 0 0; 
}

.button2.arrow_down:hover::after{
	transform: translateY(2px);
}

.button3{
	width: 460px;
	height: 80px;
	padding: 0 0 0 64px;
	border-radius: 65px;
	font-size: 27px;
	line-height: 80px;
}

.button3.arrow_right::after{
	right: 65px;
	width: 30px;
	height: 28px;
	margin: -14px 0 0 0; 
}

.button3.arrow_right:hover::after{
	transform: translateX(8px);
}

.button_arrow{
	width: 48px;
	height: 48px;
}

.button_arrow::after{
	width: 31px;
	height: 29px;
	margin: -14.5px 0 0 -15.5px; 
}

.button_arrow:hover::after{
	transform: translateX(8px);
}

/* tables */
.table_1{
	margin: 27px 0 28px;
}

.table_1 td{
	height: 82px;
	border-right: 2px solid #e9e9e9;
	border-bottom: 2px solid #e9e9e9;
}

.table_1 tr td:first-child{
	padding: 0 28px;
}

.table_1 tr td:last-child{
	width: 19.8%;
	padding-left: 25px;
}

.table_1 center{
	margin: 0 0 0 8px;
}

.table_1 img{
	width: 64px;
}

.table_2 td, .table_3 td{
	height: 29px;
	font-size: 17px;
	line-height: 17px;
}

.table_2 td:first-child{
	width: 54%;
}

.table_2 td:last-child{
	width: 32%;
}

.table_3{
	margin-top: 26px;
}

.table_3 td:first-child{
	width: 54%;
}

.table_3 td:nth-child(2){
	padding-left: 24px;
}

.table_3 td:last-child{
	width: 12%;
}

/* fonts */
.heading_1{
	font-size: 42px;
	line-height: 48px;
}

.heading_2{
	font-size: 30px;
	line-height: 36px;
}

.heading_3{
	font-size: 20px;
	line-height: 29px;
}

.heading_4{
	font-size: 112px;
	line-height: 104px;
}

.heading_5{
	font-size: 38px;
	line-height: 42px;
}

.heading_6{
	font-size: 37px;
	line-height: 41px;
}

.heading_7{
	font-size: 57px;
	line-height: 54px;
}

.heading_8{
	font-size: 98px;
	line-height: 98px;
}

.heading_8 span{
	padding: 0 0 0 2px;
	margin: 4px 0 0;
	font-size: 38px;
	line-height: 38px;
}

.text_1{
	font-size: 18px;
	line-height: 24px;
}

.text_2{
	font-size: 16px;
	line-height: 20px;
}

.text_3{
	font-size: 13px;
	line-height: 16px;
}

.text_3 ul{
	margin: 0 0 0 42px;
}

.text_4{
	font-size: 14px;
	line-height: 14px;
}

.text_5{
	font-size: 24px;
	line-height: 29px;
}

.text_5 ul li{
	padding: 0 0 0 65px;
}

.text_5 ul li::before{
	top: 12px; left: 42px;
	width: 9px;
	height: 9px;
}

.text_6{
	font-size: 22px;
	line-height: 22px;
}

.text_7{
	font-size: 31px;
	line-height: 38px;
}

/* home */
.box_container{
	margin: 0 0 132px;
}

.box_left{
	width: calc(38% - 20px);
	padding: 22px 30px 37px;
	margin: 0 20px 0 0;
	border-radius: 25px;
}

.box_left .heading_1{
	margin-bottom: 20px;
}

.box_left .text_1{
	margin-bottom: 21px;
}

#logo_soga_2{
	width: 59px;
	margin-right: 14px;
}

#img_perfect_choice{
	width: 80px;
}

.box_right{
	width: 62%;
}

.box_row{
	height: calc(50% - 10px);
	margin: 0 0 20px;
}

.box_row.last{
	margin: 0;
}

.box_right_1, .box_right_2{
	width: calc(50% - 10px);
	padding: 21px 28px 0;
	border-radius: 25px;
}

.box_right_1{
	margin: 0 20px 0 0;
}

.box_right_1 .heading_2, .box_right_2 .heading_2{
	margin: 0 0 17px;
}

.box_right_1 .button_arrow, .box_right_2 .button_arrow{
	right: 20px; bottom: 19px;
}

.box_contact{
	padding-right: 30px;
}

#contact_left{
	float: none;
	padding-right: 0;
	margin: 9px 0 0;
}

#contact_right{
	float: none;
	padding-left: 0;
	margin: 3px 0 9px;
}

#contact_left::after{
	display: none;
}

#contact_left span, #contact_right span{
	display: inline-block;
	margin: 0;
	font-size: 19px;
	line-height: 25px;
	vertical-align: top;
}

#contact_left a, #contact_right a{
	display: inline-block;
	font-size: 25px;
	line-height: 25px;
	vertical-align: top;
}

.quick_contact{
	margin: 2px 0 21px;
}

.quick_contact input{
	max-width: 245px;
	margin-right: 9px;
}

/* standard page */
#main.standard_page, #main.standard_page2{
	padding: 33px 0 0;
}

#main.standard_page .heading_4{
	margin-bottom: 45px;
}

#main.standard_page2 .heading_4{
	margin-bottom: 73px;
}

#main.standard_page .text, #main.standard_page3 .text_2{
	margin-bottom: 77px;
}

#main.standard_page3 .text_2{
	max-width: 930px;
}

.expand_box{
	width: calc(33% - 10px);
	padding: 21px 21px 89px;
	margin: 0 20px 21px 0;
	border-radius: 25px;
}

.expand_box.last{
	margin-right: 0;
}

.expand_box.last_row{
	margin-bottom: 69px;
}

.expand_box .button_arrow{
	right: 20px; bottom: 19px;
}

.expand_row_description{
	padding: 21px 35px 39px;
	margin: 0 0 74px;
	border-radius: 25px;
}

.expand_row_description .heading_5{
	margin: 0 0 44px;
}

.standard_box{
	padding: 64px 78px 90px;
	margin: 0 0 152px;
	border-radius: 25px;
}

.standard_box_sep{
	padding-top: 65px;
	margin: 71px 0 0;
}

.standard_box_sep::after{
	width: 100%;
	height: 5px;
	border-radius: 10px;
}

.standard_box_sep > div:first-child::after{
	top: -38px; right: -2.5px;
	width: 5px;
	height: 152%;
	border-radius: 10px;
}

.choice_box{
	padding: 0 0 0 31px;
}

.choice_box.last{
	padding: 0 0 0 81px;
}

.choice_box .choice{
	top: 7px; left: -9px;
	width: 26px;
	height: 26px;
	border: 2px solid #cfcfcf;
}

.choice_box.last .choice{
	left: 42px;
}

.choice_box .choice::after{
	width: 13px;
	height: 13px;
}

.choice_box .heading_2{
	margin-bottom: 2px;
}

.choice_box .quick_contact{
	margin-top: 21px;
}

.choice_box .quick_contact input{
	max-width: 295px;
	margin-right: 14px;
}

.standard_box_sep2{
	padding-top: 65px;
	margin: 25px 0 0;
}

.standard_box_sep2 > div:first-child::after{
	position: absolute; top: -45px; right: -2.5px;
	width: 5px;
	height: 136%;
	border-radius: 10px;
}

.standard_box_sep2 .text_2{
	max-width: 380px;
	margin: 50px auto 42px;
}

.info_box{
  	padding: 23px 0 123px;
}

.info_box .heading_7{
  	margin-bottom: 22px;
}

.info_box .heading_7 a{
  	padding-bottom: 20px;
}

.info_box .button3{
  	margin-top: 24px;
}

/* contact page */
.contact_form{
	margin: 59px 0 0;
}

.contact_form .row{
	margin-bottom: 20px;
}

.contact_form .row.last{
	margin-top: 34px;
}

.contact_form .checkbox_box{
	margin-top: 35px;
}

.contact_form button{
	width: 237px;
}

/* devices page */
.device_page .standard_box{
	padding-right: 36px;
}

.device_page .standard_box:not(.last){
	margin-bottom: 34px;
}

#device_pos{
	width: 334px;
	margin: 5px 42px -14px 26px;
}

#device_printer{
	width: 333px;
	margin: 4px 41px -20px 28px;
}

#device_fiscal_printer{
	width: 301px;
	margin: -2px 118px -50px -17px;
}

/* configurator */
#configurator{
	padding: 0 0 47px;
}

#configurator .left{
	width: 45%;
}

#configurator .right{
	width: 55%;
}

#configurator .heading_7{
	margin-bottom: 32px;
}

#configurator.step_0 .left .text_1{
	max-width: 216px;
}

#configurator.step_1 .left .text_1, #configurator.step_1b .left .text_1, #configurator.step_1c .left .text_1{
	max-width: 353px;
}

#configurator .left .img{
	top: 209px; right: -12px;
	width: 308px;
}

#configurator .box{
	height: 615px;
	padding: 33px 23px 0;
	margin: 0 15px 0 0;
}

#configurator .box.height{
	height: 738px;
}

#configurator.step_1c .box{
	height: 456px;
}

#configurator.step_4 .box{
	height: auto;
	padding-bottom: 36px;
}

#configurator .box_50{
	width: calc(50% - 10px);
}

#configurator .box_100{
	padding-right: 65px;
}

#configurator .heading_6{
	margin-bottom: 17px;
}

#configurator .box .bottom{
	bottom: 21px; left: 23px;
	width: calc(100% - 46px);
}

#configurator.step_0 .box .bottom{
	top: 437px;
}

#configurator.step_1b .box .bottom, #configurator.step_1c .box .bottom{
	width: calc(100% - 88px);
}

#configurator.step_3 .box .bottom{
	padding: 14px 0 82px;
}

#configurator .box .bottom .button.arrow_up::after, #configurator .box .bottom .button.arrow_right::after{
	right: 23px;
}

#configurator .box .bottom .text_4{
	margin: 9px 0 0;
}

#configurator .box .bottom .left, #configurator .box .bottom .right{
	width: calc(50% - 10px);
}

#configurator .box .bottom .left{
	margin-right: 20px;
}

#configurator.step_1c .box .bottom .left{
	width: 60%;
}

#configurator.step_1c .box .bottom .right{
	width: 40%;
}

#configurator.step_1b .box .bottom .button, #configurator.step_1c .box .bottom .button, #configurator.step_3 .box .bottom .button{
	max-width: 293px;
	font-size: 23px;
}

#configurator.step_3 .box .bottom input[type="text"]{
	max-width: 293px;
	height: 79px;
}

#configurator.step_3 .box .text_6{
	margin-bottom: 11px;
}

.progress_box{
	width: 461px;
	padding: 22px 0 0;
	margin: 0 0 61px;
}

.progress_bar{
	height: 10px;
}

.progress_bar::after{
	height: 10px;
}

.progress_25 .progress_bar::after{
	width: 25%;
}

.progress_40 .progress_bar::after{
	width: 40%;
}

.progress_60 .progress_bar::after{
	width: 60%;
}

.progress_80 .progress_bar::after{
	width: 78%;
}

.progress_box .start, .progress_box .end, .progress_box .current{
	top: -5px;
	font-size: 23px;
	line-height: 23px;
}

.progress_box.progress_25 .current{
	left: 25%;
}

.progress_box.progress_40 .current{
	left: 40%;
}

.progress_box.progress_60 .current{
	left: 60%;
}

.progress_box.progress_80 .current{
	left: 78%;
}

.sep{
	height: 2px;
	margin: 30px auto 25px;
}

#configurator.step_4 .box .form_text{
	margin: 0 0 14px;
}

#configurator.step_4 .box .text_6{
	margin-bottom: 33px;
}

#configurator.step_4 .box .checkbox_box{
	padding-left: 51px;
}

#configurator.step_4 .box .button{
	max-width: 238px;
	margin-top: 32px;
}

}

@media (min-width: 1200px) and (max-width: 1899px) {

/* layout */
body{
	background-image: url(../gfx/bg_rwd.jpg);
	background-position: center top;
	background-size: 2560px auto;
}

body.bg2{
	background-position: center 54px;
	background-size: 1720px auto;
}

body.bg3{
	background-position: center 54px;
	background-size: 1720px auto;
}

.container{
	max-width: 1140px;
}

#header{
	height: 148px;
}

#header nav ul li a{
	height: 148px;
	padding: 0 15px;
	font-size: 20px;
	line-height: 148px;
}

#header nav ul li a span::after{
	top: 91px;
	height: 3px;
}

#header nav ul li.has_submenu a::before{
	height: 37px;
}

#header nav ul li.has_submenu div{
	top: calc(50% + 18px); left: -17px;
	padding: 10px 0;
}

#header nav ul li.has_submenu div a{
	padding: 0 15px;
	font-size: 18px;
	line-height: 35px;
}

#footer .col-xxl-6{
	width: 66.67%;
}

#footer #copyright::after {
    top: 9px; left: 241px;
}

/* forms */
.form_text{
	height: 32px;
	padding: 0 10px;
	border: 2px solid #cfcfcf;
	font-size: 23px;
	line-height: 38px;
}

label.error{
	bottom: -14px; right: 15px;
	font-size: 12px;
	line-height: 12px;
}

label.error#form_terms-error{
	top: -14px; left: 0px; bottom: auto; right: auto;
}

.quick_contact label.error{
	left: 0; right: auto;
	max-width: 221px;
}

.choice_box .quick_contact label.error{
	left: 0; right: auto;
	max-width: 265px;
}

#configurator label.error{
	top: 36px; bottom: auto;
}

#configurator label.error#form_terms-error{
	top: -14px; left: 46px;
}

#configurator.step_3 label.error{
	max-width: 264px;
	margin: 4px 0 0;
}

.form_button{
	width: 35px;
	height: 30px;
	border-radius: 25px;
}

.form_button::after{
	width: 18px;
	height: 18px;
	display: block;
	margin: -9px 0 0 -9px; 
}

.form_button:hover::after{
	transform: translateX(7px);
}

.checkbox_box .checkbox{
	width: 24px;
	height: 24px;
	margin: 2px 14px 0 0;
	border: 2px solid #d5d5d5;
}

.checkbox_box label::after{
	width: 24px;
	height: 24px;
	background-position: 5px 5px;
	background-size: 11px 8px;
}

/* buttons */
.button{
	width: 342px;
	height: 73px;
	padding: 0 0 0 26px;
	border: 2px solid #e9e9e9;
	border-radius: 59px;
	font-size: 25px;
	line-height: 69px;
}

.button.arrow_down::after, .button.arrow_up::after{
	right: 34px;
	width: 26px;
	height: 28px;
	margin: -14px 0 0 0; 
}

.button.arrow_down:hover::after{
	transform: translateY(7px);
}

.button.arrow_up:hover::after{
	transform: rotate(180deg) translateY(7px);
}

.button.arrow_right::after{
	right: 34px;
	width: 28px;
	height: 26px;
	margin: -13px 0 0 0; 
}

.button.arrow_right:hover::after{
	transform: translateX(7px);
}

.button2{
	width: 201px;
	height: 42px;
	padding: 0 0 0 26px;
	border: 2px solid #e9e9e9;
	border-radius: 65px;
	font-size: 22px;
	line-height: 38px;
}

.button2.arrow_down::after{
	right: 32px;
	width: 24px;
	height: 26px;
	margin: -13px 0 0 0; 
}

.button2.arrow_down:hover::after{
	transform: translateY(2px);
}

.button3{
	width: 414px;
	height: 72px;
	padding: 0 0 0 58px;
	border-radius: 65px;
	font-size: 24px;
	line-height: 72px;
}

.button3.arrow_right::after{
	right: 59px;
	width: 27px;
	height: 25px;
	margin: -13px 0 0 0; 
}

.button3.arrow_right:hover::after{
	transform: translateX(7px);
}

.button_arrow{
	width: 43px;
	height: 43px;
}

.button_arrow::after{
	width: 28px;
	height: 26px;
	margin: -13px 0 0 -14px; 
}

.button_arrow:hover::after{
	transform: translateX(7px);
}

/* tables */
.table_1{
	margin: 24px 0 25px;
}

.table_1 td{
	height: 74px;
	border-right: 2px solid #e9e9e9;
	border-bottom: 2px solid #e9e9e9;
}

.table_1 tr td:first-child{
	padding: 0 25px;
}

.table_1 tr td:last-child{
	width: 19.8%;
	padding-left: 22px;
}

.table_1 center{
	margin: 0 0 0 8px;
}

.table_1 img{
	width: 58px;
}

.table_2 td, .table_3 td{
	height: 26px;
	font-size: 15px;
	line-height: 15px;
}

.table_2 td:first-child{
	width: 54%;
}

.table_2 td:last-child{
	width: 32%;
}

.table_3{
	margin-top: 23px;
}

.table_3 td:first-child{
	width: 54%;
}

.table_3 td:nth-child(2){
	padding-left: 22px;
}

.table_3 td:last-child{
	width: 12%;
}

/* fonts */
.heading_1{
	font-size: 38px;
	line-height: 43px;
}

.heading_2{
	font-size: 27px;
	line-height: 32px;
}

.heading_3{
	font-size: 18px;
	line-height: 26px;
}

.heading_4{
	font-size: 100px;
	line-height: 94px;
}

.heading_5{
	font-size: 34px;
	line-height: 38px;
}

.heading_6{
	font-size: 33px;
	line-height: 37px;
}

.heading_7{
	font-size: 50px;
	line-height: 48px;
}

.heading_8{
	font-size: 88px;
	line-height: 88px;
}

.heading_8 span{
	padding: 0 0 0 2px;
	margin: 4px 0 0;
	font-size: 34px;
	line-height: 34px;
}

.text_1{
	font-size: 16px;
	line-height: 22px;
}

.text_2{
	font-size: 14px;
	line-height: 18px;
}

.text_3{
	font-size: 12px;
	line-height: 14px;
}

.text_3 ul{
	margin: 0 0 0 35px;
}

.text_4{
	font-size: 13px;
	line-height: 13px;
}

.text_5{
	font-size: 22px;
	line-height: 26px;
}

.text_5 ul li{
	padding: 0 0 0 59px;
}

.text_5 ul li::before{
	top: 11px; left: 38px;
	width: 8px;
	height: 8px;
}

.text_6{
	font-size: 21px;
	line-height: 21px;
}

.text_7{
	font-size: 28px;
	line-height: 34px;
}

/* home */
.box_container{
	margin: 0 0 118px;
}

.box_left{
	width: calc(38% - 20px);
	padding: 20px 27px 33px;
	margin: 0 20px 0 0;
	border-radius: 25px;
}

.box_left .heading_1{
	margin-bottom: 20px;
}

.box_left .text_1{
	margin-bottom: 19px;
}

#logo_soga_2{
	width: 53px;
	margin-right: 13px;
}

#img_perfect_choice{
	width: 72px;
}

.box_right{
	width: 62%;
}

.box_row{
	height: calc(50% - 10px);
	margin: 0 0 20px;
}

.box_row.last{
	margin: 0;
}

.box_right_1, .box_right_2{
	width: calc(50% - 10px);
	padding: 19px 25px 0;
	border-radius: 25px;
}

.box_right_1{
	margin: 0 20px 0 0;
}

.box_right_1 .heading_2, .box_right_2 .heading_2{
	margin: 0 0 15px;
}

.box_right_1 .button_arrow, .box_right_2 .button_arrow{
	right: 18px; bottom: 17px;
}

.box_contact{
	padding-right: 27px;
}

#contact_left{
	float: none;
	padding-right: 0;
	margin: 8px 0 0;
}

#contact_right{
	float: none;
	padding-left: 0;
	margin: 3px 0 8px;
}

#contact_left::after{
	display: none;
}

#contact_left span, #contact_right span{
	display: inline-block;
	margin: 0;
	font-size: 17px;
	line-height: 18px;
	vertical-align: top;
}

#contact_left a, #contact_right a{
	display: inline-block;
	font-size: 22px;
	line-height: 22px;
	vertical-align: top;
}

.quick_contact{
	margin: 2px 0 21px;
}

.quick_contact input{
	max-width: 221px;
	margin-right: 8px;
}

/* standard page */
#main.standard_page, #main.standard_page2{
	padding: 30px 0 0;
}

#main.standard_page .heading_4{
	margin-bottom: 41px;
}

#main.standard_page2 .heading_4{
	margin-bottom: 66px;
}

#main.standard_page .text, #main.standard_page3 .text_2{
	margin-bottom: 69px;
}

#main.standard_page3 .text_2{
	max-width: 837px;
}

.expand_box_row.last{
	margin-bottom: 0;
}

.expand_box{
	width: calc(33% - 9px);
	padding: 19px 19px 80px;
	margin: 0 18px 19px 0;
	border-radius: 25px;
}

.expand_box.last{
	margin-right: 0;
}

.expand_box.last_row{
	margin-bottom: 62px;
}

.expand_box .button_arrow{
	right: 18px; bottom: 17px;
}

.expand_row_description{
	padding: 19px 32px 35px;
	margin: 0 0 67px;
	border-radius: 25px;
}

.expand_row_description .heading_5{
	margin: 0 0 40px;
}

.standard_box{
	padding: 58px 70px 81px;
	margin: 0 0 137px;
	border-radius: 25px;
}

.standard_box_sep{
	padding-top: 52px;
	margin: 64px 0 0;
}

.standard_box_sep::after{
	width: 100%;
	height: 5px;
	border-radius: 10px;
}

.standard_box_sep > div:first-child::after{
	top: -34px; right: -2.5px;
	width: 5px;
	height: 152%;
	border-radius: 10px;
}

.choice_box{
	padding: 0 0 0 28px;
}

.choice_box.last{
	padding: 0 0 0 73px;
}

.choice_box .choice{
	top: 6px; left: -8px;
	width: 24px;
	height: 24px;
	border: 2px solid #cfcfcf;
}

.choice_box.last .choice{
	left: 38px;
}

.choice_box .choice::after{
	width: 12px;
	height: 12px;
}

.choice_box .heading_2{
	margin-bottom: 2px;
}

.choice_box .quick_contact{
	margin-top: 19px;
}

.choice_box .quick_contact input{
	max-width: 265px;
	margin-right: 13px;
}

.standard_box_sep2{
	padding-top: 58px;
	margin: 22px 0 0;
}

.standard_box_sep2 > div:first-child::after{
	position: absolute; top: -40px; right: -2.5px;
	width: 5px;
	height: 136%;
	border-radius: 10px;
}

.standard_box_sep2 .text_2{
	max-width: 342px;
	margin: 45px auto 38px;
}

.info_box{
  	padding: 21px 0 111px;
}

.info_box .heading_7{
  	margin-bottom: 20px;
}

.info_box .heading_7 a{
  	padding-bottom: 18px;
}

.info_box .button3{
  	margin-top: 22px;
}

/* contact page */
.contact_form{
	margin: 53px 0 0;
}

.contact_form .row{
	margin-bottom: 18px;
}

.contact_form .row.last{
	margin-top: 30px;
}

.contact_form .checkbox_box{
	margin-top: 31px;
}

.contact_form button{
	width: 213px;
}

/* devices page */
.device_page .standard_box{
	padding-right: 32px;
}

.device_page .standard_box:not(.last){
	margin-bottom: 31px;
}

#device_pos{
	width: 301px;
	margin: 5px 38px -13px 23px;
}

#device_printer{
	width: 300px;
	margin: 4px 37px -18px 25px;
}

#device_fiscal_printer{
	width: 271px;
	margin: -2px 106px -45px -15px;
}

/* configurator */
#configurator{
	padding: 0 0 42px;
}

#configurator .left{
	width: 45%;
}

#configurator .right{
	width: 55%;
}

#configurator .heading_7{
	margin-bottom: 29px;
}

#configurator.step_0 .left .text_1{
	max-width: 194px;
}

#configurator.step_1 .left .text_1, #configurator.step_1b .left .text_1, #configurator.step_1c .left .text_1{
	max-width: 318px;
}

#configurator .left .img{
	top: 188px; right: 20px;
	width: 277px;
}

#configurator .box{
	height: 554px;
	padding: 30px 21px 0;
	margin: 0 14px 0 0;
}

#configurator .box.height{
	height: 664px;
}

#configurator.step_1c .box{
	height: 410px;
}

#configurator.step_4 .box{
	height: auto;
	padding-bottom: 32px;
}

#configurator .box_50{
	width: calc(50% - 10px);
}

#configurator .box_100{
	padding-right: 47px;
}

#configurator .heading_6{
	margin-bottom: 15px;
}

#configurator .box .bottom{
	bottom: 19px; left: 21px;
	width: calc(100% - 42px);
}

#configurator.step_0 .box .bottom{
	top: 393px;
}

#configurator.step_1b .box .bottom, #configurator.step_1c .box .bottom{
	width: calc(100% - 68px);
}

#configurator.step_3 .box .bottom{
	padding: 13px 0 74px;
}

#configurator .box .bottom .button.arrow_up::after, #configurator .box .bottom .button.arrow_right::after{
	right: 21px;
}

#configurator .box .bottom .text_4{
	margin: 8px 0 0;
}

#configurator .box .bottom .left, #configurator .box .bottom .right{
	width: calc(50% - 10px);
}

#configurator .box .bottom .left{
	margin-right: 20px;
}

#configurator.step_1c .box .bottom .left{
	width: 60%;
}

#configurator.step_1c .box .bottom .right{
	width: 40%;
}

#configurator.step_1b .box .bottom .button, #configurator.step_1c .box .bottom .button, #configurator.step_3 .box .bottom .button{
	max-width: 264px;
	font-size: 21px;
}

#configurator.step_3 .box .bottom input[type="text"]{
	max-width: 264px;
	height: 71px;
}

#configurator.step_3 .box .text_6{
	margin-bottom: 10px;
}

.progress_box{
	width: 415px;
	padding: 20px 0 0;
	margin: 0 0 55px;
}

.progress_bar{
	height: 8px;
}

.progress_bar::after{
	height: 8px;
}

.progress_25 .progress_bar::after{
	width: 25%;
}

.progress_40 .progress_bar::after{
	width: 40%;
}

.progress_60 .progress_bar::after{
	width: 60%;
}

.progress_80 .progress_bar::after{
	width: 78%;
}

.progress_box .start, .progress_box .end, .progress_box .current{
	top: -4px;
	font-size: 21px;
	line-height: 21px;
}

.progress_box.progress_25 .current{
	left: 25%;
}

.progress_box.progress_40 .current{
	left: 40%;
}

.progress_box.progress_60 .current{
	left: 60%;
}

.progress_box.progress_80 .current{
	left: 78%;
}

.sep{
	height: 2px;
	margin: 27px auto 23px;
}

#configurator.step_4 .box .form_text{
	margin: 0 0 13px;
}

#configurator.step_4 .box .text_6{
	margin-bottom: 30px;
}

#configurator.step_4 .box .checkbox_box{
	padding-left: 46px;
}

#configurator.step_4 .box .button{
	max-width: 214px;
	margin-top: 29px;
}
	
}

@media (min-width: 768px) and (max-width: 1199px) {

/* layout */
body{
	background-image: url(../gfx/bg_rwd.jpg);
	background-position: center top;
	background-size: 2560px auto;
}

body.bg2{
	background-position: center 43px;
	background-size: 1370px auto;
}

body.bg3{
	background-position: center 43px;
	background-size: 1370px auto;
}

.container{
	max-width: 960px;
}

#header{
	height: 118px;
}

#logo_novitus{
	width: 128px;
	height: 14px;
	margin: 0 49px 0 0;
}

#logo_novitus::after{
	top: -2px; right: -24px;
	width: 1px;
	height: 19px;
}

#logo_soga{
	width: 54px;
	height: 15px;
}

#header nav ul li a{
	height: 118px;
	padding: 0 12px;
	font-size: 16px;
	line-height: 118px;
}

#header nav ul li a span::after{
	top: 73px;
	height: 2px;
}

#header nav ul li.has_submenu a::before{
	height: 30px;
}

#header nav ul li.has_submenu div{
	top: calc(50% + 15px); left: -14px;
	padding: 8px 0;
}

#header nav ul li.has_submenu div a{
	padding: 0 12px;
	font-size: 14px;
	line-height: 28px;
}

#footer .col-xxl-6{
	width: 66.67%;
}

#footer #copyright::after {
    top: 8px; left: 220px;
}

/* forms */
.form_text{
	height: 26px;
	padding: 0 8px;
	border: 2px solid #cfcfcf;
	font-size: 18px;
	line-height: 30px;
}

label.error{
	bottom: -14px; right: 15px;
	font-size: 12px;
	line-height: 12px;
}

label.error#form_terms-error{
	top: -14px; left: 0px; bottom: auto; right: auto;
}

.quick_contact label.error{
	left: 0; right: auto;
	max-width: 177px;
}

.choice_box .quick_contact label.error{
	left: 0; right: auto;
	max-width: 212px;
}

#configurator label.error{
	top: 27px; bottom: auto;
}

#configurator label.error#form_terms-error{
	top: -14px; left: 37px;
}

#configurator.step_3 label.error{
	max-width: 211px;
	margin: 3px 0 0;
}

.form_button{
	width: 28px;
	height: 24px;
	border-radius: 25px;
}

.form_button::after{
	width: 14px;
	height: 14px;
	display: block;
	margin: -7px 0 0 -7px; 
}

.form_button:hover::after{
	transform: translateX(6px);
}

.checkbox_box .checkbox{
	width: 24px;
	height: 24px;
	margin: 2px 14px 0 0;
	border: 2px solid #d5d5d5;
}

.checkbox_box label::after{
	width: 24px;
	height: 24px;
	background-position: 5px 5px;
	background-size: 11px 8px;
}

/* buttons */
.button{
	width: 274px;
	height: 58px;
	padding: 0 0 0 21px;
	border: 2px solid #e9e9e9;
	border-radius: 59px;
	font-size: 20px;
	line-height: 54px;
}

.button.arrow_down::after, .button.arrow_up::after{
	right: 27px;
	width: 21px;
	height: 22px;
	margin: -11px 0 0 0; 
}

.button.arrow_down:hover::after{
	transform: translateY(6px);
}

.button.arrow_up:hover::after{
	transform: rotate(180deg) translateY(6px);
}

.button.arrow_right::after{
	right: 27px;
	width: 22px;
	height: 21px;
	margin: -10.5px 0 0 0; 
}

.button.arrow_right:hover::after{
	transform: translateX(6px);
}

.button2{
	width: 161px;
	height: 34px;
	padding: 0 0 0 21px;
	border: 2px solid #e9e9e9;
	border-radius: 65px;
	font-size: 18px;
	line-height: 30px;
}

.button2.arrow_down::after{
	right: 26px;
	width: 19px;
	height: 21px;
	margin: -10.5px 0 0 0; 
}

.button2.arrow_down:hover::after{
	transform: translateY(2px);
}

.button3{
	width: 352px;
	height: 61px;
	padding: 0 0 0 46px;
	border-radius: 65px;
	font-size: 20px;
	line-height: 61px;
}

.button3.arrow_right::after{
	right: 50px;
	width: 23px;
	height: 21px;
	margin: -11.5px 0 0 0; 
}

.button3.arrow_right:hover::after{
	transform: translateX(6px);
}

.button_arrow{
	width: 34px;
	height: 34px;
}

.button_arrow::after{
	width: 22px;
	height: 21px;
	margin: -10.5px 0 0 -11px; 
}

.button_arrow:hover::after{
	transform: translateX(6px);
}

/* tables */
.table_1{
	margin: 19px 0 20px;
}

.table_1 td{
	height: 59px;
	border-right: 2px solid #e9e9e9;
	border-bottom: 2px solid #e9e9e9;
}

.table_1 tr td:first-child{
	padding: 0 20px;
}

.table_1 tr td:last-child{
	width: 19.8%;
	padding-left: 18px;
}

.table_1 center{
	display: block;
	margin: 10px auto;
}

.table_1 img{
	width: 58px;
}

.table_2 td, .table_3 td{
	height: 26px;
	font-size: 15px;
	line-height: 15px;
}

.table_2 td:first-child{
	width: 58%;
}

.table_2 td:last-child{
	width: 28%;
}

.table_3{
	margin-top: 23px;
}

.table_3 td:first-child{
	width: 54%;
}

.table_3 td:nth-child(2){
	padding-left: 22px;
}

.table_3 td:last-child{
	width: 12%;
}

/* fonts */
.heading_1{
	font-size: 30px;
	line-height: 34px;
}

.heading_2{
	font-size: 22px;
	line-height: 26px;
}

.heading_3{
	font-size: 15px;
	line-height: 25px;
}

.heading_4{
	font-size: 64px;
	line-height: 60px;
}

.heading_5{
	font-size: 27px;
	line-height: 30px;
}

.heading_6{
	font-size: 26px;
	line-height: 30px;
}

.heading_7{
	font-size: 38px;
	line-height: 36px;
}

.heading_8{
	font-size: 66px;
	line-height: 66px;
}

.heading_8 span{
	padding: 0 0 0 2px;
	margin: 3px 0 0;
	font-size: 26px;
	line-height: 26px;
}

.text_1{
	font-size: 14px;
	line-height: 18px;
}

.text_2{
	font-size: 14px;
	line-height: 18px;
}

.text_3{
	font-size: 11px;
	line-height: 13px;
}

.text_3 ul{
	margin: 0 0 0 28px;
}

.text_4{
	font-size: 12px;
	line-height: 12px;
}

.text_5{
	font-size: 18px;
	line-height: 21px;
}

.text_5 ul li{
	padding: 0 0 0 47px;
}

.text_5 ul li::before{
	top: 9px; left: 30px;
	width: 6px;
	height: 6px;
}

.text_6{
	font-size: 17px;
	line-height: 17px;
}

.text_7{
	font-size: 22px;
	line-height: 27px;
}

/* home */
.box_container{
	margin: 0 0 94px;
}

.box_left{
	width: calc(38% - 20px);
	padding: 16px 22px 26px;
	margin: 0 16px 0 0;
	border-radius: 25px;
}

.box_left .heading_1{
	margin-bottom: 16px;
}

.box_left .text_1{
	margin-bottom: 15px;
}

#logo_soga_2{
	width: 42px;
	margin-right: 10px;
}

#img_perfect_choice{
	width: 58px;
}

.box_right{
	width: 62%;
}

.box_row{
	height: calc(50% - 10px);
	margin: 0 0 16px;
}

.box_row.last{
	margin: 0;
}

.box_right_1, .box_right_2{
	width: calc(50% - 10px);
	padding: 15px 20px 0;
	border-radius: 25px;
}

.box_right_1{
	margin: 0 20px 0 0;
}

.box_right_1 .heading_2, .box_right_2 .heading_2{
	margin: 0 0 12px;
}

.box_right_1 .button_arrow, .box_right_2 .button_arrow{
	right: 14px; bottom: 13px;
}

.box_contact{
	padding-right: 22px;
}

#contact_left{
	float: none;
	padding-right: 0;
	margin: 6px 0 0;
}

#contact_right{
	float: none;
	padding-left: 0;
	margin: 2px 0 6px;
}

#contact_left::after{
	display: none;
}

#contact_left span, #contact_right span{
	display: inline-block;
	margin: 0;
	font-size: 14px;
	line-height: 15px;
	vertical-align: top;
}

#contact_left a, #contact_right a{
	display: inline-block;
	font-size: 18px;
	line-height: 18px;
	vertical-align: top;
}

.quick_contact{
	margin: 2px 0 13px;
}

.quick_contact input{
	max-width: 177px;
	margin-right: 6px;
}

/* standard page */
#main.standard_page, #main.standard_page2{
	padding: 24px 0 0;
}

#main.standard_page .heading_4{
	margin-bottom: 33px;
}

#main.standard_page2 .heading_4{
	margin-bottom: 53px;
}

#main.standard_page .text, #main.standard_page3 .text_2{
	margin-bottom: 55px;
}

#main.standard_page3 .text_2{
	max-width: 670px;
}

.expand_box_row.last{
	margin-bottom: 0;
}

.expand_box{
	width: calc(33% - 8px);
	padding: 15px 15px 64px;
	margin: 0 14px 15px 0;
	border-radius: 25px;
}

.expand_box.last{
	margin-right: 0;
}

.expand_box.last_row{
	margin-bottom: 50px;
}

.expand_box .button_arrow{
	right: 14px; bottom: 13px;
}

.expand_row_description{
	padding: 15px 26px 28px;
	margin: 0 0 54px;
	border-radius: 25px;
}

.expand_row_description .heading_5{
	margin: 0 0 32px;
}

.standard_box{
	padding: 46px 56px 65px;
	margin: 0 0 110px;
	border-radius: 25px;
}

.standard_box_sep{
	padding-top: 42px;
	margin: 51px 0 0;
}

.standard_box_sep::after{
	width: 100%;
	height: 4px;
	border-radius: 10px;
}

.standard_box_sep > div:first-child::after{
	top: -27px; right: -2px;
	width: 4px;
	height: 152%;
	border-radius: 10px;
}

.choice_box{
	padding: 0 0 0 22px;
}

.choice_box.last{
	padding: 0 0 0 58px;
}

.choice_box .choice{
	top: 1px; left: -10px;
	width: 24px;
	height: 24px;
	border: 2px solid #cfcfcf;
}

.choice_box.last .choice{
	left: 28px;
}

.choice_box .choice::after{
	width: 12px;
	height: 12px;
}

.choice_box .heading_2{
	margin-bottom: 2px;
}

.choice_box .quick_contact{
	margin-top: 15px;
}

.choice_box .quick_contact input{
	max-width: 212px;
	margin-right: 10px;
}

.standard_box_sep2{
	padding-top: 46px;
	margin: 18px 0 0;
}

.standard_box_sep2 > div:first-child::after{
	position: absolute; top: -32px; right: -2px;
	width: 4px;
	height: 136%;
	border-radius: 10px;
}

.standard_box_sep2 .text_2{
	max-width: 274px;
	margin: 36px auto 30px;
}

.info_box{
  	padding: 17px 0 89px;
}

.info_box .heading_7{
  	margin-bottom: 16px;
}

.info_box .heading_7 a{
  	padding-bottom: 14px;
}

.info_box .button3{
  	margin-top: 18px;
}

/* contact page */
.contact_form{
	margin: 42px 0 0;
}

.contact_form .row{
	margin-bottom: 14px;
}

.contact_form .row.last{
	margin-top: 24px;
}

.contact_form .checkbox_box{
	margin-top: 25px;
}

.contact_form button{
	width: 170px;
}

/* devices page */
.device_page .standard_box{
	padding-right: 26px;
}

.device_page .standard_box:not(.last){
	margin-bottom: 25px;
}

#device_pos{
	width: 241px;
	margin: 4px 30px -10px 18px;
}

#device_printer{
	width: 240px;
	margin: 3px 30px -14px 20px;
}

#device_fiscal_printer{
	width: 217px;
	margin: -2px 85px -36px -12px;
}

/* configurator */
#configurator{
	padding: 0 0 34px;
}

#configurator .left{
	width: 45%;
}

#configurator .right{
	width: 55%;
}

#configurator .heading_7{
	margin-bottom: 23px;
}

#configurator.step_0 .left .text_1{
	max-width: 155px;
}

#configurator.step_1 .left .text_1, #configurator.step_1b .left .text_1, #configurator.step_1c .left .text_1{
	max-width: 254px;
}

#configurator .left .img{
	top: 150px; right: 16px;
	width: 222px;
}

#configurator .box{
	height: 443px;
	padding: 24px 17px 0;
	margin: 0 11px 0 0;
}

#configurator .box.height{
	height: 567px;
}

#configurator.step_1c .box{
	height: 328px;
}

#configurator.step_4 .box{
	height: auto;
	padding-bottom: 26px;
}

#configurator .box_50{
	width: calc(50% - 10px);
}

#configurator .box_100{
	padding-right: 38px;
}

#configurator .heading_6{
	margin-bottom: 12px;
}

#configurator .box .bottom{
	bottom: 15px; left: 17px;
	width: calc(100% - 34px);
}

#configurator.step_0 .box .bottom{
	top: 314px;
}

#configurator.step_1b .box .bottom, #configurator.step_1c .box .bottom{
	width: calc(100% - 55px);
}

#configurator.step_3 .box .bottom{
	padding: 10px 0 59px;
}

#configurator .box .bottom .button.arrow_up::after, #configurator .box .bottom .button.arrow_right::after{
	right: 17px;
}

#configurator .box .bottom .text_4{
	margin: 6px 0 0;
}

#configurator .box .bottom .left, #configurator .box .bottom .right{
	width: calc(50% - 10px);
}

#configurator .box .bottom .left{
	margin-right: 20px;
}

#configurator.step_1c .box .bottom .left{
	width: 60%;
}

#configurator.step_1c .box .bottom .right{
	width: 40%;
}

#configurator.step_1b .box .bottom .button, #configurator.step_1c .box .bottom .button, #configurator.step_3 .box .bottom .button{
	max-width: 211px;
	font-size: 17px;
}

#configurator.step_3 .box .bottom input[type="text"]{
	max-width: 211px;
	height: 57px;
}

#configurator.step_3 .box .text_6{
	margin-bottom: 8px;
}

.progress_box{
	width: 332px;
	padding: 16px 0 0;
	margin: 0 0 44px;
}

.progress_bar{
	height: 7px;
}

.progress_bar::after{
	height: 7px;
}

.progress_25 .progress_bar::after{
	width: 25%;
}

.progress_40 .progress_bar::after{
	width: 40%;
}

.progress_60 .progress_bar::after{
	width: 60%;
}

.progress_80 .progress_bar::after{
	width: 78%;
}

.progress_box .start, .progress_box .end, .progress_box .current{
	top: -4px;
	font-size: 17px;
	line-height: 17px;
}

.progress_box.progress_25 .current{
	left: 25%;
}

.progress_box.progress_40 .current{
	left: 40%;
}

.progress_box.progress_60 .current{
	left: 60%;
}

.progress_box.progress_80 .current{
	left: 78%;
}

.sep{
	height: 2px;
	margin: 22px auto 18px;
}

#configurator.step_4 .box .form_text{
	margin: 0 0 10px;
}

#configurator.step_4 .box .text_6{
	margin-bottom: 24px;
}

#configurator.step_4 .box .checkbox_box{
	padding-left: 37px;
}

#configurator.step_4 .box .button{
	max-width: 171px;
	margin-top: 23px;
}
		
}

@media (min-width: 768px) and (max-width: 991px) {

/* layout */
body{
	background-image: url(../gfx/bg_rwd.jpg);
	background-position: center top;
	background-size: 2560px auto;
}

body.bg2{
	background-position: center 43px;
	background-size: 1096px auto;
}

body.bg3{
	background-position: center 43px;
	background-size: 1096px auto;
}

.container{
	max-width: 720px;
}

#header{
	height: 118px;
}

#logo_novitus{
	width: 102px;
	height: 11px;
	margin: 0 31px 0 0;
}

#logo_novitus::after{
	top: -2px; right: -15px;
	width: 1px;
	height: 15px;
}

#logo_soga{
	width: 43px;
	height: 12px;
}

#header nav ul li a{
	height: 118px;
	padding: 0 8px;
	font-size: 14px;
	line-height: 118px;
}

#header nav ul li a span::after{
	top: 73px;
	height: 2px;
}

#footer .col-xxl-6{
	width: 100%;
}

/* standard page  */
.standard_box_sep > div:first-child{
	padding-bottom: 35px;
}

.standard_box_sep > div:first-child::after, .standard_box_sep2 > div:first-child::after{
	display: none;
}

.choice_box.last{
	padding: 0 0 0 22px;
}

.choice_box.last .choice{
	left: -10px;
}

.standard_box_sep2 .text_2{
	margin-top: 16px;
}

.expand_box{
	height: 157px;
}

/* forms */
.quick_contact{
	margin-bottom: 18px;
}

.quick_contact label.error{
	max-width: 135px;
}

#configurator label.error{
	top: 51px;
}

#configurator label.error#form_terms-error{
	position: static;
}

/* fonts */
.heading_7{
	font-size: 30px;
	line-height: 28px;
}

.heading_7{
	font-size: 30px;
	line-height: 28px;
}

.heading_8{
	font-size: 46px;
	line-height: 46px;
}

/* configuration */
#configurator .left{
	width: 40%;
}

#configurator .right{
	width: 60%;
}

#configurator .left .img{
    right: -99px;
}

#configurator.step_1 .box{
	height: 520px;
}

#configurator .box .bottom .button.arrow_up, #configurator .box .bottom .button.arrow_right{
	padding: 0;
	text-align: center;
}

#configurator .box .bottom .button.arrow_up::after, #configurator .box .bottom .button.arrow_right::after{
	display: none;
}

.progress_box{
	width: 262px;
}

.progress_80 .progress_bar::after{
    width: 72%;
}

.progress_box.progress_80 .current{
    left: 72%;
}

#configurator.step_4 .box .text_6{
	margin-top: 6px;
	margin-bottom: 0;
}

}

@media (max-width: 767px) {

/* layout */
body{
	background: #ffffff;
}

body.bg2{
	background: #ffffff;
}

body.bg3{
	background: #ffffff;
}

.container{
	max-width: 100%;
}

#header{
	height: 57px;
	background: #000000;
	margin-bottom: 5px;
}

#header.menu_opened{
	position: fixed; top: 0; left: 0; z-index: 10;
	width: 100%;
}

#header nav{
	height: 57px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#logo_novitus_mobile{
	position: relative;
	width: 107px;
	height: 12px;
	display: block;
	float: left;
	margin: 0 21px 0 0;
}

#logo_novitus_mobile::after{
	content: "";
	position: absolute; top: 0; right: -11px;
	width: 1px;
	height: 13px;
	display: block;
	background: #ffffff;
	pointer-events: none;
}

#logo_soga_mobile{
	width: 45px;
	height: 13px;
	display: block;
	float: left;
}

#logo_novitus_mobile img, #logo_soga_mobile img{
	width: 100%;
	height: auto;
	display: block;
}

#logo_novitus, #logo_soga{
	display: none;
}

#header nav ul{
	display: none;
}

#menu_mobile_button{
	width: 48px;
	height: 48px; 
	display: block;
	float: right;
	margin: 0 -6px 0 0;
	background: url(../gfx/mobile_menu_button.png) no-repeat center center;
	background-size: 20px 17px;
	cursor: pointer;
}

#menu_mobile{
	position: fixed; top: 57px; left: 0; z-index: 9;
	width: 100%;
	height: calc(100% - 57px);
	display: none;
	background: #000000;
}

#menu_mobile.active{
	display: flex;
	justify-content: center;
    align-items: center;
}

#menu_mobile ul{
	margin: -57px 0 0;
	list-style: none;
}

#menu_mobile ul li{
	display: block;
}

#menu_mobile ul li a{
	position: relative;
	display: block;
	padding: 18px 0;
	font-family: 'neuzeit-grotesk', sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 30px;
	line-height: 30px;
	text-align: center;
	color: #ffffff;
}

#menu_mobile ul li a span{
	position: relative;
	display: inline-block;
}

#menu_mobile ul li a span::after{
	content: "";
	position: absolute; top: 34px; left: 0;
	width: 100%;
	height: 3px;
	background: #e93a09;
	transform: scaleX(0);
	transform-origin: bottom right;
	transition: transform 0.15s ease-out;
}
  
#menu_mobile ul li.active a span::after{
	transform: scaleX(1);
	transform-origin: bottom left;
}

#main{
	position: relative;
}

.home #main::before{
	content: "";
	position: absolute; bottom: -216px; right: 0;
	width: 357px;
	height: 392px;
	display: block;
	background: url(../gfx/bg_right_mobile.jpg) no-repeat center top;
	background-size: contain;
}

#footer{
	position: relative;
	padding: 25px 10px 24px;
	background: #000000;
}

#footer .last{
	padding-left: 10px;
}

#footer #copyright{
	padding: 0;
	margin: 0 0 24px;
}

#footer #copyright::after{
	display: none;
}

#footer ul{
	margin: 24px 0;
}

#footer ul li{
	color: #808080;
}

/* forms */
.form_text{
	font-size: 22px;
}

.form_text.error{
	margin-bottom: 20px;
}

.quick_contact label.error{
	left: 0; bottom: 0; right: auto;
	max-width: 100%;
	text-align: left;
}

.quick_contact label.error ~ #form_submit{
	margin-bottom: 20px;
}

.choice_box .quick_contact label.error{
	left: 0; right: auto;
	max-width: 100%;
	text-align: left;
}

#configurator .form_text.error{
	margin-bottom: 0;
}

#configurator label.error{
	top: 79px; bottom: auto;
	margin: 0;
}

#configurator label.error#form_terms-error{
	position: static;
}

#configurator.step_3 label.error{
	max-width: 100%;
	margin: 3px 0 0;
}

/* buttons */
.button{
	width: 100%;
	max-width: 292px;
	height: 73px;
	display: flex;
	align-items: center;
	padding: 0 90px 0 39px;
	border: 2px solid #e9e9e9;
	font-size: 24px;
	line-height: 24px;
}

.button.arrow_down::after, .button.arrow_up::after{
	content: "";
	position: absolute; top: 50%; right: 47px;
	width: 36px;
	height: 39px;
	display: block;
	margin: -17.5px 0 0 0; 
	background: url(../gfx/arrow_down.png) no-repeat center top;
	background-size: contain;
	transition: transform 0.15s ease-out;
}

.button.arrow_down:hover::after{
	transform: translateY(10px);
}

.button.arrow_up:hover::after{
	transform: rotate(180deg) translateY(10px);
}

.button.arrow_right::after{
	content: "";
	position: absolute; top: 50%; right: 48px;
	width: 39px;
	height: 36px;
	display: block;
	margin: -18px 0 0 0; 
	background: url(../gfx/arrow_right.png) no-repeat center top;
	background-size: contain;
	transition: transform 0.15s ease-out;
}

.button.arrow_right:hover::after{
	transform: translateX(10px);
}

.button2{
	width: 171px;
	height: 45px;
	padding: 0 0 0 19px;
	border: 2px solid #e9e9e9;
	border-radius: 65px;
	font-size: 24px;
	line-height: 41px;
}

.button2.arrow_down::after{
	right: 18px;
	width: 24px;
	height: 29px;
	margin: -14.5px 0 0 0; 
}

.button3{
  	width: 100%;
	max-width: 331px;
	height: 72px;
	padding: 0 0 0 41px;
	border-radius: 65px;
	font-size: 24px;
	line-height: 72px;
}

.button3.arrow_right::after{
	right: 35px;
	width: 27px;
	height: 25px;
	margin: -13px 0 0 0; 
}

.button3.arrow_right:hover::after{
	transform: translateX(10px);
}

.button_arrow{
	width: 48px;
	height: 48px;
}

.button_arrow::after{
	width: 26px;
	height: 24px;
	margin: -12px 0 0 -13px; 
}

.button_arrow:hover::after{
	transform: translateX(6px);
}

/* tables */
.table_1{
	margin: 23px 0 27px;
}

.table_1 td{
	height: auto;
	padding-top: 16px;
	padding-bottom: 16px;
	border-right: 2px solid #e9e9e9;
	border-bottom: 2px solid #e9e9e9;
}

.table_1 tr td:last-child{
	border-right: 0;
}

.table_1 tr:last-child td{
	border-bottom: 0;
}

.table_1 tr td:first-child{
	padding: 16px 25px;
}

.table_1 tr td:last-child{
	display: none;
}

.table_1 center{
	display: block;
	margin: 10px auto;
}

.table_1 img{
	width: 64px;
}

.table_2 td, .table_3 td{
	height: 26px;
	padding: 7px 0;
	font-size: 15px;
	line-height: 15px;
}

.table_2 td:first-child{
	width: 58%;
}

.table_2 td:last-child{
	width: 28%;
}

.table_3{
	margin-top: 23px;
}

.table_3 td:first-child{
	width: 54%;
}

.table_3 td:nth-child(2){
	padding-left: 12px;
}

.table_3 td:last-child{
	width: 25%;
	white-space: nowrap;
}

/* fonts */
.heading_1{
	font-size: 32px;
	line-height: 32px;
}

.heading_2{
	font-size: 32px;
	line-height: 32px;
}

.heading_3{
	font-size: 26px;
	line-height: 38px;
}

.heading_4{
	font-size: 32px;
	line-height: 32px;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	text-align: center;
}

.heading_5{
	font-size: 23px;
	line-height: 23px;
}

.heading_6{
	font-size: 26px;
	line-height: 28px;
}

.heading_7{
	font-size: 42px;
	line-height: 40px;
}

.heading_8{
	font-size: 66px;
	line-height: 66px;
}

.heading_8 span{
	padding: 0 0 0 2px;
	margin: 3px 0 0;
	font-size: 26px;
	line-height: 26px;
}

.text_1{
	font-size: 21px;
	line-height: 25px;
}

.text_2{
	font-size: 21px;
	line-height: 25px;
}

.text_3{
	font-size: 13px;
	line-height: 16px;
}

.text_3 ul{
	margin: 0 0 0 16px;
}

.text_4{
	font-size: 16px;
	line-height: 16px;
}

.text_5{
	font-size: 18px;
	line-height: 22px;
}

.text_5 ul li{
	padding: 0 0 0 38px;
}

.text_5 ul li::before{
	top: 9px; left: 23px;
	width: 6px;
	height: 6px;
}

.text_5 ul li ul li::before{
	border-width: 1px;
}

.text_6{
	font-size: 17px;
	line-height: 17px;
}

.text_7{
	font-size: 22px;
	line-height: 27px;
}

/* home */
.box_container{
	display: block;
	margin: 0 0 159px;
}

.box_left{
	position: relative;
	width: 100%;
	padding: 22px 16px 40px;
	margin: 0;
}

.box_left::before{
	content: "";
	position: absolute; bottom: -199px; right: -15px; z-index: -1;
	width: 193px;
	height: 394px;
	display: block;
	background: url(../gfx/bg_left_mobile.jpg) no-repeat center top;
	background-size: contain;
}

.box_left .heading_1{
	margin-bottom: 13px;
}

.box_left .text_1{
	margin-bottom: 23px;
}

#logo_soga_2{
	width: 80px;
	margin-right: 24px;
}

#img_perfect_choice{
	width: 109px;
}

.box_right{
	width: 100%;
	display: block;
}

.box_row{
	height: auto;
	display: block;
	margin: 0 0 26px;
}

.box_row.last{
	margin: 0;
}

.box_right_1, .box_right_2{
	width: 100%;
	padding: 25px 15px 30px;
	background: transparent;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.box_right_1{
	margin: 0;
}

.box_right_1 .heading_2, .box_right_2 .heading_2{
	margin: 0 0 24px;
}

.box_right_1 .button_arrow, .box_right_2 .button_arrow{
	right: 7px; bottom: 6px;
}

.box_contact{
	padding-right: 15px;
}

#contact_left, #contact_right{
	position: relative;
	float: left;
	margin: 16px 0 26px;
}

#contact_left{
	float: none;
	padding-right: 0;
	margin: 9px 0 0;
}

#contact_right{
	float: none;
	padding-left: 0;
	margin: 3px 0 9px;
}

#contact_left::after{
	display: none;
}

#contact_left span, #contact_right span{
	display: inline-block;
	margin: 0;
	font-size: 19px;
	line-height: 25px;
	vertical-align: top;
}

#contact_left a, #contact_right a{
	display: inline-block;
	font-size: 25px;
	line-height: 25px;
	vertical-align: top;
}

.quick_contact{
	margin: 2px 0 11px;
	display: flex;
	opacity: 1;
	pointer-events: all;
}

.choice_box .quick_contact{
	display: none;
}

.choice_box .quick_contact.active{
	display: flex;
}

.quick_contact input{
	max-width: 193px;
	margin-right: 9px;
}

/* standard page */
#main.standard_page, #main.standard_page2{
	padding: 22px 0 0;
}

#main.standard_page .heading_4{
	margin-bottom: 60px;
}

#main.standard_page2 .heading_4{
	margin-bottom: 26px;
}

#main.standard_page .text, #main.standard_page3 .text_2{
	margin-bottom: 64px;
}

#main.standard_page3 .text_2{
	max-width: 100%;
}

#expand_box_container{
	position: relative;
}

.expand_box{
	width: calc(50% - 5px);
	height: 145px;
	padding: 26px 17px 0;
	margin: 0 10px 6px 0;
	border-radius: 25px;
	transition: none;
}

.standard_page2 .expand_box{
	height: 168px;
}

.expand_box.active{
	background: #e93a09;
	border-radius: 0 0 25px 25px;
}

.expand_box.active *{
	color: #ffffff;
}

.expand_box.last{
	margin-right: 10px;
}

.expand_box.last_mobile{
	margin-right: 0;
}

.expand_box.last_row{
	margin-bottom: 6px;
}

.expand_box.last_element{
	margin-bottom: 32px;
}

.expand_box .heading_2{
	font-size: 23px;
	line-height: 23px;
}

.expand_box .button_arrow{
	right: 9px; bottom: 5px;
}

.expand_box.active .button_arrow::after{
	background-image: url(../gfx/arrow_up_white.png);
}

.expand_box .button_arrow:hover::after{
	transform: none;
}

.expand_row_description{
	position: absolute; z-index: 1;
	padding: 28px 44px 49px;
	margin: 0;
	background: #e93a09;
	border-radius: 25px 25px 25px 0;
	-webkit-box-shadow: none;
	box-shadow: none;
	transition: none;
}

.expand_row_description.reverse_radius{
	border-radius: 25px 25px 0 25px;
}

.expand_row_description.active{
	display: block;
}

.expand_row_description .close_button{
	content: "";
	position: absolute; top: 13px; right: 7px;
	width: 48px;
	height: 48px;
	display: block;
	background: url(../gfx/icon_close.png) no-repeat center center;
	background-size: 32px 32px;
	cursor: pointer;
}

.expand_row_description .heading_5{
	margin: 0 0 18px;
	color: #ffffff;
}

.expand_row_description .text_5{
	color: #ffffff;
}

.expand_row_description .text_5 ul li::before{
	background: #ffffff;
}

.expand_row_description .text_5 ul li ul li::before{
	border-color: #ffffff;
	background: transparent;
}

.standard_box{
	width: 100%;
	padding: 0 7px 0;
	margin: 0 0 48px;
	background: transparent;
	-webkit-box-shadow: none;
	box-shadow: none
}

.standard_box_sep{
	padding-top: 0;
	margin: 20px 0 0;
}

.standard_box_sep::after{
	content: "";
	position: absolute; top: 0; left: 0;
	width: 100%;
	height: 6px;
	display: block;
	background: #e9e9e9;
	border-radius: 10px;
}

.standard_box_sep > div{
	padding-top: 30px;
	padding-bottom: 29px;
}

.standard_box_sep > div:first-child::after{
	top: auto; bottom: 0; left: 0; right: auto;
	width: 100%;
	height: 6px;
}

.choice_box{
	padding: 0 0 0 18px;
}

.choice_box.last{
	padding: 0 0 0 18px;
}

.choice_box .choice{
	top: 4px; left: -14px;
	width: 21px;
	height: 21px;
}

.choice_box.last .choice{
	left: -14px;
}

.choice_box .choice::after{
	width: 9px;
	height: 9px;
}

.choice_box .heading_2{
	margin-bottom: 10px;
	font-size: 30px;
	line-height: 30px;
}

.choice_box .quick_contact{
	margin-top: 15px;
}

.choice_box .quick_contact input{
	max-width: 393px;
	margin-right: 18px;
}

.standard_box_sep2{
	position: relative;
	padding-top: 0;
	margin: 30px 0 0;
}

.standard_box_sep2::after{
	content: "";
	position: absolute; top: 0; left: 0;
	width: 100%;
	height: 6px;
	display: block;
	background: #e9e9e9;
	border-radius: 10px;
}

.standard_box_sep2 > div{
	padding-top: 41px;
	padding-bottom: 42px;
}

.standard_box_sep2 > div:first-child::after{
	top: auto; bottom: 0; left: 0; right: auto;
	width: 100%;
	height: 6px;
}

.standard_box_sep2 .text_2{
	max-width: 100%;
	margin: 35px auto 0;
	font-size: 18px;
	line-height: 21px;
}

.info_box{
  	padding: 0 0 42px;
}

.info_box .heading_7{
  	margin-bottom: 16px;
}

.info_box .heading_7 a{
  	padding-bottom: 14px;
}

.info_box .button3{
  	margin-top: 18px;
}

.table_1 tr td .button2{
	margin-top: 9px;
	margin-left: -9px;
}

/* contact page */
.contact_form{
	margin: 47px 0 0;
}

.contact_form .row{
	margin-bottom: 15px;
}

.contact_form .row.last{
	margin-top: 30px;
	margin-bottom: 0;
	text-align: center;
}

.contact_form label{
	margin-bottom: 5px;
}

.contact_form label.error{
	margin-bottom: 0;
}

.contact_form .checkbox_box{
	margin-top: 28px;
}

.contact_form button{
	width: 224px;
	display: inline-block;
}

/* devices page */
.device_page .standard_box{
	display: block;
	padding: 0 16px;
	text-align: center;
}

.device_page .standard_box:not(.last){
	margin-bottom: 85px;
}

#device_pos{
	width: 267px;
	height: auto;
	display: block;
	float: none;
	margin: 7px auto 24px;
}

#device_printer{
	width: 266px;
	height: auto;
	display: block;
	float: none;
	margin: 7px auto 24px;
}

#device_fiscal_printer{
	width: 241px;
	height: auto;
	display: block;
	float: none;
	margin: 7px auto 24px;
}

/* configurator */
#configurator{
	display: block;
	padding: 0 0 34px;
}

#configurator .left{
	width: 100%;
	overflow: hidden;
}

#configurator .right{
	width: 100%;
	display: block;
	padding: 32px 0 0;
}

#configurator .heading_7{
	margin-bottom: 23px;
}

#configurator.step_0 .left .text_1{
	max-width: 100%;
}

#configurator.step_1 .left .text_1, #configurator.step_1b .left .text_1, #configurator.step_1c .left .text_1{
	max-width: 100%;
}

#configurator .left .img{
	display: none;
}

#configurator .box{
	height: auto;
	padding: 24px 17px 32px;
	margin: 0 0 20px 0;
}

#configurator .box.height{
	height: auto;
}

#configurator.step_1c .box{
	height: auto;
}

#configurator.step_4 .box{
	height: auto;
	padding-bottom: 26px;
}

#configurator .box_50{
	width: 100%;
	height: auto;
}

#configurator .box_100{
	padding-right: 38px;
}

#configurator .heading_6{
	margin-bottom: 12px;
}

#configurator .box .bottom{
	position: static;
	width: 100%;
	padding: 32px 0 0;
}

#configurator.step_1b .box .bottom, #configurator.step_1c .box .bottom{
	width: 100%;
	display: block;
}

#configurator.step_3 .box .bottom{
	display: block;
	padding: 10px 0 0;
}

#configurator .box .bottom .button.arrow_up::after, #configurator .box .bottom .button.arrow_right::after{
	right: 48px;
}

#configurator .box .bottom .text_4{
	margin: 6px 37px 0;
}

#configurator .box .bottom .left, #configurator .box .bottom .right{
	width: 100%;
}

#configurator .box .bottom .left{
	margin-right: 0px;
}

#configurator.step_1c .box .bottom .left{
	width: 100%;
}

#configurator.step_1c .box .bottom .right{
	width: 100%;
	display: none;
}

#configurator.step_1b .box .bottom .button, #configurator.step_1c .box .bottom .button, #configurator.step_3 .box .bottom .button{
	max-width: 100%;
	margin: 0 auto;
	font-size: 21px;
}

#configurator.step_3 .box .bottom input[type="text"]{
	max-width: 100%;
	height: 57px;
}

#configurator.step_3 .box .text_6{
	margin-bottom: 8px;
}

.progress_box{
	width: 100%;
	padding: 16px 0 0;
	margin: 0 0 44px;
}

.progress_bar{
	height: 7px;
}

.progress_bar::after{
	height: 7px;
}

.progress_25 .progress_bar::after{
	width: 25%;
}

.progress_40 .progress_bar::after{
	width: 40%;
}

.progress_60 .progress_bar::after{
	width: 60%;
}

.progress_80 .progress_bar::after{
	width: 78%;
}

.progress_box .start, .progress_box .end, .progress_box .current{
	top: -4px;
	font-size: 17px;
	line-height: 17px;
}

.progress_box.progress_25 .current{
	left: 25%;
}

.progress_box.progress_40 .current{
	left: 40%;
}

.progress_box.progress_60 .current{
	left: 60%;
}

.progress_box.progress_80 .current{
	left: 78%;
}

.sep{
	height: 2px;
	margin: 22px auto 18px;
}

#configurator.step_4 .box .form_text{
	margin: 0 0 10px;
}

#configurator.step_4 .box .text_6{
	margin-top: 8px;
	margin-bottom: 5px;
}

#configurator.step_4 .box .checkbox_box{
	padding-left: 0;
}

#configurator.step_4 .box .button{
	max-width: 100%;
	margin-top: 23px;
}

}

/* form - questions */
body.bg4{
	background: url(../gfx/bg2.jpg) no-repeat center 240px;
	background-size: 100% auto;
}

body.open_form{
  	overflow: hidden;
}

#form_container{
  	position: fixed; top: 0; left: 0;
  	width: 100%;
  	height: 100%;
  	display: none;
  	overflow-x: hidden;
	overflow-y: auto;
  	background: #ffffff;
}

#form_container.active{
  	display: block;
}

#form_box{
	position: relative;
  	padding: 80px;
  	margin: 100px 0;
}

#close_form{
	position: absolute; top: 30px; right: 30px;
	width: 59px;
	height: 59px;
	display: block;
	border: 2px solid #d2d2d2;
	cursor: pointer;
	border-radius: 12px;
}

#close_form::after{
	content: "";
	position: absolute; top: 50%; left: 50%;
	width: 36px;
	height: 36px;
	display: block;
	background: url(../gfx/close.png) no-repeat center top;
	background-size: contain;
	transform: translateX(-50%) translateY(-50%);
}

.question_row{
  	display: flex;
  	align-items: center;
  	margin: 0 0 33px;
}

.question_row .number{
  	width: 39px;
	min-width: 39px;
  	height: 39px;
  	display: block;
  	background: #e3e3e3;
  	line-height: 39px;
  	text-align: center;
  	border-radius: 50%;
}

.question_row .question{
  	width: 66%;
  	padding: 0 22px;
}

.question_row .options{
  	position: relative;
  	display: flex;
  	align-items: center;
}

.question_row input[type="text"]{
  	max-width: 191px;
  	text-align: center;
}

.question_row .form-switch .form-check-input, .question_row .form-switch .form-check-input:focus{
	width: 61px;
	height: 31px;
	margin: 0 48px 0 17px;
	background-image: url(../gfx/switch3.png);
	background-size: 20px 20px;
}

.question_row .form-switch .form-check-input:checked{
	background-image: url(../gfx/switch4.png);
	background-position: 34px center;
}

.question_row.button_row{
	display: flex;
	align-items: flex-end;
	padding-top: 50px;
	text-align: center;
}

.question_row.button_row .text_5{
	margin: 0 0 30px;
	text-align: left;
}

.question_row.button_row .left{
	width: calc(39px + 66%);
}

.question_contact_row{
	display: flex;
	align-items: center;
	margin: 0 0 32px;
}

.question_contact_row.last{
	margin-bottom: 0;
}

.question_contact_row .input_box{
	position: relative;
	margin: 0 19px 0 0;
}

.question_contact_row input[type="text"]{
  	max-width: 316px;
  	display: block;
	margin: 0;
}

.question_contact_row label.error{
	left: 0; right: auto;
	text-align: left;
}

.question_row.button_row .button{
  	width: 316px;
}

.question_row .options label.error{
  	left: 0; right: auto;
  	text-align: left;
}

@media (min-width: 1900px) and (max-width: 2499px) {

/* form - questions */
body.bg4{
	background-position: center 180px;
}

#form_box{
	padding: 60px;
	margin: 75px 0;
}

#close_form{
	top: 23px; right: 23px;
	width: 44px;
	height: 44px;
	border: 2px solid #d2d2d2;
	border-radius: 9px;
}

#close_form::after{
	width: 27px;
	height: 27px;
}

.question_row{
	margin: 0 0 25px;
}

.question_row .number{
	width: 30px;
	min-width: 30px;
	height: 30px;
	line-height: 30px;
}

.question_row .question{
	width: 66%;
	padding: 0 17px;
}

.question_row input[type="text"]{
	max-width: 191px;
}

.question_row .form-switch .form-check-input, .question_row .form-switch .form-check-input:focus{
	width: 46px;
	height: 24px;
	margin: 0 36px 0 13px;
	background-size: 15px 15px;
}

.question_row .form-switch .form-check-input:checked{
	background-position: 26px center;
}

.question_row.button_row{
  	padding-top: 38px;
}

.question_row.button_row .text_5{
  	margin: 0 0 23px;
}

.question_row.button_row .left{
  	width: calc(29px + 66%);
}

.question_contact_row{
  	margin: 0 0 24px;
}

.question_contact_row.last{
  	margin-bottom: 0;
}

.question_contact_row .input_box{
  	margin: 0 14px 0 0;
}

.question_contact_row input[type="text"]{
	max-width: 237px;
}

.question_row.button_row .button{
	width: 237px;
}

}

@media (min-width: 1200px) and (max-width: 1899px) {

/* form - questions */
body.bg4{
	background-position: center 309px;
}

#form_box{
	padding: 54px;
	margin: 68px 0;
}

#close_form{
	top: 21px; right: 21px;
	width: 40px;
	height: 40px;
	border: 2px solid #d2d2d2;
	border-radius: 8px;
}

#close_form::after{
	width: 24px;
	height: 24px;
}

.question_row{
	margin: 0 0 23px;
}

.question_row .number{
	width: 27px;
	min-width: 27px;
	height: 27px;
	line-height: 27px;
}

.question_row .question{
	width: 66%;
	padding: 0 15px;
}

.question_row input[type="text"]{
	max-width: 172px;
}

.question_row .form-switch .form-check-input, .question_row .form-switch .form-check-input:focus{
	width: 41px;
	height: 22px;
	margin: 0 32px 0 12px;
	background-size: 14px 14px;
}

.question_row .form-switch .form-check-input:checked{
	background-position: 23px center;
}

.question_row.button_row{
  	padding-top: 34px;
}

.question_row.button_row .text_5{
  	margin: 0 0 21px;
}

.question_row.button_row .left{
  	width: calc(26px + 66%);
}

.question_contact_row{
  	margin: 0 0 22px;
}

.question_contact_row.last{
  	margin-bottom: 0;
}

.question_contact_row .input_box{
  	margin: 0 13px 0 0;
}

.question_contact_row input[type="text"]{
	max-width: 213px;
}

.question_row.button_row .button{
	width: 213px;
}

}

@media (min-width: 768px) and (max-width: 1199px) {

/* form - questions */
body.bg4{
	background-position: center 247px;
}

#form_box{
	padding: 43px;
	margin: 54px 0;
}

#close_form{
	top: 17px; right: 17px;
	width: 32px;
	height: 32px;
	border: 2px solid #d2d2d2;
	border-radius: 6px;
}

#close_form::after{
	width: 19px;
	height: 19px;
}

.question_row{
	margin: 0 0 18px;
}

.question_row .number{
	width: 22px;
	min-width: 22px;
	height: 22px;
	line-height: 22px;
}

.question_row .question{
	width: 66%;
	padding: 0 12px;
}

.question_row input[type="text"]{
	max-width: 138px;
}

.question_row .form-switch .form-check-input, .question_row .form-switch .form-check-input:focus{
	width: 33px;
	height: 18px;
	margin: 0 26px 0 10px;
	background-size: 11px 11px;
}

.question_row .form-switch .form-check-input:checked{
	background-position: 18px center;
}

.question_row.button_row{
  	padding-top: 27px;
}

.question_row.button_row .text_5{
  	margin: 0 0 17px;
}

.question_row.button_row .left{
  	width: calc(21px + 66%);
}

.question_contact_row{
  	margin: 0 0 18px;
}

.question_contact_row.last{
  	margin-bottom: 0;
}

.question_contact_row .input_box{
  	margin: 0 10px 0 0;
}

.question_contact_row input[type="text"]{
	max-width: 170px;
}

.question_row.button_row .button{
	width: 170px;
}

}

@media (min-width: 768px) and (max-width: 991px) {

/* form - questions */
body.bg4{
	background-position: center 280px;
}

.question_row .question{
	width: 63%;
}

.question_row.button_row .left{
	width: calc(21px + 63%);
}

}

@media (max-width: 767px) {

/* form - questions */
body.bg4{
	background: #ffffff;
}

#form_box{
	padding: 80px 10px 40px;
	margin: 0;
}

#close_form{
	top: 10px; right: 10px;
	width: 40px;
	height: 40px;
	border: 2px solid #d2d2d2;
	border-radius: 8px;
}

#close_form::after{
	width: 24px;
	height: 24px;
}

.question_row{
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 0 23px;
}

.question_row .number{
	width: 27px;
	min-width: 27px;
	height: 27px;
	line-height: 27px;
}

.question_row .question{
	width: calc(100% - 27px);
	padding: 0 15px;
}

.question_row .options{
	width: 250px;
	justify-content: center;
	margin-top: 10px;
}

.question_row input[type="text"]{
	max-width: 172px;
}

.question_row .form-switch .form-check-input, .question_row .form-switch .form-check-input:focus{
	width: 41px;
	height: 22px;
	margin: 0 32px 0 12px;
	background-size: 14px 14px;
}

.question_row .form-switch .form-check-input:checked{
	background-position: 23px center;
}

.question_row.button_row{
	display: block;
  	padding-top: 34px;
}

.question_row.button_row .text_5{
  	margin: 0 0 21px;
}

.question_row.button_row .left, .question_row.button_row .right{
  	width: 100%;
}

.question_contact_row{
	display: block;
  	margin: 0 0 15px;
}

.question_contact_row.last{
  	margin-bottom: 0;
}

.question_contact_row .input_box{
  	margin: 0 0 15px;
}

.question_contact_row input[type="text"]{
	max-width: 213px;
	margin: 0 auto;
}

.question_row.button_row .button{
	width: 213px;
	margin: 0 auto;
}

.question_row .options label.error{
	bottom: 0;
	text-align: center;
}

.question_contact_row label.error{
	position: static;
	margin: 5px auto 0;
    text-align: center;
}

}
