@font-face {
	font-family: nexa;
	src: url(../fonts/Nexa-Regular.otf)
}

@font-face {
	font-family: nexa-bold;
	src: url(../fonts/NexaBold_1.otf)
}

@font-face {
	font-family: nexa-light;
	src: url(../fonts/NexaLight_1.otf)
}

html,
body {
	width: 100%;
	height: 100%;
	padding: 0 !important;
	margin-left: 0;
	margin-right: 0;
	font-family: nexa-light !important;
	background-color: #fff;
	font-weight: 400;
	overflow: hidden;
	color: #000 !important;
	-webkit-font-smoothing: antialiased
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: nexa-light !important
}

h1,
h2 {
	font-weight: 700
}

h3 {
	font-weight: 600
}

p {
	font-size: 14px;
	margin-bottom: 0;
	color: #373636;
	font-weight: 700
}

a {
	text-decoration: none
}

a:hover,
a:focus {
	text-decoration: none;
	outline: 0
}

img {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
	user-drag: none;
	max-width: 100%
}

.valign {
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}

.img-center {
	margin-left: auto;
	margin-right: auto;
	left: auto;
	right: auto
}

.noscroll {
	overflow: hidden
}

.static {
	position: static
}

.nopadding {
	padding-left: 0;
	padding-right: 0
}

.clear {
	clear: both
}

.section-space {
	padding: 80px 0
}

.mg-top {
	margin-top: 50px
}

input:focus {
	box-shadow: none
}

.pd-0 {
	padding: 0 !important
}

.navbar-default .navbar-brand {
	float: none
}

.navbar-brand > img {
	margin: auto
}

.banner {
	overflow: hidden;
	min-height: 100vh;
	position: relative;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center
}

.banner-content {
	color: #000;
	text-align: center;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transform: scale(.8)
}

.btn.btn-rounded {
	border: 1px solid #23504a;
	border-radius: 50px;
	padding: 5px 20px;
	min-width: 147px;
	display: inline-block;
	color: #23504a;
	font-size: 10px;
	text-transform: uppercase;
	line-height: 14px;
	margin: 0 5px 5px;
	background: 0 0;
	position: relative;
	overflow: hidden;
	font-family: nexa-light;
	transition: all .3s;
	letter-spacing: 1.5px;
	margin-bottom: 15px
}

.btn.btn-rounded:after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	background: #fff;
	height: 200px;
	border: none;
	width: 100%;
	content: "";
	border-radius: 50%;
	-webkit-transition: opacity .6s cubic-bezier(.165, .84, .44, 1), -webkit-transform .6s cubic-bezier(.175, .885, .32, 1.275) .6s;
	transition: opacity .6s cubic-bezier(.165, .84, .44, 1), -webkit-transform .6s cubic-bezier(.175, .885, .32, 1.275) .6s;
	transition: transform .6s cubic-bezier(.175, .885, .32, 1.275) .6s, opacity .6s cubic-bezier(.165, .84, .44, 1);
	transition: transform .6s cubic-bezier(.175, .885, .32, 1.275) .6s, opacity .6s cubic-bezier(.165, .84, .44, 1), -webkit-transform .6s cubic-bezier(.175, .885, .32, 1.275) .6s;
	-webkit-transform: scale(0);
	transform: scale(0);
	opacity: 0;
	z-index: -1
}

.btn.btn-rounded:hover::after {
	opacity: 1;
	-webkit-transition: opacity .6s cubic-bezier(.165, .84, .44, 1), -webkit-transform .6s cubic-bezier(.165, .84, .44, 1);
	transition: opacity .6s cubic-bezier(.165, .84, .44, 1), -webkit-transform .6s cubic-bezier(.165, .84, .44, 1);
	transition: transform .6s cubic-bezier(.165, .84, .44, 1), opacity .6s cubic-bezier(.165, .84, .44, 1);
	transition: transform .6s cubic-bezier(.165, .84, .44, 1), opacity .6s cubic-bezier(.165, .84, .44, 1), -webkit-transform .6s cubic-bezier(.165, .84, .44, 1);
	-webkit-transform: scale(1);
	transform: scale(1)
}

.btn.btn-rounded:hover {
	color: #000;
	transform: scale(1.1)
}

.btn.btn-rounded:hover img {}

img.icons-col {
	width: 30px;
	height: 30px;
	margin-right: 10px
}

.logo-royale img {
	filter: brightness(0) invert(.86);
	width: 120px;
	margin-bottom: 10px
}

.logo-royale {
	margin: 40px 0
}

a.explore-link {
	color: #23504a;
	border-bottom: 1px solid #23504a;
	text-decoration: none;
	margin-top: 10px;
	display: inline-block
}

a.explore-link:hover {
	color: #23504a
}

.edit-num {
	display: block;
	border-bottom: 1px solid #fff;
	line-height: 2.428571;
	height: 34px;
	font-size: 15px;
	margin-right: 6px;
	text-align: center
}

#submitForm {
	margin-top: 20px
}

.compress-btn {
	display: flex !important;
	justify-content: center
}

.sp-title {
	text-align: left
}

.pd-5 {
	padding-right: 5px !important;
	padding-left: 5px !important
}

.form-block-landing {
	display: table;
	margin: 15px
}

.btn-rounded:hover {
	color: #fff
}

.g-img-block {
	height: 43vh
}

.g-img-block img {
	height: 100%;
	object-fit: contain
}

.gen-title {
	color: #23504a;
	width: 100%;
	margin: 10px auto
}

.gen-title span {
	font-family: nexa-Bold !important;
	display: block;
	font-size: 23px;
	line-height: 24px
}

.btn-green {
	background: #23504a !important;
	color: #fff !important;
	box-shadow: 0 12px 12px -12px #5f5f5f
}

.btn-green:hover {
	color: #23504a !important
}

.btn-green:hover img.icons-col {
	filter: invert(1)
}

.btn-green img.icons-col.white-icon {
	filter: invert(1)
}

.btn-green:hover img.icons-col.white-icon {
	filter: invert(0)
}

.d-flex {
	margin: 3px !important
}

.d-flex {
	display: flex !important
}

.light-img {
	position: absolute;
	right: 0;
	width: 70px;
	top: 0
}

.flex-wrap-mob {
	flex-wrap: wrap
}

.nxt-gen-page .nxt-gen-modal .btn.btn-rounded {
	border: 1px solid #fff;
	color: #fff
}

.form-control {
	background: #2e6472
}

.form-control:focus {
	box-shadow: none
}

.modal-body {
	padding: 0
}

.modal-title {
	padding: 0 20px
}

.modal-body .d-flex {
	margin: 9px
}

#req-a-call-modal .modal-body {
	padding: 20px !important
}

.form-control:focus {
	background: 0 0 !important;
	box-shadow: none
}

.select2-container {
	width: 100% !important
}

@media(max-width:768px) {
	.banner-content {
		transform: translateY(-50%) scale(1)
	}

	.modal-title {
		font-size: 12px;
		text-align: center;
		margin-bottom: 20px
	}

	.form-left-block.w-45 {
		width: 45%
	}

	label {
		margin-bottom: 0;
		font-size: 14px
	}

	.modal-body {
		padding: 15px 15px 15px 0
	}

	.form-control {
		font-size: 14px
	}
}

ul.chara-pavimento {
	display: flex;
	align-items: center
}

ul.chara-pavimento h4 {
	display: flex;
	flex-direction: column;
	text-align: center;
	justify-content: center
}

ul.chara-pavimento li {
	width: 33.33%
}

.logo-imgg {
	padding: 0 20px;
	border-right: 1px solid #d8d8d8
}

.logo-imgg:last-child {
	border-right: 0;
	margin-bottom: 4px
}

.footer-links ul {
	padding-left: 0
}

.footer-links ul li a {
	color: #000;
	border-bottom: 1px solid #bbb
}

.footer-links ul li {
	display: inline-block;
	padding: 0 10px
}

.footer-links {
	margin-top: 3px
}

@media(min-width:1200px) {
	.footer-links {
		position: absolute;
		right: 80px;
		bottom: 1%
	}
}

@media(max-width:768px) {
	.footer-links ul li {
		padding: 0 3px
	}

	.footer-links ul li a {
		font-size: 10px
	}
}