body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	/*font-weight: lighter;*/
	background-color: #000000;
	-webkit-overflow-scrolling: touch;
	margin: 0px auto 0px auto;
	text-align: center;
	font-size: 16px;
	overflow-y: scroll;
	overflow-x: hidden;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
}
.header {
	position: fixed;
	left: 0px;
	top: 0px;
	padding: 0px;
	width: 100%;
	background-color: #000000;
	height: 70px;
	text-align: left;
	z-index: 2;
}
.header_left {
	display: inline-block;
}
.logo {
	margin: 10px;
	height: 50px;
	vertical-align: middle;
	/*border-radius: 7px;*/
}
.menu {
	display: none;
}
.menu_icon {
	display: none;
}
.fisquare {
	height: 30px;
	padding-left: 10px;
	vertical-align: middle;
	z-index: 10;
}
.main {
	padding-top: 70px;
}
.detail {
	margin: 20px auto;
	padding: 100px 40px;
	text-align: left;
	font-size: 16px;
	color: #33495f;
	background-color: #fff7e5;
	border-radius: 7px;
}
.htext {
	display: inline-block;
	padding: 5px 20px;
}
.header_link {
	cursor: pointer;
	padding-left: 20px;
}
.header_right {
	position: absolute;
	top: 21px;
	right: 10px;
	margin-right: 0px;
	text-align: right;
	font-size: 14px;
	color: #F49600;
	z-index: 10;
}
.lang_link {
	display: inline-block;
	cursor: pointer;
	font-weight: bold;
	margin-right: 20px;
}
.lang_select {
	position: absolute;
	top: 30px;
	right: 73px;
	z-index: 10;
	overflow: hidden;
	height: auto;
	border: 1px solid #f49600;
	cursor: pointer;
	padding: 4px;
	font-weight: bold;
}
.lang_select.collapsed {
	top: -200px;
}
.bg_img {
	position: fixed;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	margin: 0px;
	background-color: #000000;
	background-image: url("../img/fi-square_home_bg.png");
	background-repeat: no-repeat;
	background-position: right top;
	background-size: cover;
	z-index: -1;
	filter: brightness(80%);
}
.special {
	position: fixed;
	top: 150px;
	right: 0px;
	width: 140px;
	background-color: #5082BE;
	border: none;
	color: #ffffff;
	text-align: left;
	margin: 0px;
	padding: 10px 15px;
	border-top-left-radius: 7px;
	border-bottom-left-radius: 7px;
	cursor: pointer;
	z-index: 10;
}
.special:hover {
	background-color: #6A95C8;
}
.special2 {
	position: fixed;
	top: 210px;
	right: 0px;
	width: 140px;
	background-color: #F49600;
	border: none;
	color: #ffffff;
	text-align: left;
	margin: 0px;
	padding: 10px 15px;
	border-top-left-radius: 7px;
	border-bottom-left-radius: 7px;
	cursor: pointer;
	z-index: 10;
}
.special2:hover {
background-color: #F6A626;
}
.title {
	position: absolute;
	left: 100px;
	top: 150px;
	text-align: left;
	font-size: 100px;
	font-weight: bold;
	color: #ffffff;
	vertical-align: top;
}
.titlevideo {
	width: 256px;
	height: 144px;
}
.title_bl {
	margin-top:50px;
	text-align: left;
	vertical-align: bottom;
	color: #ffffff;
	font-size: 34px;
	font-weight: bold;
}
.subtitle_bl {	
	line-height: 28px;
	font-weight: normal;
	font-size: 20px;
}
.title_bb {
	position: absolute;
	bottom: 100px;
	left: 100px;
	text-align: left;
	vertical-align: bottom;
	color: #ffffff;
	font-size: 34px;
	font-weight: bold;
}
.title_br1 {
	position: absolute;
	bottom: 100px;
	right: 100px;
	color: #33495f;
	background-color: #f5f5f5;
	text-align: left;
	font-size: 12px;
	padding: 10px;
	width: 180px;
	height: 125px;
	border-radius: 7px;
}
.title_br2 {
	position: absolute;
	bottom: 100px;
	right: 320px;
	color: #33495f;
	background-color: #f5f5f5;
	text-align: left;
	font-size: 12px;
	padding: 10px;
	width: 180px;
	height: 125px;
	border-radius: 7px;
}
.title_br3 {
	position: absolute;
	bottom: 265px;
	right: 320px;
	color: #33495f;
	background-color: #f5f5f5;
	text-align: left;
	font-size: 12px;
	padding: 10px;
	width: 180px;
	height: 125px;
}
.title_br4 {
	position: absolute;
	bottom: 265px;
	right: 100px;
	color: #33495f;
	background-color: #f5f5f5;
	text-align: left;
	font-size: 12px;
	padding: 10px;
	width: 180px;
	height: 125px;
}
.promo {
	position: relative;
	top: 10px;
	width: 440px;
	background-color: #FFFFFF;
	border: none;
	color: #33495f;
	text-align: left;
	font-size: 14px;
	margin: 0px;
	padding: 5px 15px;
	z-index: 0;
}
.promo_img {
	
}
.content_left_s {
	display: inline-block;
	vertical-align: middle;
	margin-right: 50px;
	text-align: center;
	width: 150px;
}
.content_news {
	display: inline-block;
	vertical-align: bottom;
	margin-right: 50px;
	margin-top: 50px;
	text-align: center;
	width: 150px;
}
.content_full {
	display: block;
	margin-bottom: 40px;
}
.content_left {
	display: inline-block;
	vertical-align: middle;
	margin-right: 90px;
	width: 450px;
}
.content_right {
	display: inline-block;
	vertical-align: middle;
	text-align: right;
}
.content_block {
	display: inline-block;
	vertical-align: middle;
	padding: 50px 0;
}
.content_block.border {
	border-top: 1px solid #aaaaaa;
}
.content_half {
	display: inline-block;
	max-width: 420px;
	margin-right: 25px;
	margin-bottom: 60px;
}
.img_xl {
	border: 1px solid #aaaaaa;
	width: 900px;
	margin: 20px 0px;
}
.img_l {
	border: 1px solid #dddddd;
	width: 350px;
}
.img_m {
	border: 1px solid #dddddd;
	width: 300px;
	margin: 20px 0px;
}
.img_s {
	border: none;
	width: 100px;
}
.img_partner {
	border: none;
	width: 350px;
}
.footer_text {
	display: inline-block;
	vertical-align: top;
	text-align: left;
	width: 265px;
	margin: 40px;
}
.logon {
	display: inline-block;
	cursor: pointer;
	background-color: #f49600;
	font-size: 14px;
	padding: 5px 10px;
	color: #ffffff;
	border-radius: 7px;
}
.orangelarge {
	display: inline;
	background-color: #F49600;
	color: #ffffff;
	font-size: 28px;
	font-weight: bold;
	padding: 5px 10px;
	height: 50px;
}
.page_width {
	width: 900px;
}
.config {
	padding: 40px 0;
}
.large {
	font-size: 20px;
}
.extralarge {
	font-size: 32px;
}
.medium {
	font-size: 14px;
}
.small {
	font-size: 12px;
}
.extrasmall {
	font-size: 10px;
}
.phone_number {
	font-weight: bold;
	margin-right: 70px;
}
.made_in_germany {
	height: 70px;
	border-radius: 7px;
}
.input_xs {
	width: 50px;
}
.input_l {
	width: 420px;
}
.input_s {
	width: 90px;
}
.input_m {
	width: 300px;
}
.detail_home {
	margin: auto;
	padding: 40px;
	text-align: left;
	font-size: 16px;
	width: 80vw;
	height: calc(100vh - 110px);
}
.sol_1st_box {
	display: inline-block;
	padding: 0px;
	margin: 2px;
	border: 1px solid #dddddd;
	width: 310px;
	vertical-align: top;
	background-color: #ffffff;
}
.sol_box {
	display: inline-block;
	padding: 0px;
	margin: 2px;
	border: 1px solid #dddddd;
	width: 280px;
	vertical-align: top;
	background-color: #ffffff;
}
.sol_hcell {
	background-color: #e2e2e2;
	padding: 30px;
	border-bottom: 1px solid #dddddd;
	height: 125px;
}
.sol_cell {
	padding: 30px;
	height: 870px;
	line-height: 17px;
}
.sol_bcell {
	padding: 30px;
	border-top: 1px solid #dddddd;
}
.sol_all {
	border: 1px solid #dddddd;
	margin: 6px 2px;
	padding: 30px;
	width: 830px;
	background-color: #ffffff;
}
.sh_cell {
	display:table-cell;
	vertical-align: middle;
	padding: 5px 10px;
}
.sh_right {
	display: inline-block;
	text-align: right;
	width: 295px;
	padding-top: 40px;
	vertical-align: top;
}
.sh_right_promo {
	display: inline-block;
	text-align: right;
	width: 295px;
	vertical-align: top;
}
.sh_left {
	display: inline-block;
	text-align: left;
	width: 600px;
	vertical-align: top;
}
.catalogpage {
	margin: 90px auto 20px auto;
	color: #33495f;
	background-color: #ffffff;
	font-size: 16px;
	text-align:left;
	padding: 40px;
	min-height: calc(100vh - 190px);
}
.orange {
	color: #F49600;
	font-weight: bold;
}
.bg_odd {
	background-color: #f5f5f5;
}
.blue {
	color: #5082BE;	
}
.gray {
	color: #aaaaaa;
}
.message {
	color: #F49600;
	margin: 20px 10px;
}
.e_message {
	color: #F49600;
	font-size: 12px;
	font-weight: bold;
}
.white {
	color: #FFFFFF;
	font-weight: normal;
}
.link {
	cursor: pointer;
}
.opacity {
	opacity: 0.8;
}
select {
	border: 1px solid #cccccc;
	height: 28px;
	margin: 5px 0px;
	font-family: Helvetica;
	font-weight: lighter;
	font-size: 16px;
	vertical-align: middle;
}
input[type="text"] {
	border: 1px solid #cccccc;
	height: 24px;
	margin: 5px 0px;
	font-family: Helvetica;
	font-weight: lighter;
	font-size: 16px;
	vertical-align: middle;
}
input[type="number"] {
	border: 1px solid #cccccc;
	border-radius: 7px;
	height: 24px;
	width: 60px;
	margin: 0px;
	font-family: Helvetica;
	font-weight: lighter;
	font-size: 16px;
	text-align: right;
	vertical-align: middle;
}
input[type="radio"] {
	border: 1px solid #cccccc;
	width: 30px;
	height: 30px;
	margin-left: 10px;
	vertical-align: middle;
}
textarea {
	background-color: #ffffff;
	border: 1px solid #cccccc;
	height: 100px;
	margin: 5px 0px;
	font-family: Helvetica;
	font-size: 16px;
	font-weight: lighter;
	color: #33495f;
	vertical-align: middle;
}
.checkbox_m {
	border: 1px solid #cccccc;
	width: 30px;
	height: 30px;
}
.checkbox_agb {
	border: 1px solid #cccccc;
	width: 20px;
	height: 20px;
}
.impressum {
	background-color: #f5f5f5;
	color: #444444;
}
.agbtext {
	display: inline-block;
	width: 550px;
	font-size: 12px;
	font-weight: bold;
	vertical-align: top;
}
.button {
	display: inline-block;
	background-color: #5082BE;
	border: 1px solid #5082BE;
	border-radius: 7px;
	color: #ffffff;
	font-size: 14px;
	margin: 0px;
	padding: 5px 10px;
	cursor: pointer;
}
.button_gray {
	display: inline-block;
	background-color: #f0f0f0;
	border: 1px solid #f0f0f0;
	border-radius: 7px;
	color: #ffffff;
	font-size: 14px;
	margin: 0px;
	padding: 5px 10px;
	cursor: pointer;
}
.indent {
	margin-left: 10px;
}
.bold {
	font-weight: bold;
}
table {
	text-align: left;
	border: 0px;
}
.table {
	display: inline-table;
	padding: 0px;
	border: none;
	text-align: left;
}
.row {
	display:table-row;
}
.cell {
	display: table-cell;
	vertical-align: middle;
	padding: 0px;
	text-align: left;
}
.validated {
	background-color: #ffffff;
}
.error {
	background-color: #ffeeee;
}
.invisible {
	display: none;
}
.bullet {
	list-style-type: disc;
	list-style-position: outside;
	padding: 0px 0px 0px 14px;
	margin: 5px 0px 15px 0px;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}
.center {
	text-align: center;
}
.textlink {
	cursor: pointer;
}
.conflabel {
	font-size: 16px;
	text-align: left;
	padding: 5px 10px;
}
.confprice {
	font-size: 16px;
	text-align: right;
	width: 100px;
}
.confvalue {
	font-size: 16px;
}
.sh_itemtitle {
	font-size: 14px;
	font-weight: bold;
}
.sh_itemlabel {
	font-size: 12px;
	font-weight: bold;
}
.sh_itemdescr {
	font-size: 12px;
}
.sh_top_package {
	background-color: #ECF2F8;
}
.sh_mod_act {
	color: #000000;
	background-color: #ffdca3;
	box-shadow: 5px 5px 5px #dddddd;
}
.sh_mod_inact {
	color: #aaaaaa;
}
.sh_serv_act {
	color: #000000;
}
.sh_serv_inact {
	color: #aaaaaa;
}
.sh_table {
	display: inline-table;
	padding: 0px;
	border-width: 0px;
	border-collapse: collapse;
	text-align: left;
}
.sh_total {
	background-color: #f0f0f0;
}
.sh_gross {
	background-color: #ffdca3;
}
.sh_cell_head {
	display:table-cell;
	vertical-align: top;
	padding: 5px 10px;
}
.sh_cell_tbl {
	display:table-cell;
	vertical-align: middle;
	padding: 5px 10px;
	border-top: 1px solid #dddddd;
	line-height: 12px;
}
.sh_height1 {
	height: 50px;
}
.arrow_down {
	display: inline-block;
	position: relative;
	background-color: #F49600;
	padding: 8px 0;
	width: 80px;
	text-align: center;
	color: #ffffff;
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 10px;
}
.arrow_down:after {
	content: '';
	display: block;  
	position: absolute;
	left: 0px;
	top: 100%;
	width: 0px;
	height: 0px;
	border-top: 10px solid #F49600;
	border-right: 40px solid transparent;
	border-bottom: 0 solid transparent;
	border-left: 40px solid transparent;
}
.arrow_right {
	display: inline-block;
	position: relative;
	background-color: #F49600;
	padding: 8px 0;
	width: 125px;
	text-align: center;
	color: #ffffff;
	font-size: 14px;
	font-weight: bold;
}
.arrow_right:after {
	content: '';
	display: block;  
	position: absolute;
	left: 100%;
	top: 0px;
	width: 0px;
	height: 0px;
	border-left: 15px solid #F49600;
	border-top: 16px solid transparent;
	border-right: 0px solid transparent;
	border-bottom: 16px solid transparent;
}
.sh_phone {
	width: 260px;
	margin: 0px;
	padding: 15px;
	z-index: 10;
}
.sh_introbox {
	padding: 40px;
}
.sh_intro {
	font-size:20px;
	font-weight: bold;
}
.sh_subheader {
	font-size: 16px;
	font-weight: bold;
}


@media only screen and (max-width: 1200px), (max-height: 700px) {
	/*Tablet*/
	.title {
		left: 50px;
		font-size: 80px;
	}
	.phone_number {
		display: none;
	}
	.title_bb {
		bottom: 50px;
		left: 50px;
	}
	.title_br1 {
		bottom: 50px;
		right: 50px;
	}
	.title_br2 {
		bottom: 50px;
		right: 270px;
	}
	.title_br3 {
		bottom: 215px;
		right: 270px;
	}
	.title_br4 {
		bottom: 215px;
		right: 50px;
	}
}
@media only screen and (max-width: 900px) {
	/*Phone*/
	.header {
		width: 100vw;
	}
	.logo {
		z-index: 3;
	}
	.menu {
		display: initial;
		position: fixed;
		top: 70px;
		right: 0px;
		z-index: 10;
		background-color: #EEEEEE;
		width: 200px;
		overflow: hidden;
		height: auto;
		transition: right 0.1s linear 0s;
		-webkit-transition: right 0.1s linear 0s;
	}
	.menu.collapsed {
		right: -200px;
	}
	.menu_icon {
		display: initial;
		width: 24px;
		vertical-align: top;
		padding-top: 24px;
		padding-right: 10px;
		cursor: pointer;
	}
	.menu_item {
		font-size: 16px;
		background-color: #000000;
		color: #FFFFFF;
		padding: 5px 10px 15px 20px;
		text-align: right;
		cursor: pointer;
	}
	.fisquare {
		height: 25px;
		z-index: 3;
	}
	.detail {
		padding: 20px 20px;
		font-size: 14px;
	}
	.htext {
		display: none;
	}
	.header_link {
		padding: 0px 5px;
	}
	.header_right {
		top: 0px;
		right: 0px;
		height: 50px;
		font-size: 12px;
		width: 100px;
		z-index: 3;
	}
	.lang_link {
		font-size: 18px;
		margin-top: 23px;
	}
	.lang_select {
		top: 53px;
		right: 53px;
		font-size: 18px;
	}
	#s_prospect {
		margin-top: 60px;
	}
	.bg_img {
		position: fixed;
		right: -30px;
	}
	.special {
		display: none;
	}
	.special2 {
		display: none;
	}
	.title {
		top: 130px;
		right: 10px;
		font-size: 40px;
	}
	.titlevideo {
		width: 160px;
		height: 90px;
	}
	.title_bl {
		font-size: 24px;
		font-weight: bold;
		margin-top: 50px;
	}
	.subtitle_bl {	
		line-height: 24px;
		font-size: 16px;
	}
	.title_bb {
		font-size: 24px;
	}
	.title_br1 {
		display: none;
	}
	.title_br2 {
		display: none;
	}
	.title_br3 {
		display: none;
	}
	.title_br4 {
		display: none;
	}
	.promo {
		text-align: center;
		font-size: 14px;
		width: 73vw;
	}
	.promo_img {
		display: none;
	}
	.content_full {
		margin: 30px 0px;
	}
	.content_left_s {
		width: 100%;
	}
	.content_news {
		width: 100%;
	}
	.content_left {
		width: 100%;
		margin: 30px 0px;
	}
	.content_right {
		text-align: center;
		margin: 20px 0px;
		width: 100%;
	}
	.content_block {
		width: 100%;
	}
	.content_half {
		width: 100%;
		margin-bottom: 60px;
		margin-right: 0px;
	}
	.img_xl {
		width: 99%;
	}
	.img_l {
		width: 99%;
	}
	.img_m {
		width: 50%;
	}
	.img_s {
		width: 90px;
	}
	.img_partner {
		width: 99%;
	}
	.footer_text {
		width: 80vw;
		margin: 20px 10px 10px 10px;
	}
	.logon {
		display: none;
	}
	.page_width {
		width: initial;
		margin: 15px;
		overflow-x: hidden;
	}
	.config {
		display: none;
	}
	.large {
		font-size: 16px;
	}
	.extralarge {
		font-size: 22px;
	}
	.medium {
		font-size: 12px;
	}
	.small {
		font-size: 12px;
	}
	.extrasmall {
		font-size: 10px;
	}
	.input_xs {
		width: 30px;
	}
	.input_s {
		width: 50px;
	}
	.input_l {
		width: 65vw;
	}
	.input_m {
		width: 46vw;
	}
	.detail_home {
		padding: 25px 15px 15px 15px;
	}
	.sol_1st_box {
		width: initial;
	}
	.sol_box {
		margin: 30px 2px 0px 2px;
		width: initial; 
	}
	.sol_hcell {
		padding: 5px;
		border-bottom: 1px solid #dddddd;
	}
	.sol_cell {
		padding: 5px;
		height: initial;
		margin: 20px 0px;
	}
	.sol_bcell {
		padding: 5px;
	}
	.sol_all {
		border: none;
		margin: 25px 2px;
		padding: 5px;
		width: initial;
	}
	.sh_cell {
		padding: 5px 1px;
	}
	.sh_right {
		width: initial;
		padding-top: 40px;
		vertical-align: top;
	}
	.sh_right_promo {
		padding-top: 40px;
	}
	.sh_left {
		width: initial;
	}
	.catalogpage {
		margin: 20px auto;
		color: #33495f;
		background-color: #ffffff;
		font-size: 16px;
		text-align:left;
		padding: 20px;
		min-height: calc(100vh - 190px);
	}
}
@media only screen and (max-height: 520px) {
	.title {
		top: 95px;
	}
	.title_bb {
		bottom: 40px;
	}
	.title_bl {
		margin-top: 20px;
	}
}
