@charset "utf-8";

/*
	orange: #f28e04
	blue: #208bcb
*/

#mobile-top-line {
	display: none;
	font: 600 26px "Source Sans Pro", sans-serif;
	text-align: center;
	min-height: 60px;
	padding: 14px 0;
	color: #fff;
	background-color: #208bcb;
}

	#mobile-top-line>i {
		display: inline-block;
		vertical-align: text-bottom;
		font-size: 30px;
	}
	
@media screen and (max-width: 1024px) {
	#mobile-top-line {
		display: block;
	}
}

#mobile-nav {
	display: none;
	height: auto;
	padding: 0px 20px;
}
	#mobile-nav a {
		display: block;
	}

	.mobile-nav__button {
		width: 100%;
		color: #222222;
		text-align: left;
		padding: 16px 0px;
		font: 600 14px "Source Sans Pro", sans-serif;
		border-bottom: 1px solid #222222;
	}

	.mobile-nav__button:last-child {
		border-bottom: none;
	}
	
	.mobile-nav__button .mobile-sub-right {
		float: right;
	}
	
	.mobile-sub-hidden {
		color: #515151;
		text-align: left;
		font: 800 14px "Source Sans Pro", sans-serif;
		overflow: hidden;
		height: 0px;
	}
	
	.mobile-sub-hidden .mobile-sub-button {
		padding: 10px 40px;
		color: #515151;
		display: block;
	}

.header-orange {
	position: relative;
	padding: 10px;
	text-align: center;
	font: 300 16px 'Titillium Web', sans-serif;
	background-color: #f28e04;
	color: #fff;
}

.header-infos {
	position: relative;
	padding: 15px 0;
	text-align: center;
	overflow: hidden;
	z-index: 1;
}

	.header-infos > .content-wrap {
		display: flex;
		max-width: 1200px;
		align-items: center;
		gap: 50px;
	}
	
	.header-logo {
		flex: 0 0 180px;
	}
	
	.header-contacts {
		flex-grow: 1;
		text-align: right;
	}
	
		.header-contact {
			display: inline-flex;
			align-items: center;
			vertical-align: middle;
			gap: 20px;
		}
		
		.header-contact.phone {width: 250px}
		.header-contact.map-marker {width: 320px}
		.header-contact.envelope {width: 250px}
		
		.header-contact>.icon {
			flex: 0 0 50px;
			color: #208bcb;
		}
		
			.header-contact>.icon>img {
				max-width: 30px;
				margin-top: 5px;
			}
		
		.header-contact>.text {
			flex-grow: 1;
			font: 300 18px 'Titillium Web', sans-serif;
			color: #9a9a9a;
			text-align: left;
		}
		
		.header-contact>.text>p {
			display: inline-block;
			font: 600 14px 'Titillium Web', sans-serif;
			color: #208bcb;
			margin: 0;
		}
	
.menu-buttons {
	position: sticky;
	display: block;
	top: 0px;
	background-color: #208bcb;
	height: 75px;
	text-align: center;
	z-index: 10;
}

	.menu-button {
		position: relative;
		cursor: pointer;
		display: inline-block;
		font: 300 16px 'Titillium Web', sans-serif;
		padding: 25px 30px;
		color: #fff;
		text-transform: uppercase;
	}
	
	.menu-button:hover:after {
		content: "";
		display: block;
		border: 8px solid #208bcb;
		border-bottom-color: #fff;
		position: absolute;
		bottom: -1px;
		left: 50%;
		margin-left: -8px;
	}

.banner-section {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 750px;
	max-height: 750px;
	background-color: #fff;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url('../images/banner.jpg');
	text-align: center;
	z-index: 1;
}

	.banner-border {
		position: absolute;
		width: 100%;
		height: 8px;
		left: 0px;
		background-color: rgba(255,255,255,0.6);
	}
	
	.banner-border.top {
		top: 0px;
	}
	
	.banner-border.bottom {
		bottom: 0px;
	}
	
	.banner-logo {
		display: none;
	}
	
	.banner-content {
		position: absolute;
		font: 400 20px 'Source Sans Pro', sans-serif;
		letter-spacing: -1px;
		color: #444;
		top: 50%;
		left: 50%;
		width: 500px;
		transform: translate(-100%, -50%);
		text-align: left;
	}
	
		.banner-content h1 {
			font: 600 40px 'Titillium Web', sans-serif;
			line-height: 90%;
		}
		
		.banner-content>.bottom {
			margin-top: 15px;
		}
		
@media screen and (max-width: 1024px) {
	.banner-section {
		min-height: 300px;
		max-height: 300px;
	}
	
	.banner-logo {
		position: absolute;
		display: block;
		top: 10px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 11;
	}
	
	.banner-content {
		font: 600 18px 'Source Sans Pro', sans-serif;
		letter-spacing: -1px;
		background-color: rgba(255,255,255,0.6);
		transform: translate(-50%, -50%);
		top: 70%;
		width: 95%;
		padding: 15px 0;
		text-align: center;
	}
	
	.banner-content h1 {
		font: 600 22px 'Titillium Web', sans-serif;
	}
}

.about-section {
	position: relative;
	padding: 50px 0 50px 0;
	text-align: center;
	overflow: hidden;
	z-index: 1;
}

	.about-section > .content-wrap {
		display: flex;
		align-items: center;
		gap: 50px;
	}
	
	.about-image {
		flex: 2;
		padding: 10px;
		background-color: #eee;
	}
		
		.about-image>img {
			display: block;
			width: 100%;
		}
	
	.about-content {
		flex: 7;
		text-align: left;
	}
	
		.about-content>h1{
			margin-top: 0;
		}
	
@media screen and (max-width: 1024px) {
	.about-image {
		flex: initial;
	}
	
		.about-image>img {
			max-width: 220px;
		}
	
	.about-section > .content-wrap {
		flex-direction: column;
		gap: 20px;
	}
	
	.about-content {
		text-align: center;
	}
}

.gallery-section {
	position: relative;
	width: 100%;
	font-size: 0px;
	text-align: center;
	padding: 6px 0px;
	overflow: hidden;
	max-height: 300px;
	background-color: #fff;
	z-index: 1;
}
	.gallery-section:hover .gallery-pager{opacity:1}
	.gallery-section:hover .prev-button{left:0px}
	.gallery-section:hover .next-button{right:0px}

	.gallery-pager{position:absolute;opacity:0;cursor:pointer;top:50%;margin-top:-50px;width:105px;height:105px;font-size:16px;text-align:left;color:#fff;border-style:solid;z-index:10;-webkit-transition:all .3s;transition:all .3s;}

	.prev-button{border-width:52.5px 0 52.5px 54px;border-color:transparent transparent transparent rgba(0,0,0,0.8);left:-20px}
		.prev-button>i{margin-left:-52px;margin-top:-15px;display:inline-block;vertical-align:middle;font-size:30px;}
	.next-button{border-width:52.5px 54px 52.5px 0;border-color:transparent rgba(0,0,0,0.8) transparent transparent;right:-20px}
		.next-button>i{margin-left:68px;margin-top:-15px;display:inline-block;vertical-align:middle;font-size:30px;}
		
	.prev-button:hover{color:#fff;border-color:transparent transparent transparent rgb(32 139 203);}
	.next-button:hover{color:#fff;border-color:transparent rgb(32 139 203) transparent transparent;}
	
	#gallery-wrapper{display:flex;justify-content:center;}
		.gallery-box{display:block;cursor:pointer}
			.gallery-box-img{width:100%;background-repeat:no-repeat;border:1px solid rgba(255,255,255,0.3);background-size:cover}
			
	.gallery-mobile-text {
		position: absolute;
		bottom: 0px;
		padding: 10px 0px;
		width: 100%;
		font-size: 16px;
		background-color: rgb(32 139 203);
		color: #fff;
		text-align: center;
		z-index: 10;
		opacity: 1;
	}
			
	@media screen and (max-width: 1024px) {
		.gallery-box{width:100%}
		.gallery-slide{display:none}
		.gallery-slide:first-of-type{display:block !important}
		.prev-button{display:none}
		.next-button{display:none}
	}

.services-section {
	position: relative;
	padding: 50px 0;
	text-align: left;
	overflow: hidden;
	z-index: 1;
}

	.services-content {
		margin-top: 60px;
	}
	
	.service-line {
		display: flex;
		align-items: center;
	}
	
	.service-line:not(:first-child) {
		margin-top: 40px;
	}
	
	.service-line>.description {
		flex: 4;
	}
	
		.service-line>.description h2 {
			font: 600 26px 'Titillium Web', sans-serif;
			text-transform: uppercase;
			margin-top: 0;
		}
		
		.service-line>.description h2>i {
			color: #f28e04;
			font-size: 30px;
		}
	
	.service-line>.boxes {
		flex: 6;
		padding: 0 40px;
		font-size: 0px;
	}
	
		.service-box {
			display: inline-flex;
			width: calc(50% - 10px);
			padding: 5px;
			margin: 5px;
			flex-direction: column;
			border: 2px dashed #ddd;
			transition: all 0.5s;
			cursor: pointer;
		}
		
		.service-box:hover {
			background-color: #eee;
		}
		
		.service-box>.image {
			width: 100%;
			background-color: #fff;
			background-position: 50% 50%;
			background-repeat: no-repeat;
			background-size: cover;
			flex: 0 0 200px;
		}
		
		.service-box>.subtitle {
			    display: flex;
				flex: 0 0 80px;
				padding: 20px 20px;
				font-size: 16px;
				text-align: center;
				align-items: center;
				justify-content: center;
		}
		
		.service-box>.buttons {
			display: flex;
			font: 400 16px 'Titillium Web', sans-serif;
			flex: 0 0 45px;
		}
		
			.service-box>.buttons>.details {
				flex: 1;
				background-color: #dbdbdb;
				padding: 15px 0;
				text-align: center;
			}
			
			.service-box>.buttons>.price {
				flex: 1;
				padding: 13px 0;
				text-align: center;
				background-color: #f28e04;
				color: #fff;
			}
			
			.service-box>.buttons>.price>span {
				font: 600 18px 'Titillium Web', sans-serif;
			}
	
	.simple, .polluted {
		display: none;
	}		

@media screen and (max-width: 1024px) {
	.services-section {
		text-align: center;
		padding: 10px 0;
	}
	
	.service-line>.description h2 {
		font-size: 22px;
	}
	
	.service-line {
		flex-direction: column;
	}
	
	.service-line>.boxes {
		flex: initial;
		padding: 0;
	}
	
		.service-box {
			width: 100%;
			margin: 10px 0;
		}
		
		.service-box>.buttons>.price {
			font-size: 13px;
		}
}

.references-section {
	position: relative;
	padding: 50px 0;
	text-align: left;
	overflow: hidden;
	z-index: 1;
}

	.references-content {
		margin-top: 60px;
	}
	
	.reference-box {
		display: inline-flex;
		width: 200px;
		padding: 5px;
		margin: 5px;
		flex-direction: column;
		border: 2px dashed #ddd;
		transition: all 0.5s;
		cursor: pointer;
	}
	
	.reference-box:hover {
		background-color: #eee;
	}
	
	.reference-box>.image {
		width: 100%;
		background-color: #fff;
		background-position: 50% 50%;
		background-repeat: no-repeat;
		background-size: cover;
		flex: 0 0 200px;
	}
	
	.references-mobile-preview {
		width: 100%;
	}
	
		.references-mobile-preview>.image {
			display: block;
			width: 100%;
		}
	
	.references-mobile-text {
		padding: 10px 0px;
		width: 100%;
		font-size: 16px;
		background-color: rgb(32 139 203);
		color: #fff;
		text-align: center;
	}
	
@media screen and (max-width: 1024px) {
	.references-section {
		text-align: center;
	}
	
	.references-content {
		font-size: 0px;
		margin-top: 40px;
	}
	
	.reference-box {
		width: 50%;
		margin: 0px;
		border: none;
	}
}

.contacts-section {
	position: relative;
	padding: 20px 0 50px 0;
	background-color: #b9e2fb;
	text-align: center;
	z-index: 1;
}	
	.contacts-section .dotted-input {
		background-color: #d2eeff;
		border: 1px dashed #fff;
		margin: 5px 0px;
	}
	
	.contacts-section .light-grey-button {
		margin-top: 20px;
	}
	
	.contact-wrapper {
		display: flex;
		align-items: center;
		margin-top: 60px;
		font: 400 16px 'Source Sans Pro', sans-serif;
		color: #001736;
	}

	.contact-left {
		flex: 1;
		padding: 0px 15px;
	}
	
		.contact-left a {
			text-decoration: underline;
		}
	
		.contact-left .blue-button {
			margin-top: 15px;
			display: block;
		}
	
	.contact-right {
		flex: 1;
		padding: 0px 15px;
	}
	
		.contact-line {
			display: flex;
			padding: 15px 10px;
			border-bottom: 1px solid #9ec3d9;
		}
		
		.contact-line:last-of-type {
			border: 0;
		}

		.contact-line-left {
			flex: 1;
			color: #001736;
			text-align: left;
			font: 600 16px 'Source Sans Pro', sans-serif;
		}

		.contact-line-right {
			flex: 2;
			color: #001736;
			text-align: right;
			font: 400 18px 'Source Sans Pro', sans-serif
		}
		
		a.contact-line-right {
			text-decoration: underline;
		}		
	
	@media screen and (max-width: 1024px) {
		.contact-wrapper {
			display: block;
		}
		
		.contact-line {
			flex-direction: column;
		}
		
		.contact-right {
			margin-left:0px;
			margin-top:20px;
		}
		
		.contact-left, .contact-right { 
			width: 100%;
			padding: 0px 10px;
		}
		
		.contact-line-left, .contact-line-right { 
			text-align: center;
		}
		
		.contact-line-left {
			font: 600 18px 'Source Sans Pro', sans-serif;
		}
		
		.contact-line-right {
			font: 400 16px 'Source Sans Pro', sans-serif;
		}
	}
	

.footer-section {
	position: relative;
	padding: 15px 0;
	background-color: #f28e04;
	text-align: center;
	color: #fff;
	z-index: 1;
}	

/* ALAPOK --------------------*/
@media screen and (min-width: 1025px) {.only-mobile{display:none}}
@media screen and (max-width: 1024px) {.only-pc{display:none}}

.no-margin {
	margin: 0 !important;
}

#altmodal-details-service .modal-content {
	text-align: center;
}

.altmodal h1 {
	font-size: 24px;
}

.modal-price {
	font: 600 20px 'Titillium Web', sans-serif;
    color: #f28e04;
    margin-bottom: 20px;
}

.modal-sub-price {
	margin-bottom: 20px;
}

	.modal-sub-price span {
		font-weight: 600;
	}

.modal-content {
	text-align: left;
	margin-bottom: 20px;
}
	
	.modal-content-bottom {
		text-align: center;
	}
	
	.modal-content-bottom>button {
		width: 100%;
	}

@media screen and (max-width: 1024px) {
	.modal-sub-price span {
		display: block;
	}
}

.blue-button {
	display: inline-block;
	cursor: pointer;
	background-color: #208bcb;
	color: #fff;
	text-align: center;
	padding: 10px 30px;
	font: 300 16px 'Titillium Web', sans-serif;
	letter-spacing: 0;
}

.blue-button:hover {
	background-color: #1379b6;
}

.dotted-input {
	padding: 12px 10px;
	width: 100%;
	border: 1px dashed #ddd;
	font: 400 14px 'Open Sans', sans-serif;
}

textarea.dotted-input {
	resize: none;
	height: 150px;
}

.content-wrap {
	position: relative;
	margin: auto;
	width: 90%;
	max-width: 1400px;
}

.pswp-video {
	text-align: center;
    padding: 50px;
    height: 100%;
}

	.pswp-video>video
	{
		height: 100%;
	}
	
@media screen and (max-width: 1024px) {
	.pswp-video {
		padding: 50px 0;
	}
}

@media screen and (max-width: 1280px) {.content-wrap{width:90%;}}

h1 { 
	font: 600 40px 'Titillium Web', sans-serif;
	color: inherit;
	color: #001736;
}

*{box-sizing: border-box;}
a{text-decoration:none;color:inherit;}
body{font:400 16px 'Source Sans Pro', sans-serif;background-color:#fff;margin:0;padding:0;height:auto}
img{border:0;}