

/* general backgrounds -- */

	html, 
	body {
		background-color:#fff;
	}
	footer {
		background-color:#f7f7f7;
	}
	select, 
	div.text div.wrap, 
	div.timeline,
	.flabel.active {
		background-color:#fff;
	}
	input:focus,
	textarea:focus{
		outline: none;
	}
/* -- general -- */

	*{
		box-sizing:border-box;
		font-family:roboto, sans-serif;
	}
	
	html, 
	body {
		min-height:100vh;
	}
	html {
		text-align:center;
		position:relative;
	}
	body{
		margin:0 auto;
		font-size:1.2em;
		text-align:left;
		overflow-y:scroll;
		background-image: url(/template/img/background-default.png);
		background-attachment:fixed;
	}
	div.wrap{
		margin:0 auto;
		max-width:1100px;
	}
	section.front div.wrap {
		margin:0 auto;
		max-width:80%;
		height:250px;
		overflow-y:hidden;
		margin-bottom:30px;
	}
	section.front div.wrap div.i {
		background-position:center center;
		background-size:cover;
	}
	a {
		text-decoration:none;
	}
	img{
		vertical-align:middle;
	}
	textarea{
		resize:vertical;
	}
	form{
		display:inline;
	}
	.clear{
		clear:both;
	}
	.text_3_columns{
		-webkit-column-count:3;
		-moz-column-count:3;
		column-count:3;
		-webkit-column-gap:40px;
		-moz-column-gap:40px;
		column-gap:40px;
	}
	.text_2_columns{
		text-align:justify;
		-webkit-column-count:2;
		-moz-column-count:2;
		column-count:2;
		-webkit-column-gap:40px;
		-moz-column-gap:40px;
		column-gap:40px;
	}
	.al{
		text-align:left;
	}
	.ar{
		text-align:right;
	}
	.ac{
		text-align:center;
	}
	.vt{
		vertical-align:top;
	}
	.np{
		padding:0;
	}
	.red{
		color:red;
	}
	.green{
		color:green;
	}
	.grey{
		color:grey;
	}
	.orange {
		color:#E77817;
	}
	.b{
		font-weight:700;
	}
	.small_list{
		padding-left:10px;
		margin:0 0 0 10px;
		font-size:0.9em;
	}
	.nw {
		white-space:nowrap;
	}
	
	
/* -- text links -- */
	a.link,
	a.link:active, 
	a.link:visited {
		white-space:nowrap;
		color:black;
		text-decoration:underline;
		transition:all .15s ease-in-out;
	}
	a.link:hover {
		color:#E77817;
	}
	a.link.www::before,
	a.link.location::before,
	a.link.facebook::before,
	a.link.instagram::before,
	a.link.phone::before ,
	a.link.email::before {
		background-size: 25px 25px;
		background-repeat:no-repeat;
		display: inline-block;
		width: 30px; 
		height: 25px;
		content:"";
		vertical-align:middle;
	}
	a.link.www::before {
		background-image: url(/images/common/icon-www.svg);
	}
	a.link.location::before {
		background-image: url(/images/common/icon-pin-c.svg);
	}
	a.link.facebook::before {
		background-image: url(/images/common/icon-facebook.svg);
	}
	a.link.instagram::before {
		background-image: url(/images/common/icon-instagram.svg);
	}
	a.link.email::before {
		background-image: url(/images/common/icon-email.svg);
	}
	a.link.phone::before {
		background-image: url(/images/common/icon-phone.svg);
	}
	

/* -- header -- */

	html{
		padding:0;
		margin:0;
		font-size:0;
	}
	body {
		padding:0;
		margin:0;
		font-size:14px;
	}
	body.noscroll{
		overflow:hidden;
	}
	header {
		z-index:999;
		width:100%;
		top:0;
		padding:30px 0;
		background-color:white;
		box-shadow: 0 0 11px rgba(0, 0, 0, 0.2);
	}
	header.il {
		position:fixed;
	}
	header.tl {
		position:fixed;
		height: 100vh;
		overflow-y:auto;
	}
	header div.logo {
		display:inline-block;
		width:30%;
		vertical-align:top;
		padding: 12px 0;
		font-size: 0px;
	}
	header div.logo a {
		display:inline-block;
		font-size:0px;
		margin-left:30px;
	}
	header div.logo a img {
		width: auto;
		height: 20px;
	}
	header nav {
		display:inline-block;
		width:70%;
		vertical-align:top;
	}
	header nav ul:first-child {
		margin-right:30px;
		white-space:nowrap;
	}
	header nav a {
		color:#333;
	}
	a:focus{
		background-color:rgba(255,255,255,.3);
	}
	header nav i {
		display:none;
		text-align:right;
		position:absolute;
		right:30px;
		top:40px;
		cursor:pointer;
	}
	header nav li a i {
		display:inline-block;
		position:initial;
		right:initial;
		top:initial;
		cursor:initial;
		margin-left:10px;
		color:#ddd;
	}
	header nav li:hover a i {
		color:white;
	}
	header nav ul {
		margin:0;
		padding:0;
		text-align:right;
	}
	header nav ul li {
		margin:0;
		padding:0;
	}
	header nav > ul li  {
		display:inline-block;
		position:relative;
		margin:0;
		
	}
	header nav > ul li:last-child  {
		margin:0;
	}
	header nav ul > li ul li:first-child {
		border-radius:0 5px 0 0;
	}
	header nav ul > li ul {
		display:none;
		position:absolute;
		text-align:left;
		background-color:white;
		box-shadow: rgba(0, 0, 0, 0.08) 0px 0px 2px 1px, rgba(0, 0, 0, 0.16) 0px 4px 8px 0px;
		border-radius: 0 5px 5px 5px;
		overflow: hidden;
	}
	header nav.tl ul > li ul {
		box-shadow:none;
	}
	header nav ul > li ul li{
		margin:0;
		padding:0;
		white-space:nowrap;
		display:block;
	}
	header nav.tl ul > li ul li{
		border-bottom:1px solid #efefef;
	}
	header nav.il ul > li ul li{
		border-top:1px solid #fff;
	}
	header nav.il ul li a {
		margin:0;
		padding:12px 20px;
		display:block;
		font-size:16px;
	}
	header nav.il ul li:hover a.m {
		border-radius:5px 5px 0 0;
		box-shadow: rgba(0, 0, 0, 0.08) 0px 0px 2px 1px, rgba(0, 0, 0, 0.16) 0px 4px 8px 0px;
	}
	header nav.il ul li:hover a.m,
	header nav.il ul li:hover ul li {
		background-color:#fff;
	}
	header nav.il ul li:hover a.m:before {
		content: '';
		border-bottom: 5px solid #fff;
		position: absolute;
		width: 100%;
		left: 0;
		bottom: -1px;
		z-index: 3;
	}
	header nav.il ul > li:hover ul {
		display:block;
		position:absolute;
		overflow:hidden;
	}
	header nav.il ul li ul li a  {
		display:block;
		padding:10px 20px;
		transition:all .15s ease-in-out;
	}
	header nav.il ul li ul li a:hover{
		background-color:#f7f7f7;
		color:black;
	}
	header nav.tl {
		padding-top:20px;
	}
	header nav.tl a.m {
		display:none;
	}
	header nav.tl a  {
		display:block;
		padding:5px 0;
	}
	header nav.tl a  {
		display:block;
		padding:15px 30px;
		font-size:16px;
	}
	header nav.tl a:hover{
		background-color:#efefef;
		color:black;
		transition:all .15s ease-in-out;
	}
	header div nav i span{
		display:block;
		width:20px;
		height:20px;
	}
	header div nav i span{
		display:inline-block;
		width:20px;
		height:20px;
		background-size:cover;
	}
	header div nav i span:nth-child(odd){
		background-image:url(/template/img/tl-open.svg);
		
	}
	header div nav i span:nth-child(even){
		background-image:url(/template/img/tl-close.svg);
	}
	
	
	
/* -- footer -- */

	footer {
		padding:0 0 30px 0;
	}
	footer div.wrap {
		width:100%;
		padding:25px;
		display:table;
		
	}
	footer div.menu {
		width:70%;
		display:table-cell;
	}
	footer div.menu ul {
		vertical-align: top;
		display: table-cell;
		margin:0;
		padding:0;
	}
	footer div.menu ul li {
		display:inline-block;
		vertical-align: top;
	}
	footer div.menu ul li a.m{
		display:none;
	}
	footer div.menu ul li ul li{
		display:block;
	}
	
	footer div.menu a{
		color:#666;
		display:inline-block;
		padding:5px 15px;
		text-decoration:none;
		transition:all .20s ease-in-out;
	}
	footer div.menu a:hover {
		color:#E77817;
		text-decoration:underline;
	}
	
	footer div.owner {
		width:30%;
		display:table-cell;
		vertical-align:top;
	}
	
	
	
/* -- sections main page -- */

	section.slide {
		display:block;
		padding-top:130px;
	}
	section.slide div{
		display:block;
		text-align:center;
	}
	section div{
		display:flex;
	}
	section:nth-child(even) {
		background-color:#fff;
	}
	section:nth-child(odd) {
		background-color:#f7f7f7;
	}
	section:nth-child(even) div.wrap {
		flex-direction: row;
	}
	section:nth-child(odd) div.wrap {
		flex-direction: row-reverse;
	}
	section div.i,
	section div.t {
		display:block;
		width:50%;
		padding:30px;
	}
	section:nth-child(odd):hover div.t {
		background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(0,0,0,0) 0%, rgba(0,0,0,0.1) 100%);
	}
	section:nth-child(even):hover div.t {
		background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 100%);
	}
	section:nth-child(odd) div.i, 
	section:nth-child(odd) div.t {
		text-align: right;
	}
	section:nth-child(even) div.i, 
	section:nth-child(even) div.t {
		text-align: left;
	}
	section div.i img {
		width:100%;
		height:auto;
	}
	section div.t h3 {
		font-size: 32px;
		padding: 0px;
		margin: 16px 0 16px 0;
	}
	a.button, 
	button.mailman, 
	section div.t a {
		transition:all .10s ease-in-out;
		display: inline-block;
		padding: 8px 12px;
		border-radius: 5px;
		box-shadow: 0 2px 3px rgba(0,0,0,.1);
		border: 1px solid #333;
		color:#f7f7f7;
		background-color:#333;
	}
	a.button:hover, 
	button.mailman:hover, 
	section div.t a:hover{
		color:#000;
		background-color:#fff;
		border: 1px solid #efefef;
		box-shadow: 0;
	}
	div.legal {
		border-top:1px solid #efefef;
		padding-top:10px;
		color:#6a6a6a;
		font-size:10px;
		text-align:center;
	}
	div.text {
		display:block;
		position:relative;
		z-index:99;
		width:100%;
		padding-top:80px;
		text-align:center;
		line-height:150%;
	}
	div.text .wrap h1{
		color:#333;
		font-size: 42px;
	}
	div.text.has_images {
		padding-top:400px;
		background-color:transparent;
	}
	div.text.has_images .wrap h1 {
		margin:0 0 5px 0;
	}		
	div.text div.wrap {
		text-align:left;
		padding:30px;
		margin:0 auto;
	}
	div.text.has_images div.wrap {
		background-color:white;
		min-height:400px;
	}
	div.text .wrap h3.strike {
		position:relative;
		color:#333;
		padding-left:50px;
		overflow: hidden;
	}
	div.text .wrap h3.strike::before, 
	div.text .wrap h3.strike::after {
		content: '';
		position: absolute;
		top: 50%;
		border-bottom: 1px solid #E77817;
		width: 1000px;
		margin: 0 20px;
	}
	div.text .wrap h3.strike::before {
		left: -990px;
	}
	div.slides {
		position:absolute;
		height:80vh;
	}
	div.more_toggle{
		padding:40px 0;
	}
	div.more_content {
		transition:all 2s ease-in-out;
	}
	div.more_content.hidden {
		display:none;
	}
	div.more_content.visible {
		display:block;
	}
	div.timeline {
		border-left: 2px solid #E77817;
		padding-left: 20px;
		position: relative;
		margin-left: 30px;
	}
	div.timeline h3 {
		position: relative;
		left: -54px;
		width: calc(100% + 54px);
		padding: 5px;
		background-color: inherit;
		color:#4D4948;
	}
	div.timeline h3 b {
		color:#E77817;
	}
	div.companies {
		width:100%;
		display:table;
	}
	div.companies:nth-child(even){
		background-color:#f7f7f7;
	}
	div.companies div {
		display:table-cell;
		height:130px;
		vertical-align: middle;
		padding:10px;
	}
	div.companies div img {
		width:100px;
		height:50px;
	}
	div.companies div:nth-child(odd){
		text-align:center;
		width:20%;
	}
	div.companies div:nth-child(even){
		width:59%;
	}
	div.companies div:nth-child(3){
		width:20%;
		text-align:center;
	}
	div.intext-offer-header {
		padding:25px;
		background-color:#efefef;
	}
	div.intext-offer-header h2 {
		margin:10px 0;
		font-size:36px;
	}
	div.intext-offer-prices {
		padding:25px;
		background-color:#f7f7f7;
	}
	div.row{
		display:block;
	}
	div.row div.col-left,
	div.row div.col-right {
		display:inline-block;
		width:50%;
		vertical-align:top;
	}
	div.row div.col-left {
		padding-right:10px;
	}
	div.row div.col-right {
		padding-left:10px;
	}
	
	
/* -- forms -- */

	button.mailman {
		line-height:25px;
		padding:10px 30px;
	}
	.form-field-wrap {
		position: relative;
		padding: 7px 0;
	}
	.flabel {
		display: block;
		text-align: left;
		top: 14px;
		position: absolute;
		left: 5px;
		padding: 0 9px;
		transition: all 0.2s;
		-webkit-transition: all 0.2s;
		-moz-transition: all 0.2s;
		-ms-transition: all 0.2s;
	}
	.flabel.active{
		color:#666;
		font-size:13px;
		top:-1px;
	}
	input[type="text"],
	select, 
	option, 
	textarea {
		width: 100%;
		margin: 3px 0;
		padding: 6px 10px;
		border:1px solid #333;
	}
	.cform-conds{
		font-size:80%;
	}
	.cstatus {
		display:none;
		margin-bottom:20px;
	}
	.cstatus.error,
	.cstatus.success {
		background-color:white;
		padding:10px;
	}
	.cstatus.error {
		border:2px dashed red;
	}
	.cstatus.success {
		border:2px dashed green;
	}

	
/* -- slides -- */	
	
	.slides {
		position: absolute;
		width: 100%;
		height: 80vh;
		overflow: hidden;
	}
	.slides_caption {
		position: absolute;
		width: 100%;
		height: 100%;
		text-align: center;
		z-index: 98;
	}
	.slides_caption div.wrap {
		margin:0 auto;
		max-width:1100px;
	}
	.slides_caption div.wrap h1 {
		margin-top: 320px;
		color: white;
		text-align: left;
		padding-left: 30px;
		text-shadow: 0 2px 2px rgba(0,0,0,.5);
		font-size: 42px;
	}
	.slides-image {
		position: absolute;
		width: 100%;
		height: 100%;
		background: no-repeat 50% 50%;
		background-size: cover;
	}
	.slides-images {
		position: absolute;
		width: 100%;
		height: 100%;
		background: no-repeat 50% 50%;
		background-size: cover;
		-webkit-animation-name: kenburns;
		animation-name: kenburns;
		-webkit-animation-timing-function: linear;
		animation-timing-function: linear;
		-webkit-animation-iteration-count: infinite;
		animation-iteration-count: infinite;
		-webkit-animation-duration: 20s;
		animation-duration: 20s;
		opacity: 1;
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}


/* owl slides */

	.owl-carousel {
		margin-top: 20px;
	}
	.carousel-p a {
		display:inline-block;
		height:100%;
	}
	.carousel-p a img {
		width:100%;
		height:auto;
		padding:0 5px;
	}

	.hasnav .owl-stage-outer {
		margin:0 42px;
	}
	.owl-nav {
		position:absolute;
		width:100%;
		top:40%;
	}
	.owl-nav button.owl-prev, .owl-nav button.owl-next{
		position:absolute;
		width:42px;
		height:42px;
		border-radius:0;
		border:0;
		background-position:center;
		background-size:cover;
		background-color:transparent;
	}
	.owl-nav button.owl-prev {
		left:0;
		background-image: url(../img/nav-l.svg);
	}
	.owl-nav button.owl-next {
		right:0;
		background-image: url(../img/nav-r.svg);
	}
	.owl-item {
		text-align:center;
		padding:0 5px;
		overflow:hidden;
		max-height:180px;
	}

	
/* -- pfr -- */
	img.pfr {
		margin-top:20px;
		width:50%;
		max-width:500px;
		height:auto;
	}


	
/* -- mobile menu -- */
	header.tl,
	header.tl nav, 
	header.tl nav ul, 
	header.tl nav ul li {
		text-align:left;
		display:block;
		width:100%;
	}
	header.tl nav ul {
		position:relative;
	}
	div.tl-overlay {
		position:absolute;
		top:0; left:0; right:0; bottom:0;
		background-color:rgba(0,0,0,.2);
		display:none;
		z-index: 889;
	}

	
/* -- checkbox -- */

	.checkbox {
		position: relative;
		padding-left: 24px;
		cursor: pointer;
		font-size: 15px;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
	}
	.checkbox input {
		position: absolute;
		opacity: 0;
		cursor: pointer;
		top: 1px;
		left: 1px;
	}
	.checkboxcheckmark {
		position: absolute;
		top: -2px;
		left: 0;
		height: 20px;
		width: 20px;
		border: 1px solid #666;
		background-color: #fff;
		transition: all 0.2s;
		-webkit-transition: all 0.2s;
		-moz-transition: all 0.2s;
		-ms-transition: all 0.2s;
	}
	.checkbox:hover input ~ .checkboxcheckmark {
		background-color: #efefef;
	}
	.checkbox input:checked ~ .checkboxcheckmark {
		background-color: #333;
	}
	.checkboxcheckmark:after {
		content: "";
		position: absolute;
		display: none;
	}
	.checkbox input:checked ~ .checkboxcheckmark:after {
		display: block;
	}
	.checkbox .checkboxcheckmark:after {
		left: 5px;
		top: 1px;
		width: 5px;
		height: 10px;
		border: solid white;
		border-width: 0 3px 3px 0;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	
/* -- radio -- */

	.radio input {
		position: absolute;
		opacity: 0;
		cursor: pointer;
	}
	.radiocheckmark {
		position: absolute;
		top: 0;
		left: 0;
		height: 20px;
		width: 20px;
		background-color: #fff;
		border-radius: 50%;
	}
	.radio:hover input ~ .radiocheckmark {
		background-color: #ccc;
	}
	.radio input:checked ~ .radiocheckmark {
		background-color: #666;
	}
	.radiocheckmark:after {
		content: "";
		position: absolute;
		display: none;
	}
	.radio input:checked ~ .radiocheckmark:after {
		display: block;
	}
	.radio .radiocheckmark:after {
		top: 6px;
		left: 6px;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: white;
	}
	
	
/* -- -- */

	.mkvisible{
		-webkit-box-shadow:inset 0px 0px 1px 1px rgba(255,0,0,1);
		-moz-box-shadow:inset 0px 0px 1px 1px rgba(255,0,0,1);
		box-shadow:inset 0px 0px 1px 1px rgba(255,0,0,1);	
	}



/* -- responsive -- */

	@media (max-width: 1800px) {
		section.front div.wrap {
			max-width: 80%;
		}
	}
	@media (max-width: 1600px) {
		section.front div.wrap {
			max-width: 85%;
		}
	}
	@media (max-width: 1400px) {
		section.front div.wrap {
			max-width: 90%;
			height:200px;
		}
	}
	@media (max-width: 1100px) {
		footer div.wrap {
			width:100%;
		}
		img.pfr {
			width:70%;
		}
	}
	@media (max-width: 800px) {
		section.front div.wrap {
			max-width: 95%;
		}
		section div.t h3 {
			font-size: 24px;
		}
	}
	@media (max-width: 600px) {
		body,
		header {
			width:100%;
		}
		header {
			padding:15px 0px;
		}
		header nav > ul {
			display:none;
		}
		header nav i{
			display:block;
			top:27px;
		}
		header nav i span:nth-child(even) {
			display:none;
		}
		header nav i span:nth-child(odd) {
			display:block;
		}
		footer div.wrap {
			display:none;
		}
		section div{
			display:block;
		}
		div.text {
			padding-top: 30px;
		}
		section.slide {
			padding-top:75px;
		}
		div.slides div.slides_caption div.wrap h1 {
			padding-top:1vw;
			font-size:7vw;
		}
		section div.wrap {
			position:relative;
			max-height:230px;
			margin-bottom: 30px;
		}
		div.text .wrap h1 {
			color: #333;
			margin-top:40px;
			font-size: 32px;
		}
		section div.wrap div.i,
		section div.wrap div.t{
			display:block;
			width:100%;
			padding:30px;
		}
		section div.wrap div.t {
			position:absolute;
			top:0;
			color:white;
			text-shadow:0 0 5px rgba(0,0,0,.8);
		}
		section div.wrap div.t a {
			background:white;
			color:#333;
			border-color:#ccc;
			text-shadow:none;
		}
		section div.wrap div.i{
			min-height:230px;
		}
		section:nth-child(odd) div.i, 
		section:nth-child(even) div.i, 
		section:nth-child(even) div.t, 
		section:nth-child(odd) div.t {
			text-align: center;
		}
		section:nth-child(even) div.t h3, 
		section:nth-child(odd) div.t h3 {
			margin-top:0;
		}
		.text_2_columns {
			text-align:left;
			-webkit-column-count:1;
			-moz-column-count:1;
			column-count:1;
			-webkit-column-gap:0;
			-moz-column-gap:0;
			column-gap:0;
		}
		div.companies, 
		div.companies div:nth-child(odd),
		div.companies div:nth-child(even),
		div.companies div:nth-child(3){
			display:block;
			width:100%;
			height:auto;
			text-align:center;
		}
		div.companies div:nth-child(odd) {
			padding-top:30px;
		}
		div.companies {
			padding-bottom:30px;
		}
		div.companies strong{
			display:none;
		}
		div.row div.col-left,
		div.row div.col-right {
			display:block;
			width:100%;
		}
		div.row div.col-right {
			margin-top:30px;
		}
		img.pfr {
			width:90%;
		}
	}
	
	@media (max-height: 600px) {
		header {
			padding:15px 0px;
		}
		section.slide {
			padding-top: 80px;
		}
		div.slides {
			min-height:400px;
		}
		.slides_caption div.wrap h1 {
			margin-top: 330px;
		}
		div.text {
			padding-top: 30px;
		}
	}
	@media (max-height: 400px) {
		div.text.has_images {
			padding-top: 280px;
		}
		.slides_caption div.wrap h1 {
			margin-top: 215px;
		}
		div.text {
			padding-top: 30px;
		}
	}


	@media (hover: none) {}

