/**
* 
* Theme Name: Custom Astra Child
* Author: Ryner G
* 
*/

:root {
	--accent-color: #01015b;
	--primary-color: var(--accent-color);
	--secondary-color: #03427f;
	--black-color: #010101;
	--white-color: #ffffff;
	--head-family: Oswald, sans-serif;
	--head-size: 40px;
	--fa-family: "Font Awesome 5 Free";

	--p-family: Montserrat, sans-serif;
	--p-size: 18px;
}

/* =============== HIDE BROKEN CUSTOM HEADER AND FOOTER ON BUILDER =============== */
/*body.admin-bar.fl-builder.fl-builder-edit .ast-custom-header,
body.admin-bar.fl-builder.fl-builder-edit .ast-custom-footer,
body.admin-bar.fl-builder.fl-builder-edit #ast-desktop-header,
body.admin-bar.fl-builder.fl-builder-edit .ast-desktop-header {
	display: none!important;
}*/
.postid-54.admin-bar.fl-builder.fl-builder-edit .ast-custom-footer,
.postid-49.admin-bar.fl-builder.fl-builder-edit .ast-custom-header {
	display: block!important;
}

/* =============== DEFAULTS =============== */
html, body{
	max-width: 2000px;
	margin: 0 auto;
	overflow-x: hidden;
	font-family: var(--p-family);
}
* {
	font-family: var(--p-family);
}
strong, b {
	font-weight:800!important;
}
a, button, a:hover, button:hover {
	transition: ease .2s; -webkit-transition: ease .2s;
}
h1, h2, h3, h4, h5, h1 *, h2 *, h3 *, h4 *, h5 * {
	font-family: var(--head-family);
}

/* =============== CLASSES =============== */
.accent-color {
	color: var(--accent-color)!important;
}
.secondary-color {
	color: var(--secondary-color)!important;
}
.p-con-no-margin p {
	margin-bottom: 0!important;
}
.p-con-xs-margin p {
	margin-bottom:18px;
}
.no-margin, .p-no-margin p,
.no-margin-from-this-point,
.no-margin-from-this-point * {
	margin:0!important;
}
.text-right {
	text-align: right;
}
.text-center {
	text-align: center;
}
.rg-all-mb-0, .rg-all-mb-0 * {
	margin-bottom:0;
}
.rg-all-mt-0, .rg-all-mt-0 * {
	margin-top:0;
}

.rg-heading, 
.rg-heading h1, 
.rg-heading h2, 
.rg-dynamic-page-title,
.rg-heading-in-p h5,
.rg-heading-in-p h4,
.rg-heading-in-p h3, 
.rg-heading-in-p h2,
.rg-heading-in-p h1{
	font-family: var(--head-family);
	font-size: var(--head-size);
	font-weight: 700!important;
	margin-bottom: 0.5em;
}
.rg-heading-in-p h5 {
	font-size: 20px!important;
}
.rg-heading-in-p h4 {
	font-size: 22px!important;
}
.rg-heading-in-p h3 {
	font-size: 25px!important;
}
.rg-heading-in-p h2 {
	font-size: 30px!important;
}
.rg-heading-in-p h1 {
	font-size: 40px!important;
}
.rg-heading-in-p-with-left-border h1,
.rg-heading-in-p-with-left-border h2,
.rg-heading-in-p-with-left-border h3 {
	border-left: 4px solid var(--accent-color);
	padding-left: 20px;
}
.rg-img-in-p img.aligncenter {
	width: 100%;
	max-width: 900px;
	max-height: 600px;
	object-fit: cover;
	object-position: center;
	margin-left: 0;
}
.rg-img-in-p .img-flex {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: flex-start;
	justify-content: flex-start;
	align-items: center;
}
.rg-img-in-p .img-flex img {
	margin: 5px;
	width: 50%;
	height: 600px;
}
.rg-beaf-max-height {
	margin: 20px 0;	
}
.rg-beaf-max-height,
.rg-beaf-max-height * {
	max-height: 700px;
}
.rg-beaf-max-height img {
	min-width: 900px;
	max-width: 900px!important;
	object-fit: cover;
	object-position: center;
}

/*
* 
*=============== HEADER =============== 
* Header styles moved to css/header.css
*
*/


/* =============== HOME PAGE =============== */
	.rg-heading-with-icon .fl-heading-text {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: flex-start;
	}
	.rg-heading-with-icon span.icon {
		position: relative;
		background: #fec708;
		color: #ffffff;
		border-radius: 100%;
		width: 30px;
		min-width: 30px;
		height: 30px;
		text-align: center;
		margin-right: 10px;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
	}
	.rg-heading-with-icon-content {
		margin-left: 40px;
		margin-top: 10px;
	}

/* =============== HOME: BEFORE AFTER SECTION =============== */
	.home-before-after-section {
		max-width: 992px;
		margin: 0 auto;
		background: #ffffff;
	}
	.home-before-after-section .bafg-twentytwenty-wrapper .bafg-twentytwenty-container {
		max-height: 400px;
	}

/* =============== HOME: LOGO / CLIENT SECTION =============== */
	.home-customer-logo-section .fl-photo-content img {
		display: inline;
		height: 150px;
		max-width: 150px;
		width: 150px!important;
		object-fit: contain;
		background-color: #ffffff;
		box-shadow: 0 0 10px -5px #000000;
		border-radius: 100%;
	}

/* =============== BUTTONS =============== */
	.rg-gen-btn a, .rg-gen-btn button, button.rg-gen-btn {
		height: 40px;
		background: var(--accent-color)!important;
		border: 2px solid var(--accent-color)!important;
		border-radius: 1px!important;
	}
	.rg-gen-btn a:hover, .rg-gen-btn button:hover, button.rg-gen-btn:hover {
		background: var(--secondary-color)!important;
		color: var(--accent-color)!important;
	}
	.rg-gen-btn a:hover *, .rg-gen-btn button:hover *, button.rg-gen-btn:hover * {
		color: var(--accent-color)!important;
	}
	.rg-gen-btn, .rg-gen-btn * {
		font-size: 18px;
		color: var(--white)!important;
		text-transform: uppercase;
	}
	.rg-gen-btn.capitalize, .rg-gen-btn.capitalize * {
		text-transform: capitalize;
	}
	.rg-gen-btn, .rg-gen-btn *:not(i) {
		font-family: var(--p-family)!important;
		font-weight: 600!important;
	}

	/* =============== HEADER BUTTONS =============== */
		.header-navigation .header_button a {
			display: flex;
			justify-content: center;
			align-items: center;
			align-content: center;
			flex-wrap: wrap;
			flex-direction: row!important;
		}
		.header-navigation .header_button a i {
			margin-left: 5px;
		}
		.header-navigation .header_button a:hover,
		.header-navigation .header_button a.active,
		.header-navigation li.current-menu-item.header_button a {
			background: var(--secondary-color)!important;
			color: var(--accent-color)!important;
		}
		.header-navigation .header_button a:hover *,
		.header-navigation .header_button a.active *,
		.header-navigation li.current-menu-item.header_button a * {
			color: var(--accent-color)!important;
		}

	/* =============== GENERAL BUTTONS =============== */
		.rg-gen-btn a.fl-button {
			height: 40px;
			display: flex!important;
			flex-direction: row;
			flex-wrap: nowrap;
			align-content: center;
			align-items: center;
			justify-content: center;
		}
		.rg-gen-btn.justify-start a.fl-button {
			justify-content: flex-start;
		}
		.rg-gen-btn.center a.fl-button {
			margin: auto;
		}

	/* =============== FORM BUTTONS =============== */
		.ff-btn.ff-btn-submit, .rg-gen-btn.form_button {
			min-width: 200px;
			opacity: 1!important;
			/* color: var(--white-color)!important; */
		}
		.ff-btn.ff-btn-submit:hover, .rg-gen-btn.form_button:hover {
			/* background: var(--secondary-color)!important; */
			opacity: 1;
		}

/* =============== PROJECT GALLERY =============== */
	ul#menu-project-gallery-tabs{
		text-align: center;
	}
	li.rg_projects {
		cursor: pointer;
	}
	li.rg_projects a {
		color: #010101;
		pointer-events: none;
		border-bottom: 2px solid #ffffff;
	}
	li.rg_projects.selected a, li.rg_projects:hover a {
		color: var(--accent-color)!important;
		border-bottom-color: var(--accent-color)!important;
	}
	.rg_projects_gallery {
		display: flex!important;
		flex-direction: row;
		flex-wrap: wrap;
		align-content: center;
		justify-content: center;
		align-items: center;
	}
	.rg_projects_gallery a.rg_project_content.active {
		display: block;
	}
	.rg_projects_gallery a {
		position: relative;
		display: none;
		height: 350px;
		width: 30%;
		margin: 5px;
		overflow: hidden;
	}
	.rg_projects_gallery a span {
		width: 100%;
		position: absolute;
		z-index: 2;
		left: 0;
		right: 0;
		bottom: 0;
		text-align: center;
		background: rgb(0 0 0 / 50%);
		padding: 10px;
		color: #fff!important;
		font-weight: 800;
		text-transform: uppercase;
		border-top: 2px solid var(--accent-color);
	}
	.rg_projects_gallery a img {
		object-fit: cover;
		width: 100%;
		height: 100%;
		z-index: 1;
		position: relative;
		transition: ease all .5s;
	}
	.rg_projects_gallery a img:hover {
		transform: scale(1.2);
		transition: ease all .5s;
	}

/* =============== FOOTER =============== */

.footer_section #menu-footer-need-help-contacts li a {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: flex-start;
	align-items: center;
	line-height: 1.2;
}
.footer_section #menu-footer-need-help-contacts li a i {
	margin-right: 15px;
}
.footer_section .socials .fl-icon a {
	width: 40px;
	height: 40px;
	border: 1px solid #ffffff;
	border-radius: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: center;
	align-items: center;
	margin: 2px 5px;
}
.copyright_section .fl-icon {
	margin-top: 0;
	margin-bottom: 0;
}
.copyright_section .copyright_text,
.copyright_section .copyright_socials {
	height: 40px;
}

/* =============== SINGLE PAGE: SERVICES =============== */
.single-services .rg-single-header {
	min-height: 200px;
	display: flex;
	width: 100%;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: center;
	align-items: center;
	background: red;
	color: #ffffff;
	background-image: url(http://staging-lrodpavingengineering.kinsta.cloud/wp-content/uploads/2022/01/banner-small.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: scroll;
    background-size: cover;
    position: relative;
}
.single-services .rg-single-header * {
	color: #ffffff;
	z-index: 2;
}
.single-services .rg-single-header h1 {
	z-index: 2;
}
.single-services .rg-single-header .rg-backdrop {
	background: #000000;
	opacity: 0.5;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 1;
}
.single-services .navigation.post-navigation {
	display: none!important;
}
.single-services .rg-service-page-description {
	padding: 20px 0;
}
/* custom border */
.border-1px-left {
	border-left: 1px solid #ffffff;
}
.border-4px-right {
	border-right: 4px solid #ffffff;
}
/* fix astra container */
.site-content .ast-container {
	display: block !important;
}

/* Submenu */
@media screen and (min-width: 870px) {
	.sub-menu-columns ul.sub-menu li {
		display: inline-block !important;
		float: left !important;
		width: 225px !important;
	}
	.sub-menu-columns ul.sub-menu li:nth-child(odd) {
		float: left !important;
		/* margin-right: 10px !important; */
	}
	.sub-menu-columns ul.sub-menu li:nth-child(even) {
		float: right !important;
	}
	.sub-menu {
		width: 450px !important;
	}
}

/* Submenu */
.sub-menu{
	box-shadow: 0px 16px 26px 14px rgba(0, 0, 0, 0.08);
	border-radius: 10px;
	background-color: #FFFFFF;
	top: 101% !important;
}
nav ul ul:before {
	position: absolute;
	top: -9px;
	left:20px;
	display: inline-block;
	border-right: 9px solid transparent;
	border-bottom: 9px solid #FFFFFF;
	border-left: 9px solid transparent;
	content: '';
}

/******** MISC *********/

.grecaptcha-badge { 
    visibility: hidden;
}

.recaptcha-terms {
    color: #6b6b6b;
    font-size: 0.5em;
}