/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/*=========================================
---------------- GENERAL ----------------*/

.customize-partial-edit-shortcut button,
.widget .customize-partial-edit-shortcut button {
	display: none;
}

html,
body {
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-smoothing: antialiased;
}

input[type="text"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="number"]:not(.qty),
input[type="date"],
input[type="range"],
input[type="password"],
select,
textarea {
	/*width: 100%;*/
	max-width: 100%;
	min-height: 20px;
	margin: 0;
	padding: 10px 10px !important;
	line-height: 20px;
	border: 1px solid #000000;
	background-color: #ffffff;
	color: #000000;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

::-webkit-input-placeholder {
	color: grey;
	text-transform: inherit;
}
::-moz-placeholder {
	color: grey;
	text-transform: inherit;
}
:-ms-input-placeholder {
	color: grey;
	text-transform: inherit;
}
:-moz-placeholder {
	color: grey;
	text-transform: inherit;
}

p:empty {
    display: none;
}

a {
	text-decoration: none;
}

ol, ul {
	margin: 0 0 15px 30px;
}

b, strong {
	font-weight: 600;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"],
a.button,
a.vc_btn3,
a.wp-block-button__link:not(.has-background) {
	text-transform: uppercase;
	padding: 0.7em 2em;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

/*=========================================
---------- PRE DEFINED CLASSES ----------*/

.custom-white-text,
.custom-white-text * {
	color: #ffffff;
}

.custom-bold-text,
.custom-bold-text * {
	font-weight: 500;
}

.custom-align-right {
	text-align: right;
}

.custom-box-shadow {
	-webkit-box-shadow: 0px 0px 30px -10px rgba(0,0,0,0.5);
	-moz-box-shadow: 0px 0px 30px -10px rgba(0,0,0,0.5);
	box-shadow: 0px 0px 30px -10px rgba(0,0,0,0.5);
}

.custom-no-highlight {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.custom-transition {
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-ms-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
}

/*=========================================
-------------- LANDING PAGE -------------*/

.landing-tag {
    opacity: 0.5;
    font-size: 14px;
}

.landing-tag span {
    padding: 0 20px;
}

/*=========================================
---------------- HEADER -----------------*/

.main-navigation .main-nav ul li.phone-btn a {
	color: #ffffff;
	text-transform: uppercase;
	font-weight: bold;
    background-color: var(--contrast);
	padding: 0 2em;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

.main-navigation .main-nav ul li.phone-btn:hover a {
	color: #000000;
    background-color: var(--accent);
}

.main-navigation .main-nav .lang-switcher a {
	font-weight: 600;
}

.main-navigation .main-nav .lang-switcher ul.sub-menu {
	width: auto;
}

.main-navigation .main-nav ul li.cfp-btn {
	margin-left: 10px;
}

.main-navigation .main-nav ul li.cfp-btn > ul {
	width: 100%;
}

.main-navigation .main-nav ul li.cfp-btn > a {
	font-size: 12px;
	padding: 1em 0 1em 1.5em;
	line-height: 1em;
	color: #ffffff;
	background-color: var(--contrast-3);
}

.main-navigation .main-nav ul li.cfp-btn.current-menu-parent > a,
.main-navigation .main-nav ul li.cfp-btn.current-menu-item > a {
	color: #ffffff;
	background-color: var(--accent);
}

.main-navigation .main-nav ul li.cfp-btn:hover > a,
.main-navigation .main-nav ul li.cfp-btn:focus > a {
	color: #ffffff;
	background-color: var(--accent);
}

.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	font-weight: 600;
}

.main-navigation .main-nav .menu-item-has-children .dropdown-menu-toggle {
	margin-right: 0;
}

.main-navigation .main-nav ul ul li a {
	padding: 5px 20px;
}

.main-navigation .main-nav ul ul li:first-child a {
	padding-top: 15px;
}

.main-navigation .main-nav ul ul li:last-child a {
	padding-bottom: 15px;
}

.main-navigation .main-nav > ul {
	justify-content: flex-end;
}

.main-navigation .main-nav > ul {
	justify-content: flex-end;
}

.main-navigation ul ul {
	display: block;
	box-shadow: 0px 5px 10px 0px rgba(0,0,0,.1);
	float: left;
	position: absolute;
	left: -99999px;
	opacity: 0;
	z-index: 99999;
	width: 200px;
	text-align: left;
	top: auto;
	transition: opacity 80ms linear;
	transition-delay: 0s;
	pointer-events: none;
	height: 0;
	overflow: hidden;
}

/*=========================================
----------------- BODY ------------------*/

.hero-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0 auto;
    box-sizing: border-box;
}

.hero-columns .left-column {
    flex: 1;
    min-width: 300px;
    padding: 20px;
}


.hero-columns .right-column {
    flex: 1;
    min-width: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-columns .form-container {
    background: white;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 400px;
}

section.custom-dark-gradient:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0,0,0);
    background: -moz-linear-gradient(140deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.1) 100%);
    background: -webkit-linear-gradient(140deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.1) 100%);
    background: linear-gradient(140deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1);
}


table.stats-table,
table.stats-table td,
table.stats-table th {
    border: 0;
}

table.stats-table {
    width: 100%;
    margin-bottom: 0;
}

table.stats-table td {
    padding: 10px;
}

table.stats-table tr td.stat {
    font-size: 48px;
    font-weight: 700;
    color: #ffffff;
}

table.stats-table tr td.label {
    font-size: 18px;
    line-height: 1.3em;
    font-weight: 700;
}

footer.entry-meta {
	margin: 60px 0 0 0;
	padding: 60px 0 0 0;
	border-top: 1px solid #ffffff;
}

/*=========================================
---------------- PLUGINS ----------------*/

/*========= GRAVITY FORMS =========*/

body .gform_wrapper.gravity-theme .gfield_checkbox label,
body .gform_wrapper.gravity-theme .gfield_radio label {
    font-size: 12px;
    padding-left: 5px;
}

body .gform_required_legend {
	display: none;
}

body .gform_wrapper.gravity-theme .gfield_validation_message,
body .gform_wrapper.gravity-theme .validation_message,
body .gform_wrapper.gravity-theme .gform_validation_errors {
    border-radius: 0;
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 12px;
    line-height: 1.5em;
    font-weight: 500;
    box-shadow: none;
    color: #ffffff;
    background-color: #c02b0a;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

body .gform_wrapper.gravity-theme .gform_validation_errors * {
    font-size: 12px;
    line-height: 1.5em;
    color: #ffffff;
    background-color: #c02b0a;
}

body .gform_wrapper.gravity-theme .gfield_label {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 10px;
}

body .gform_wrapper.gravity-theme .gform_footer,
body .gform_wrapper.gravity-theme .gform_page_footer {
    margin: 0;
    padding: 10px 0 0 0;
}

body .gform_wrapper.gravity-theme .gform_footer button,
body .gform_wrapper.gravity-theme .gform_footer input,
body .gform_wrapper.gravity-theme .gform_page_footer button,
body .gform_wrapper.gravity-theme .gform_page_footer input {
	margin-bottom: 0;
}

/*========= REVSLIDER =========*/

.rs-p-wp-fix {
	margin: 0 !important;
}

/*========= WP BAKERY =========*/

/*#content .vc_column_container>.vc_column-inner {
    padding-left: 0;
    padding-right: 0;
}

#content .vc_row.wpb_row.vc_inner.vc_row-fluid {
	margin-left: 0;
	margin-right: 0;
}*/

/*#content .vc_section {
	padding-left: 0;
	padding-right: 0;
	margin-left: 0;
	margin-right: 0;
}

#content .vc_row {
    margin-left: -15px;
    margin-right: -15px;
}

#content .vc_section[data-vc-full-width] > .vc_row {
    margin-left: 0;
    margin-right: 0;
}

#content .vc_row[data-vc-full-width] .vc_column_container > .vc_column-inner > .wpb_wrapper {
	margin-left: 0;
	margin-right: 0;
}

#content .vc_tta-container {
	margin-bottom: 0;
}*/

#content .vc_do_toggle {
    background-color: var(--accent);
    padding: 30px;
    border-radius: 5px;
}

#content .vc_toggle_content {
	margin-bottom: 0;
}

#content .vc_toggle_content p {
	margin-bottom: 0;
}

#content .vc_row-has-fill > .vc_column_container > .vc_column-inner,
#content .vc_row-has-fill + .vc_row > .vc_column_container > .vc_column-inner,
#content .vc_row-has-fill + .vc_row-full-width + .vc_row > .vc_column_container > .vc_column-inner,
#content .vc_col-has-fill > .vc_column-inner {
	padding-top: 0;
}

#content .vc_section.vc_section-has-fill,
#content .vc_section.vc_section-has-fill+.vc_row-full-width+.vc_section,
#content .vc_section.vc_section-has-fill+.vc_section {
	padding-top: 0;
}

#content .wpb_button,
#content .wpb_content_element,
#content ul.wpb_thumbnails-fluid>li {
	margin-bottom: 0;
}

#content .wpb_gmaps_widget .wpb_wrapper {
	padding: 0;
	background: transparent;
}

/*=========================================
---------------- SIDEBAR ----------------*/

.widget-area .widget {
    padding: 30px;
}

.widget ul li {
    padding: 0;
    margin: 0;
}

.widget ul li a:hover,
.widget ul li.current_page_item a {
	color: #ffffff;
	text-decoration: underline;
}

.widget ul li ul {
    padding: 0;
    margin: 0;
}

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

.pagination {
	margin: 60px 0 0 0;
	text-align: center;
	font-size: 14px;
}

.pagination > * {
	display: inline-block;
	min-width: 30px;
	margin: 5px;
	padding: 5px;
}

.pagination :not(.current) {
	font-weight: 600;
}

.pagination .current {
	border-bottom: 1px solid;
}

.inside-site-info {
    justify-content: flex-start;
}

.site-info a {
    font-size: 20px;
    padding: 5px 10px;
}

/*=========================================
----------- RESPONSIVE SIZES ------------*/

@media screen and (min-width: 1025px) {

	/*========= DESKTOP ONLY =========*/

	.wpb_column.custom-agent:last-child {
		position: relative;
		right: 0;
		margin-left: -50px;
		margin-right: -50vw;
		width: 50vw;
	}
	.wpb_column.custom-agent .vc_column-inner {
		background-position: left bottom !important;
	}

	.custom-max-width.a-center {
		float: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.custom-max-width.a-right {
		margin-left: auto !important;
		margin-right: 0 !important;
	}
	.custom-max-width.w-100 {
		max-width: 100px;
	}
	.custom-max-width.w-200 {
		max-width: 200px;
	}
	.custom-max-width.w-300 {
		max-width: 300px;
	}
	.custom-max-width.w-400 {
		max-width: 400px;
	}
	.custom-max-width.w-400 {
		max-width: 400px;
	}
	.custom-max-width.w-500 {
		max-width: 500px;
	}
	.custom-max-width.w-600 {
		max-width: 600px;
	}
	.custom-max-width.w-700 {
		max-width: 700px;
	}
	.custom-max-width.w-800 {
		max-width: 800px;
	}
	.custom-max-width.w-900 {
		max-width: 900px;
	}
	.custom-max-width.w-1000 {
		max-width: 1000px;
	}
}

@media (min-width: 769px) and (max-width: 1024px) {

	/*========= LAPTOP ONLY =========*/

	.wpb_column.custom-agent:last-child {
		position: relative;
		right: 0;
		margin-left: -50px;
		margin-right: -50vw;
		width: 50vw;
	}
	.wpb_column.custom-agent .vc_column-inner {
		background-position: left bottom !important;
	}

	.custom-max-width.a-center {
		float: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.custom-max-width.a-right {
		margin-left: auto !important;
		margin-right: 0 !important;
	}
	.custom-max-width.w-100 {
		max-width: 100px;
	}
	.custom-max-width.w-200 {
		max-width: 200px;
	}
	.custom-max-width.w-300 {
		max-width: 300px;
	}
	.custom-max-width.w-400 {
		max-width: 400px;
	}
	.custom-max-width.w-400 {
		max-width: 400px;
	}
	.custom-max-width.w-500 {
		max-width: 500px;
	}
	.custom-max-width.w-600 {
		max-width: 600px;
	}
	.custom-max-width.w-700 {
		max-width: 700px;
	}
	.custom-max-width.w-800 {
		max-width: 800px;
	}
	.custom-max-width.w-900 {
		max-width: 900px;
	}
	.custom-max-width.w-1000 {
		max-width: 1000px;
	}


}

@media (min-width: 481px) and (max-width: 1024px) {

	/*========= LAPTOP & TABLET =========*/

}

@media screen and (max-width: 768px) {

	/*========= TABLET & MOBILE =========*/

	.inside-header {
	    flex-direction: initial;
	}

	.landing-tag {
		display: none;
	}

	#content .vc_btn3-container.vc_btn3-right {
	    text-align: left;
	}

	#content .vc_row[data-vc-full-width] .vc_column_container > .vc_column-inner > .wpb_wrapper {
		margin-left: 0;
		margin-right: 0;
	}

	.custom-list li {
		text-align: left;
	}

}

@media screen and (max-width: 480px) {

	/*========= MOBILE ONLY =========*/

	button,
	html input[type="button"],
	input[type="reset"],
	input[type="submit"],
	a.button,
	a.wp-block-button__link:not(.has-background) {
		padding: 0.7em 1em;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
	}

	.vc_empty_space {
		max-height: 50px;
	}

}