html {
	scroll-behavior: smooth !important;
}

body {
	font-family: 'Geologica', sans-serif;
	font-weight: 300;
	font-size: 20px;
	color: #010F28;
}

.navbar-default {
	background: white;
	border: none;
	font-size: 18px;
	font-weight: 400;
}

.navbar-default .navbar-nav > li > a {
	color: black;
}

.navbar-default .navbar-nav > li > a:hover {
	color: #0D57E6;
}

.navbar-brand {
	margin: 20px;
}

.navbar-nav > .active > a {
	background: none !important;
	color: #0D57E6 !important;
}

.row {
	margin-left: 0;
	margin-right: 0;
}

h1 {
	font-size: 36px;
	font-weight: 500;
	text-align: center;
}

h2 {
	font-size: 24px;
	font-weight: 500;
	text-align: center;
}

.block {
	margin: 5px;
}

.btn-blue {
	padding: 15px 30px;
	background: #0D57E6;
	border-radius: 28px;
	color: #FFFFFF !important;
}

.btn-blue:hover {
	background: #FF0000 !important;
	color: #FFFFFF;
}

.btn-white {
	padding: 15px 30px;
	background: #f0f0f0;
	border-radius: 28px;
	color: #0d57e5 !important;
}

.btn-white:hover {
	background: #FF0000 !important;
	color: #0d57e5;
}

.btn-gray {
	padding: 15px 30px;
	background: #f0f0f0;
	border-radius: 28px;
	color: black !important;
}

.btn-gray:hover {
	background: #a0a0a0 !important;
	color: black !important;
}

.btn-dark-gray {
	padding: 15px 30px;
	background: #DCDCDC;
	border-radius: 28px;
	color: black !important;
}

.btn-dark-gray:hover {
	background: #a0a0a0 !important;
	color: black !important;
}

.hero {
	width: 100%;
	border-radius: 40px;
}

.footer a {
	color: white;
}

.footer a:hover, .footer a:focus {
	color: white;
}

.aligned-row {
    display: table;
}

a, a:hover, a:focus {
	color: #0D57E6;
}

.modal-footer > .btn-primary {
	padding: 15px 30px;
	background: #0D57E6;
	border-radius: 28px;
}

.grecaptcha-badge {
    visibility: hidden;
}

.hero-quote {
	color: #FFFFFF;
	font-weight: 500;
	text-align: left;
}

.gray-card {
	background: #F0F0F0;
	border-radius: 20px;
	padding: 25px;
}

/* Very small devices (landscape phones, 576px and up) */
@media (max-width: 575px) {
	body {
		font-size: 14px;
	}

	h1 {
		font-size: 30px;
		font-weight: 500;
		text-align: center;
	}

	h2 {
		font-size: 25px;
		font-weight: 500;
		text-align: center;
	}

	h3 {
		font-size: 18px;
		font-weight: 700;
		line-height: 1.3;
	}

	.contact-phone {
		font-size: 18px;
		font-weight: 700;
		line-height: 1.3;
	}

	h4 {
		font-size: 18px;
		font-weight: 600;
		line-height: 20px;
	}

	.road h3 {
		font-weight: 600;
		line-height: 20px;
		text-align: left;
		margin-top: 0px;
		margin-bottom: 0px;
	}

	.hero-subtitle {
		font-size: 18px;
	}

	.hero-quote {
		font-size: 12px;
		font-weight: 500;
	}

	.container-fluid {
		padding-left: 0px;
		padding-right: 0px;
	}

	.segment {
		margin-top: 40px;
	}

	.hero-segment {
		margin-top: 120px;
	}

	.footer {
		font-size: 16px;
		text-align: center !important;
		padding-top: 40px !important;
	}

	.footer-column {
		padding: 10px;
	}

	.footer-column-left {
		text-align: center;
	}

	.footer-column-right {
		text-align: center;
	}

	.quote {
		font-size: 20px;
	}

	.small-center {
		text-align: center;
	}

	.modal-dialog {
		width: 100%;
		height: 100%;
		margin: 0px;
	}

	.modal-content {
		height: 100%;
		border-radius: 0px;
	}
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
	h1 {
		font-size: 30px;
		font-weight: 500;
		text-align: center;
	}

	h2 {
		font-size: 24px;
		font-weight: 500;
		text-align: center;
	}

	h3 {
		font-size: 20px;
		font-weight: 700;
		line-height: 1.3;
	}

	.contact-phone {
		font-size: 20px;
		font-weight: 700;
		line-height: 1.3;
	}

	.hero-subtitle {
		font-size: 18px;
	}

	.footer {
		font-size: 16px;
		text-align: center !important;
	}

	.footer-column {
		padding: 10px;
	}

	.footer-column-left {
		text-align: center;
	}

	.footer-column-right {
		text-align: center;
	}

	.segment {
		margin-top: 100px;
	}

	.quote {
		font-size: 20px;
	}

	.small-center {
		text-align: center;
	}

	.modal-dialog {
		width: 100%;
		height: 100%;
		margin: 0px;
	}

	.modal-content {
		height: 100%;
		border-radius: 0px;
	}
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	.container-fluid {
		padding-left: 40px;
		padding-right: 40px;
	}

	h1 {
		font-size: 32px;
		font-weight: 500;
		text-align: center;
	}

	h2 {
		font-size: 24px;
		font-weight: 500;
		text-align: center;
	}

	h3 {
		font-size: 24px;
		font-weight: 700;
		line-height: 1.3;
	}

	.contact-phone {
		font-size: 24px;
		font-weight: 700;
		line-height: 1.3;
	}

	.hero-subtitle {
		font-size: 24px;
	}

	.hero-quote {
		font-size: 16px;
		font-weight: 500;
	}

	.footer {
		font-size: 20px;
	}

	.footer-column {
		padding: 50px;
	}

	.footer-column-left {
		text-align: left;
	}

	.footer-column-right {
		text-align: right;
	}

	.segment {
		margin-top: 200px;
	}

	.quote {
		font-size: 24px;
	}

	.small-center {
		text-align: initial;
	}

	.modal-dialog {
		width: 100%;
		height: 100%;
		margin: 0px;
	}

	.modal-content {
		height: 100%;
		border-radius: 0px;
	}

	.gray-card {
		padding: 40px;
	}
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	.aligned-col {
		float: none;
	    display: table-cell;
	    vertical-align: middle;
	}

	h1 {
		font-size: 48px;
		font-weight: 500;
		text-align: center;
	}

	h2 {
		font-size: 48px;
		font-weight: 500;
		text-align: center;
	}

	h3 {
		font-size: 24px;
		font-weight: 700;
		line-height: 1.3;
	}

	.contact-phone {
		font-size: 24px;
		font-weight: 700;
		line-height: 1.3;
	}

	.hero-subtitle {
		font-size: 24px;
	}

	.hero-quote {
		font-size: 24px;
		font-weight: 500;
	}

	.footer {
		font-size: 20px;
		text-align: left;
	}

	.footer-column {
		padding: 50px;
	}

	.footer-column-left {
		text-align: left;
	}

	.footer-column-right {
		text-align: right;
	}

	.segment {
		margin-top: 200px;
	}

	.quote {
		font-size: 24px;
	}

	.small-center {
		text-align: initial;
	}

	.modal-dialog {
		width: 100%;
		height: 100%;
		margin: 0px;
	}

	.modal-content {
		height: 100%;
		border-radius: 0px;
	}
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	h1 {
		font-size: 48px;
		font-weight: 500;
		text-align: center;
	}

	h2 {
		font-size: 40px;
		font-weight: 500;
		text-align: center;
	}

	h3 {
		font-size: 36px;
		font-weight: 700;
		line-height: 1.3;
	}

	.contact-phone {
		font-size: 24px;
		font-weight: 700;
		line-height: 1.3;
	}

	h4 {
		font-size: 24px;
		font-weight: 600;
		line-height: 30px;
	}

	.hero-subtitle {
		font-size: 24px;
	}

	.hero-quote {
		font-size: 18px;
		font-weight: 500;
	}

	.footer {
		font-size: 20px;
		text-align: left;
	}

	.footer-column {
		padding: 50px;
	}

	.footer-column-left {
		text-align: left;
	}

	.footer-column-right {
		text-align: right;
	}

	.segment {
		margin-top: 200px;
	}

	.quote {
		font-size: 24px;
	}

	.small-center {
		text-align: initial;
	}

	.modal-dialog {
		width: 100%;
		height: auto;
		padding-left: 20px;
		padding-right: 20px;
		margin: 30px auto;
	}

	.modal-content {
		height: auto;
		border-radius: 20px;
	}

	body.modal-open .modal.in {
		display: flex !important;
		align-items: center;
	}
}

@media (min-width: 1540px) {
	.modal-dialog {
		width: 1540px;
		padding-left: 20px;
		padding-right: 20px;
		margin: 30px auto;
	}

	body.modal-open .modal.in {
		display: flex !important;
		align-items: center;
	}
}