@charset "utf-8";

#mobile-top-line {
	display: flex;
	align-items: center;
	align-content: stretch;
	flex-wrap: nowrap;
	min-height: 85px;
	padding: 10px;
	background-color: #fff;
}

	.nav-icon {
		padding: 0px 15px;
		align-self: center;
		flex: 1;
		color: #444;
	}

	.nav-icon--menu {
		font-size: 30px;
		text-align: left;
	}
	
	.nav-icon--logo {
		text-align: right;
	}
	
		.nav-icon--logo > img {
			display: inline-block;
			max-height: 50px;
		}
		
	.nav-icon--social {
		font-size: 30px;
		text-align: right;
	}
	
#mobile-nav {
	height: auto;
	padding: 0px 20px;
	overflow: initial !important;
	display: none;
	background-color: #f4f4f4;
}
	#mobile-nav a {
		display: block;
	}

	.mobile-nav__button {
		width: 100%;
		color: #222222;
		text-align: left;
		padding: 16px 0px;
		font: 400 14px "Montserrat", sans-serif;
		border-bottom: 1px solid #d3d3d3;
	}

	.mobile-nav__button:last-child {
		border-bottom: none;
	}

#menu-section {
	position: relative;
	display: flex;
	width: 100%;
	height: 110px;
	padding: 0 60px;
	align-items: center;
}

	.menu-logo {
		flex: 0 0 300px;
	}
	
	.menu-buttons {
		flex-grow: 1;
		text-align: right;
	}
	
		.menu-button {
			display: inline-block;
			font: 400 16px 'Montserrat', sans-serif;
			padding: 50px 20px;
			cursor: pointer;
			letter-spacing: 1px;
		}
		
		.menu-button:hover {
			text-decoration: underline;
		}
		
	.menu-social {
		flex: 0 0 60px;
		text-align: right;
	}
	
		.social-icon {
			display: inline-block;
			background-color: #ed1c24;
			color: #fff;
			font-size: 24px;
		}
		
		.social-icon:hover {
			background-color: #d40d15;
		}

#banner-section {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 800px;
	max-height: 800px;
	background-color: #001f3f;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url('../images/banner.jpg?v2');
	text-align: center;
	z-index: 3;
}

#banner-section.mini {
	min-height: 200px;
	max-height: 200px;
	background-position: 50% 100%;
}

	.banner-line {
		position: absolute;
		width: 100%;
		height: 6px;
		left: 0;
		background-color: #ed1c24;
		opacity: 0.8;
		z-index: 4;
	}
	
	.banner-line.top {top: 0px}
	.banner-line.bottom {bottom: 0px}

	.banner-text {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 800px;
		transform: translate(-50%, -50%);
		color: #fff;
	}
	
		.banner-text-content {
			margin-top: 10px;
		}
		
		.banner-text-buttons {
			margin-top: 30px;
		}
		
@media screen and (max-width: 1024px) {
	#banner-section {
		min-height: 350px;
		max-height: 350px;
	}
	
	#banner-section h1 {
		font: 400 22px 'Montserrat', sans-serif;
	}
	
	.banner-text {
		width: 95%;
		font-size: 13px;
	}
}
		
#about-section {
	position: relative;
	width: 100%;
	padding: 60px 0;
	text-align: center;
}

	#about-section h1 {
		margin-bottom: 0;
	}
	
	.about-text {
		margin: 20px 0;
	}
	
	.about-flex {
		display: flex;
		align-items: center;
		gap: 20px;
	}
	
		.about-map {
			flex: 0 0 500px;
		}
		
		.about-map>img {
			display: block;
			max-width: 100%;
		}
		
		.about-pinpoints {
			flex-grow: 1;
			font-size: 0px;
		}
		
			.about-pinpoint {
				display: inline-block;
				vertical-align: text-top;
				width: 33%;
				padding: 15px 10px;
				font: 400 16px 'Montserrat', sans-serif;
			}
			
				.about-pinpoint-top {
					display: flex;
					align-items: center;
				}
				
				.about-pinpoint-icon {
					flex: 0 0 50px;
					font-size: 24px;
					color: #ed1c24;
				}
				
					.about-pinpoint-icon>img {
						display: inline-block;
						max-width: 24px;
						vertical-align: middle;
						margin-bottom: 3px;
					}
				
				.about-pinpoint-label {
					flex-grow: 1;
					text-transform: uppercase;
					text-align: left;
					font: 600 18px 'Montserrat', sans-serif;
				}
				
				.about-pinpoint-content {
					font: 400 16px 'Montserrat', sans-serif;
					margin-top: 15px;
					text-align: justify;
					min-height: 100px;
				}
				
@media screen and (max-width: 1280px) {
	.about-pinpoint-content {
		font-size: 14px;
	}	
	
	.about-pinpoint {
		width: 49%;
	}
}
				
@media screen and (max-width: 1024px) {
	#about-section {
		padding: 30px 0;
	}
	
	.about-flex {
		flex-direction: column;
	}
	
	.about-map, .about-pinpoints {
		flex: 1;
	}
	
	.about-pinpoint {
		width: 100%;
	}
	
	.about-pinpoint-content {
		min-height: initial;
	}
}

#latest-offers-section {
	position: relative;
	width: 100%;
	padding: 60px 0;
	text-align: center;
}
	
	.latest-offer-content {
		background-color: #f2f2f2;
		padding: 40px 0px;
	}
	
		.latest-offer-content .content-wrap {
			display: flex;
			gap: 40px;
			align-items: center;
		}
		
		.latest-offer-list {flex-grow: 1}
		.latest-offer-decor {flex: 0 0 480px}
		.latest-offer-decor>img {
			display: block;
			width: 100%;
		}
		
		.offer-item {
			display: flex;
			align-items: center;
			border-bottom: 1px solid #ccc;
			padding: 10px 0px;
		}
		
		.offer-item:last-of-type {
			border-bottom: 0;
		}
		
			.offer-item-icon, .offer-item-details>i {
				flex: 0 0 30px;
				font-size: 20px;
				color: #ed1c24;
			}
		
			.offer-item-details {
				flex-grow: 1;
				text-align: left;
				text-transform: uppercase;
				font: 600 18px 'Montserrat', sans-serif;
				color: #222;
			}
			
				.offer-prop:nth-child(1) {
					margin-left: 0;
				}
			
				.offer-prop {
					display: inline-block;
					margin-left: 10px;
					text-transform: initial;
					font: 400 15px 'Montserrat', sans-serif;
					color: #666;
				}
				
				.offer-prop>i {
					color: #02335f;
					font-size: 16px;
				}
			
			.offer-item-button {
				flex: 0 0 150px;
			}
			
			.offer-item-button>a {
				font: 400 16px 'Montserrat', sans-serif;
				color: #666;
				text-decoration: underline;
			}
			
		.latest-offers-bottom {
			text-align: right;
			margin-top: 30px;
		}
		
@media screen and (max-width: 1280px) {
	.latest-offer-decor {flex: 0 0 280px}
}

@media screen and (max-width: 1024px) {
	#latest-offers-section {
		padding: 30px 0;
	}
	
	.latest-offer-content .content-wrap {
		flex-direction: column;
	}
	
	.offer-item {
		flex-direction: column;
	}
	
		.offer-item-details {
			text-align: center;
		}
	
			.offer-properties {
				margin: 15px 0px;
			}
			
			.offer-prop {
				margin: 5px 5px;
			}
	
		.offer-item-button {
			flex: 1;
		}
	
	.latest-offers-bottom {
		text-align: center;
	}
	
	.latest-offer-decor {
		flex: 1;
	}
}
		
#feedbacks-section {
	position: relative;
	width: 100%;
	padding: 60px 0 120px 0;
	text-align: center;
}

	#feedbacks {
		position: relative;
		width: 100%;
		max-width: 1260px;
		font-size: 0px;
		padding: 10px;
		margin: auto;
	}
	
		.feedback {
			width: 400px;
			display: inline-block;
			vertical-align: middle;
			padding: 10px;
		}
		
		.feedback.static {
			width: 450px;
			padding: 10px !important;
			margin-top: 20px;
		}
		
			.feedback-wrapper {
				display: flex;
			}
		
			.feedback-left, .feedback-right {
				flex: 0 0 52px;
				background-repeat: no-repeat;
			}
			
			.feedback-left {
				background-image: url('../images/quote-start.png');
				background-position: 0% 0%;
			}
			
			.feedback-right {
				background-image: url('../images/quote-end.png');
				background-position: 0% 100%;				
			}
			
			.feedback-center {
				font: 400 16px 'Montserrat', sans-serif;
				color: #666;
				padding: 0 10px;
				text-align: justify;
			}
			
				.feedback-creator {
					margin-top: 20px;
					text-align: center;
					font: 600 16px 'Montserrat', sans-serif;
					color: #222;
				}
				
@media screen and (max-width: 1280px) {
	#feedbacks-section {
		padding: 60px 0 30px 0;
	}
	
	#feedbacks-section .content-wrap {
		width: 100%;
	}
	
	.feedback.static {
		width: 100%;
	}
}

@media screen and (max-width: 1024px) {
	#feedbacks-section {
		padding: 60px 0 30px 0;
	}
}
				
#questions-section {
	position: relative;
	width: 100%;
	padding: 60px 0;
	text-align: center;
}
	
	#questions-section h1 {
		margin-bottom: 0;
	}
		
	#questions-section .content-wrap {
		font-size: 0px;
	}
		
	.questions-box {
		padding: 30px;
	}
	
		.question {
			display: inline-block;
			cursor: pointer;
			width: 45%;
			text-align: left;
			padding: 10px 10px;
			font: 600 16px 'Montserrat', sans-serif;
			border: 1px dotted #ddd;
			background-color: #f6f6f6;
			margin: 10px 10px;
		}
		
		.question:hover i{
			margin-right: 15px;
		}
		
		.question i {
			display: inline-block;
			-webkit-transition: all 0.2s;
			-moz-transition: all 0.2s;
			transition: all 0.2s;
			vertical-align: middle;
			color: #ed1c24;
			margin-right: 10px;
			font-size: 16px;
		}
		
	#question-content {
		text-align: justify;
	}
	
	#question-content a {
		color: #ed1c24;
		text-decoration: underline;
	}
	
@media screen and (max-width: 1024px) {
	.questions-box {
		padding: 30px 0;
	}
}

@media screen and (max-width: 1024px) {
	#questions-section .content-wrap {
		width: 95%;
	}
	
	#questions-section {
		padding-bottom: 0;
	}
	
	.questions-box {
		padding: 30px 0;
	}
	
	.question {
		width: 100%;
		margin: 5px 0;
		font-size: 12px;
	}
}
				
#footer-section {
	position: relative;
	background-color: #f2f2f2;
	width: 100%;
	text-align: center;
}

	.footer-divided {
		position: relative;
		display: flex;
		background-color: #f2f2f2;
		height: 412px;
	}
	
		.footer-divided-left {
			display: inline-block;
			text-align: center;
			padding: 75px 20px;	
			flex: 1;
			text-align: center;
			background-color: #1e1e1e;
		}
			
			.footer-divided-left>img {
				display: inline-block;
				width: 100%;
				max-width: 300px;
			}
			
			.footer-logo-text {
				margin-top: 20px;
				font: 400 16px 'Montserrat', sans-serif;
				text-transform: uppercase;
				color: #fff;
			}
		
		.footer-divided-right {
			display: flex;
			flex: 2;
		}
		
			.footer-right-divider {
				flex: 0 0 123px;
				background-image: url(../images/divider.jpg);
				background-size: cover;
			}
			
			.footer-right-content {
				display: flex;
				flex-grow: 1;
				color: #222;
				padding: 110px 60px;
				background-color: #f2f2f2;
			}
			
				.footer-contact {
					flex: 1;
					text-align: left;
				}
				
					.contacts {
						margin-top: 20px;
					}
				
					.contact-line {
						display: block;
						color: #444;
						padding: 6px 0px;
						font: 400 16px 'Montserrat', sans-serif;
					}
					
					.contact-line i {
						display: inline-block;
						font-size: 20px;
						margin-right: 15px;
						color: #ed1c24;
					}
				
				.footer-links {
					flex: 1;
					text-align: left;
					padding-right: 100px;
				}
				
					.links {
						margin-top: 20px;
						max-width: 270px;
					}
					
					.link-line {
						display: block;
						color: #444;
						padding: 6px 0px;
						border-bottom: 1px solid #ddd;
						font: 400 16px 'Montserrat', sans-serif;
					}
					
					.link-line:hover {
						cursor: pointer;
						font-weight: 600;
					}
					
					.link-line:last-of-type {
						border-bottom: 0;
					}
					
					.link-line i {
						display: inline-block;
						font-size: 12px;
						margin-right: 15px;
						color: #ed1c24;
					}
	
	.footer-red {
		position: relative;
		padding: 30px 10px;
		width: 100%;
		color: #fff;
		background-color: #ed1c24;
	}

@media screen and (max-width: 1280px) {
	.footer-right-content {
		padding: 110px 30px;
	}
	
	.footer-links {
		padding-right: 0;
	}
}
	
@media screen and (max-width: 1024px) {
	.footer-divided {
		flex-direction: column-reverse;
		height: auto;
	}
	
	.footer-right-content {
		padding: 20px;
		flex-direction: column;
	}
	
		.footer-contact {
			text-align: left;
		}
		
			.footer-contact h1 {
				text-align: center;
			}
	
		.footer-links {
			text-align: left;
			padding: 0;
		}
		
			.footer-links h1 {
				text-align: center;
			}
		
		.links {
			width: 100%;
			max-width: initial;
		}
		
		.link-line {
			border: none;
		}
	
	.footer-divided-left>img {
		max-width: 160px;
	}
}
	
/* SUB-PAGES --------------------*/

#offers-section {
	position: relative;
	width: 100%;
	padding: 60px 0;
	text-align: center;
}

	.offer-content {
		background-color: #fff;
		padding: 40px 0px;
	}
	
	.offer-content .content-wrap {
		display: flex;
		gap: 40px;
		align-items: center;
	}
	
@media screen and (max-width: 1024px) {
	#offers-section {
		padding: 0;
	}
	
	.offer-content .content-wrap {
		flex-direction: column;
	}
}
	
#offer-section {
	position: relative;
	width: 100%;
	padding: 60px 0;
	text-align: left;
}

	#offer-section .content-wrap {
		max-width: 1000px;
	}
		
	.offer-description {
		line-height: 1.5;
		font: 300 16px "Archivo Narrow", sans-serif;
		color: #444;
	}
	
	.offer-description, .offer-bottom {
		margin-top: 40px;
	}
	
	.offer-description a {
		text-decoration: underline;
		color: #ed1c24;
	}
	
	.offer-description p:empty {height: 25px;margin-top:24px}
	
	.offer-description div[data-block=layout] {
		display: flex;
		flex-direction: row;
		gap: 24px;
	}
	
	.offer-description img {
		display: block;
		max-width: 100%;
	}
	
	.offer-bottom {
		text-align: center;
	}
	
@media screen and (max-width: 1024px) {
	#offer-section {
		padding: 0 0 30px 0;
	}
	
	.offer-description {
		text-align: center;
	}
	
	.offer-description div[data-block=layout] {
		flex-direction: column;
	}
	
	.offer-description iframe {
		width: 100%;
	}
	
	.offer-description .float-left, .offer-description .float-right {
		float: none !important;
		display: inline-block;
	}
}

#registration-section {
	position: relative;
	background-color: #fff;
	text-align: center;
	padding: 60px 0;
}

.register-steps {
	width: 100%;
	font-size: 0px;
	padding: 30px 0px;
}

	.register-step {
		display: inline-block;
		font: 400 16px 'Montserrat', sans-serif;
		color: #444;
		padding: 0px 5px;
		width: 200px;
		vertical-align: middle;
	}

		.register-step-icon {
			display: inline-block;
			margin-bottom: 10px;
			font: 600 22px 'Montserrat', sans-serif;
			border-radius: 100%;
			text-align: center;
			padding: 2px 0px;
			width: 30px;
			height: 30px;
			background-color: #ed1c24;
			color: #fff;
		}
		
		.register-step-label {
			min-height: 40px;
		}
		
		.register-step-label.one-liner {
			line-height: 40px;
		}
	
	.register-divider {
		display: inline-block;
		font-size: 30px;
		vertical-align: middle;
	}
		
@media screen and (max-width: 1024px) {
	.register-steps {
		padding: 10px 0px;
	}
	
		.register-divider {
			display: none;
		}
		
		.register-step-icon {
			font-size: 20px;
			margin: 0px;
		}
		
		.register-step-label.one-liner {
			line-height: initial;
		}
		
		.register-step-label {
			min-height: initial;
		}
		
		.register-step {
			display: inline-flex;
			align-items: center;
			gap: 15px;
			padding: 5px 0px;
			width: 90%;
		}
}

.personal-line {
	position: relative;
	padding: 5px 0px;
	font: 300 18px "Montserrat", sans-serif;
	display: flex;
	align-items: center;
	max-width: 1000px;
	margin: auto;
	border-bottom: 1px solid #eee;
}

.personal-line:last-of-type {
	border-bottom: 0;
}

	.no-bottom {
		margin-bottom: 0;
	}

	.register-info {
		font: 400 14px "Montserrat", sans-serif;
		color: #666;
		margin-bottom: 15px;
	}

	.personal-label {
		flex-grow: 0;
	}
	
	.personal-space {
		flex-grow: 1;
		height: 1px;
		margin: 0px 30px;
	}
	
	.personal-content {
		flex-grow: 0;
	}

	#personal-invoice {
		display: none;
	}

	.common-input {
		padding: 10px;
		border: 1px solid #cccccc;
		width: 350px;
		font: 300 16px "Montserrat", sans-serif;
		background-color: #ffffff;
	}

	.common-text-area {
		resize: none;
		width: 100%;
		max-width: 1000px;
	}

	.common-input--medium {
		width: 246px;
	}

	.common-input--small {
		width: 100px;
	}

	.personal-bottom {
		font: 600 16px "Montserrat", sans-serif;
		text-align: center;
		padding: 20px 40px;
	}
	
		.personal-comment-label {
			font-weight: 400;
			font-size: 14px;
			color: #777;
		}
		
	.loader {
		display: inline-block;
		vertical-align: middle;
		width: 40px;
	}
	
		.loader>i {
			font-size: 40px;
			color: #cb2929;
		}
	
		.loader>img {
			display: none;
			width: 40px;
		}
	
	#alert-box {
		color: #ce423d;
	}

@media screen and (max-width: 1024px) {
	#sub-page-section {
		padding: 40px 20px;
	}
	
	.personal-bottom {
		padding: 10px 0px;
	}
	
	.personal-line {
		border-bottom: 0;
	}

	.personal-line,
	.personal-label,
	.personal-content {
		display: block;
		flex: none;
		width: 100%;
		text-align: center;
	}

	.personal-space {
		display: none;
		flex: none;
	}

	.common-input {
		width: 100%;
	}
}

/* BASICS --------------------*/

@media screen and (min-width: 1025px) {.only-mobile{display:none !important}}
@media screen and (max-width: 1024px) {.only-pc{display:none !important}}

.decor-line {
	position: relative;
	width: 100%;
	height: 28px;
	left: 0;
	background-color: #fff;
	background-image: url('../images/decor-line.png');
}

.red-button {
	display: inline-block;
	cursor: pointer;
	background-color: #ed1c24;
	color: #fff;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	transition: all 0.4s;
	text-align: center;
	padding: 10px 20px;
	font: 400 16px 'Montserrat', sans-serif;
}

.red-button:hover {
	background-color: #d40d15;
}

.red-button.disabled {
	background-color: #ddd;
	cursor: default;
	color: #444;
}

.red-button.disabled:hover {
	background-color: #ddd;
}

.content-wrap {
	position: relative;
	margin: auto;
	width: 90%;
	max-width: 1600px;
}

@media screen and (max-width: 1280px) {.content-wrap{width:90%;}}

h1 { 
 font: 400 30px 'Montserrat', sans-serif;
 color: inherit;
 text-transform: uppercase;
}

.sub-h1 {
	font: 400 18px 'Montserrat', sans-serif;
	color: #888;
}

*{box-sizing: border-box;}
a{text-decoration:none;color:inherit;}
body{font-family:'Montserrat', sans-serif;background-color:#fff;margin:0;padding:0;}
html,body {width:100%;height:100%;}
img{border:0;}