/*** RESET ***/
:root{
	--redColor: #ff2e70;
	--yellowColor: #ffc600;
	--purpleColor: #9366dd;
	--greenColor: #89f262;
	--blueColor: #809CB1;
	--blueColor500: #648096;
	--gray100: #fff8ed;
	--gray200: #F1E9DC;
	--gray400: #CBBCA6;
	--gray450: #474754;
	--gray500: #33333D;
	--gray600: #5F574B;
	--primaryFont: 'Goudy Old Style';
	--swiper-pagination-color:var(--gray400);
	--swiper-pagination-bullet-inactive-color: #FFF;
	--swiper-pagination-bullet-size:15px;
	--swiper-pagination-bullet-inactive-opacity:1;
}

html,body{
	margin:0;
	padding:0;
	font-size:16px;
	line-height:100%;
}

body{
	line-height: 100%;
	font-family: var(--primaryFont);
	color: var(--gray500);
	background: var(--gray200);
}

*{
	box-sizing: border-box;
}
h1,
h2,
h3,
h4,
h5{
	width:100%;
	display: inline-block;
	margin: 0 0 10px 0;
	line-height: 100%;
}
p{
	display: inline-block;
	width: 100%;
	font-size: 24px;
	margin: 0 0 20px 0;
	line-height: 120%;
}
ul, ol{
	font-size: 24px;
	line-height: 120%;
	margin: 0 0 20px 0;
}
p:last-child,
ul:last-child,
ol:last-child{
	margin-bottom: 0;
}
img{
	max-width: 100%;
	height: auto;
	border:none;
	outline:none;
}
a{
	color: currentColor;
}
a, a:hover{
	text-decoration:none
}
.svg_icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	height: 1em;
}
input,
select,
textarea,
button{
	font-family: var(--primaryFont);
	outline: none;
}
::-webkit-scrollbar {
	width: 5px;
}
::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, 0.1);
}
::-webkit-scrollbar-thumb {
	background: rgba(0, 0, 0, 0.2);
}

/*** MISC ***/
#page_wrapper{
	padding-top: 150px;
}
.container{
	max-width: 1150px;
}
.button{
	--btnColor: var(--blueColor);
	--btnColorHover: var(--blueColor500);
	--btnTextColor: var(--gray200);
	display: inline-block;
	position: relative;
	background: var(--btnColor);
	color: var(--btnTextColor);
	border: none;
	cursor: pointer;
	font-size: 24px;
	padding: 15px 20px;
	border-radius: 15px;
	line-height: 20px;
	text-align: center;
	transition: all 0.5s;
}
.button:hover{
	background: var(--btnColorHover);
}
.button.ghost_button{
	background: none;
	border:1px solid var(--btnColor);
	color: var(--btnColor);
}
.button.ghost_button:hover{
	background: var(--btnColor);
	color: var(--btnTextColor);
}
.cream_button{
	--btnColor: var(--gray200);
	--btnColorHover: var(--gray400);
	--btnTextColor: var(--gray500);
}
.dark_button{
	--btnColor: var(--gray500);
	--btnColorHover: var(--gray450);
	--btnTextColor: var(--gray200);
}
.dark_button:hover{
	
}
.arrow_button{
	padding-right: 40px;
}
.arrow_button::after{
	content: '';
	position: absolute;
	top: 50%;
	right: 7px;
	width: 24px;
	height: 24px;
	background-image: url(../images/arrow-right.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transform: translateY(-50%);
	transition: all 0.3s;
}
.arrow_button:hover::after{
	right: 2px;
	background-image: url(../images/arrow-right-cream.svg);
}
.dark_button.arrow_button::after{
	right: 10px;
	background-image: url(../images/arrow-right-cream.svg);
}
.section_title{
	font-size: 36px;
	color: currentColor;
	margin-bottom: 10px;
	font-weight: 400;
}
.section_title strong{
	color: var(--blueColor);
}
.section_subtitle{
	font-size: 20px;
	color: var(--blueColor);
	font-weight: normal;
}
.border_image{
	z-index: 2;
}
.border_image::before{
	content: '';
	position: absolute;
	top: 20px;
	left: 20px;
	width: 100%;
	height: 100%;
	border-radius: 15px;
	border: 2px solid var(--gray200);
	z-index: -1;
}
.image_content_section .border_image::before{
	left: -20px;
}
.border_image img{
	border-radius: 15px;
}
.section_divider_section,
.section_divider_section img{
	float:left;
}

/*** WORDPRESS BLOCKS ***/
.dark_spacer{
	background: var(--gray500);
}

/*** GRAVITY FORMS ***/
.gform_description:empty{
	display: none;
}

/*** HEADER ***/
#header{
	position: fixed;
	top:0;
	left:0;
	color: var(--gray200);
	background: var(--gray500);
	transition: all 0.5s;
	z-index: 99;
}
.admin-bar #header{
	top:32px;
}
.float_active #header{
	box-shadow: 0 8px 8px -8px rgba(0, 0, 0, 0.2)
}
#header_main{
	height: 150px;
}
#header_logo{
	display: inline-block;
	width:228px;
	max-width: 100%;
}

/*** HEADER MENU ***/
#header_menu{
	font-size: 24px;
    gap: 30px;
    padding-top: 10px;
	margin:0;
	list-style: none;
}
#header_menu::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 90%;
	height: 1px;
	background: var(--gray200);
}
#header_menu > *{
	position:relative;
}
#header_menu .sub-menu{
	position: absolute;
    display: flex;
    flex-direction: column;
    gap: 15px;
    bottom: -60px;
    left: 50%;
    width: 220px;
    padding: 20px;
    background: var(--gray500);
    border: 2px solid var(--gray200);
    border-radius: 9px;
    text-align: center;
    font-size: 20px;
    z-index: 2;
    list-style: none;
    transform: translateY(100%) translateX(-50%);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
}
#header_menu li:hover .sub-menu{
	bottom:-30px;
	opacity:1;
	visibility:visible;
}
#header_menu .sub-menu::before{
	content: '';
    position: absolute;
    top: -36px;
    left: 50%;
    width: 100px;
    height: 50px;
    background-image: url(../images/submenu_decoration.svg);
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 9;
    transform: translateX(-50%);
    clip-path: inset(0 0 14px 0);
}
#header_phone{
	font-size: 20px;
	height: 50px;
}
#header_menu .button{
	padding: 15px 10px;
}

/*** MOBILE MENU ***/
#menu_trigger{
	position: relative;
	display: inline-block;
	width: 25px;
	height: 16px;
	cursor: pointer;
}
#menu_trigger::after{
	content: '';
	position: absolute;
	top:calc(50% - 1px);
	left: 0;
	width: 100%;
	height: 2px;
	background:currentColor;
	transition:all 0.5s;
}
.menu_open #menu_trigger::after{
	transform: translateX(100%);
	opacity: 0;
}
#menu_trigger i{
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
}
#menu_trigger i::before{
	content: '';
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 2px;
	background:currentColor;
	transition:all 0.5s;
}
.menu_open #menu_trigger i::before{
	transform: translate(0px, 5px) rotate(45deg);
}
#menu_trigger i::after{
	content: '';
	position: absolute;
	bottom:0;
	left: 0;
	width: 100%;
	height: 2px;
	background:currentColor;
	transition:all 0.5s;
}
.menu_open #menu_trigger i::after{
	transform: translate(0px, -8px) rotate(-45deg);
}
#mobile_menu_wrapper{
	position: fixed;
	top: 120px;
	left: 0;
	width: 100%;
	height: calc(100vh - 120px);
	background: var(--gray450);
	visibility: hidden;
	opacity: 0;
	z-index: 99;
	transition: all 0.5s;
}
.menu_open #mobile_menu_wrapper{
	visibility: visible;
	opacity: 1;
}
#mobile_menu{
	position: absolute;
    top: 50%;
    left: 50%;
    padding: 0 30px;
    margin: 0;
    list-style: none;
    color: var(--gray200);
    font-size: 30px;
    line-height: 100%;
    gap: 30px;
    transform: translate(-50%, -50%);
}
#mobile_menu li{
	position:relative;
}
#mobile_menu .sub-menu{
	position: relative;
    display: none;
    padding: 10px;
    margin-top: 20px;
    background: var(--gray500);
    border: 2px solid var(--gray200);
    border-radius: 9px;
    text-align: center;
    font-size: 20px;
    list-style: none;
}
#mobile_menu .sub-menu li{
	display:block;
	width:100%;
	padding:5px 0;
}

#mobile_menu .button {
    font-size: 30px;
}
.caret_icon{
	display: inline-block;
    position: relative;
    top: 2px;
    margin-left: 5px;
    margin-right: -25px;
    width: 20px;
    height: 20px;
    background-image: url(../images/down-arrow.svg);
    background-size: 17px;
    background-position: center;
    background-repeat: no-repeat;
	transition:all 0.3s;
}
.open .caret_icon{
	transform:rotate(180deg);
}

/*** FOOTER ***/
#footer{
	background: var(--gray500);
	color: var(--gray200);
}
#footer_main{
	padding: 50px 0;
}
#footer_logo img{
	width: 220px;
}
.footer_widget ul{
	padding: 0;
    display: flex;
    flex-direction: column;
    list-style: none;
    gap: 10px;
	font-size: 20px;
}
.footer_widget p{
	font-size: 20px;
	line-height: 160%;
}
.widget_title,
.footer_widget .wp-block-heading{
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 20px;
}
#footer_bottom_bar {
    font-size: 18px;
	padding: 20px 0;
	border-top: 3px solid #FFF;
}
#footer_menu > *{
	position: relative;
	display: inline-block;
}
#footer_menu > *:not(:last-child)::after{
	content: '|';
	position: absolute;
	right: -14px;
}
#social_icons > *{
	width: 30px;
	height: 30px;
	font-size: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s;
}
#social_icons > *:hover{
	color: var(--blueColor);
}

/*** LANDING SECTION ***/
.landing_section{
	padding: 50px 0 70px;
	background: var(--gray500);
	color: var(--gray200);
}
.landing_section h1{
	font-size: 48px;
	font-weight: lighter;
}

/*** ACCORDION IMAGE SECTION ***/
.accordion_title_text{
	font-size: 30px;
	font-weight: 600;
	line-height: 100%;
}
.image_accordion_section .image_wrapper img{
	border-radius: 15px;
}
.accordion_item{
	z-index: 2;
}
.accordion_item::before{
	content: '';
    position: absolute;
    top: 0;
    left: 15px;
    width: 4px;
    height: calc(100% + 20px);
    background: #f4d4aa;
    border-radius: 3px;
	z-index:-1;
    opacity: 0;
}
.accordion_item.open::before{
	opacity: 1;
}
.accordion_header{
	padding:20px 30px;
	border-radius: 15px;
	cursor: pointer;
}
.accordion_header::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #ddddd5;
	border-radius: 15px;
	opacity: 0;
	z-index: -1;
	transition: all 0.3s;
}
.accordion_header:hover::before{
	opacity: 1;
}
.accordion_content{
	padding:0 30px;
	display: none;
}
.active .accordion_content{
	display: block;
}
.accordion_toggle_icon{
	position: absolute;
	top: calc(50% - 12px);
	right: 20px;
	width: 24px;
	height: 24px;
	background-image: url(../images/chevron-up.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/*** LOGOS GRID ***/
.logos_grid_section{
	padding: 60px 0 20px;
}
.logos_grid_section .lined_title::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	background: var(--gray500);
}
.logos_grid_section .lined_title span{
	position: relative;
	background: var(--gray200);
	padding: 0 25px;
	z-index: 2;
}

/*** Tabs Section ***/
.tabs_section{
	padding: 50px 0;
	background: var(--gray500);
	color: var(--gray200);
}
.tabs_header{
	padding: 25px 0 10px;
    max-width: 100%;
    overflow: auto;
}
.tabs_header::-webkit-scrollbar {
	display:none
}
.tabs_header::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 95%;
	height: 4px;
	background: var(--gray200);
	border-radius: 5px;
}
.regular_tab{
	position: relative;
	font-size: 24px;
	cursor: pointer;
}
.regular_tab::after{
	content: '';
	position: absolute;
	bottom: -8px;
	left: 0;
	width: 90%;
	height: 2px;
	background: var(--gray400);
	transform: scaleX(0);
	transform-origin: 0;
	transition: all 0.3s;
}
.regular_tab.active{
	color:var(--gray400);
}
.regular_tab.active::after{
	transform: scaleX(1);
}
.tab_image img{
	border-radius: 15px;
}
.tab_content{
	display: none;
	color: #FFF;
}
.tab_content:first-child{
	display: block;
}
.tab_content h3{
	font-size: 36px;
}
blockquote{
	position: relative;
	margin: 0;
	padding:15px 30px;
}
blockquote::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background: var(--blueColor);
	border-radius: 5px;
}

/*** BACKGROUND IMAGE BANNER ***/
.background_image_banner_section{
	background: var(--gray500);
	color: var(--gray200);
}
.background_image_banner_section.cream{
	background:var(--gray200)
}
.background_image_banner_section.negative_bottom_margin{
	margin-bottom: -130px;
}
.banner_image{
	--paddingBase: 100px;
	--topPadding: 50;
	--bottomPadding: 50;
	padding: calc(var(--paddingBase) * calc(var(--topPadding) / 100)) 0 calc(var(--paddingBase) * calc( var(--bottomPadding) / 100));
	background-size: cover;
    background-position: center;
    border-radius: 25px;
}
.banner_image h4{
	font-size: 36px;
	font-weight: 700;
	color: #FFF;
}

/*** STEPS SECTION ***/
.steps_section{
	padding: 80px 0 0;
    background-image: url(../images/blue_arch.png);
    background-size: 100% 70%;
    background-repeat: no-repeat;
    color: var(--gray200);
}
.steps_wrapper{
	padding: 40px;
	background: var(--gray500);
	border-radius: 0 50px 50px 50px;
}
.step_index{
	font-size: 48px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}
.step_item h3{
	font-size: 30px;
}

/*** CONTENT IMAGE SECTION ***/
.image_content_section{
	padding: 80px 0;
}
.image_content_section .content_wrapper ul{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.image_content_section .content_wrapper ul li{
	position: relative;
	padding-left: 40px;
}
.image_content_section .content_wrapper ul li::before{
	content: '';
	position: absolute;
	top: calc(50% - 12px);
	left: 0;
	width: 24px;
	height: 24px;
	background-image: url(../images/arrow-right-circle.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.image_content_section .image_wrapper img{
	border-radius: 25px;
	box-shadow: 0px 4px 25px 0px rgba(51, 51, 61, 0.50);
}

/*** TESTIMONIALS ***/
.testimonials_section{
	padding: 50px 0 150px;
    background: var(--gray500);
    color: var(--gray200);
	z-index: 2;
}
.top_arch_decoration{
	width: 100%;
    padding-top: 4%;
    background-image: url(../images/curve_edited.svg);
    background-size: 100% 105%;
    background-repeat: no-repeat;
}
.testimonials_header{
	margin-bottom: 80px;
}
.testimonials_grid{
	column-count: 3;
	column-gap: 20px;
}
.textimonial_item{
	position: relative;
    display: grid;
    grid-template-rows: 1fr auto;
    break-inside: avoid;
	padding:70px 40px 25px 40px;
    background: var(--blueColor);
    border-radius: 35px;
    border: 1px solid var(--gray400);
    margin-bottom: 20px;
	color: #FFF;
}
.textimonial_item::before{
	content: '';
    position: absolute;
    width: 35px;
    height: 35px;
    top: 15px;
    left: 40px;
    background-image: url(../images/quotes.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.textimonial_item p{
	font-size: 16px;
	line-height: 140%;
}
.testimonial_author_image{
	width: 40px;
}
.testimonial_author_image img{
	border-radius: 50%;
}
.author_name{
	font-weight: bold;
}

/*** PAGE LANDING ***/
.page_landing_section{
	padding: 100px 0;
	background-size: cover;
	background-position: center;
	color: var(--gray200);
	overflow: hidden;
}
.with_bottom_decoration{
	padding: 60px 0 135px 0;
}
.page_landing_section .container{
	z-index: 2;
}
.page_landing_section::after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right,  rgba(51,51,61,0.75) 0%,rgba(0,0,0,0) 100%);
}
.bottom_decoration{
	position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding-top: 100px;
	z-index: 2;
}
.bottom_decoration::before{
	content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 135%;
    height: 160%;
    background: var(--gray500);
    border-radius: 50%;
    transform: translateX(-60%) translateY(50%);
}
.bottom_decoration::after{
	content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
	background-image: url(../images/page_landing_bottom_1.png);
	background-size: 100% 95%;
	background-position: center;
	background-repeat: no-repeat;	
}
.page_landing_section h2{
	font-size: 20px;
	font-weight: 400;
	text-transform: uppercase;
}
.page_landing_section h1{
	font-size: 36px;
	font-weight: 400;
}
.page_landing_section h1 strong{
	font-weight: 400;
	color: var(--gray400);
}
.color_pallete_dark{
	background: var(--gray500);
	color: var(--gray200);
}

/*** TEAM GRID ***/
.team_grid_section{
	padding: 50px 0 100px;
}
.team_grid_header hr{
	border: none;
    border-bottom: 1px solid #000;
}
.team_grid_item {
	padding: 40px;
    background: var(--gray500);
    color: #FFF;
    border-radius: 30px;
    padding-top: 125%;
	box-shadow: 0px 4px 25px 0px rgba(51, 51, 61, 0.50);
}
.team_grid_item_content{
	position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    padding: 30px;
    transform: translate(-50%, -50%);
}
.team_grid_item_image{
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    border-radius: 30px;
    opacity: 1;
	z-index: 2;
    transition: all 0.5s;
}
.team_grid_item:hover .team_grid_item_image{
	opacity: 0;
}
.team_grid_item_content h3{
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 2px;
}
.team_grid_item_content h4{
	font-size: 24px;
	font-weight: 700;
}
.team_grid_item_content p {
    font-size: 16px;
    line-height: 180%;
}

/*** CONTACT FORM SECTION ***/
.contact_form_section{
	padding: 50px 0 140px;
	background: var(--blueColor);
	color: var(--gray200);
}
.contact_form_section.color_pallete_dark{
	background: var(--gray500);
}
.contact_form_section.color_pallete_dark .contact_form_wrapper {
    background: var(--blueColor);
}
.contact_form_section .container{
	z-index: 2;
}
.contact_form_wrapper{
	padding: 60px 50px;
	background: var(--gray500);
	border-radius: 25px;
}
.contact_form_wrapper::before{
	content: '';
    position: absolute;
    top: 30px;
    left: -30px;
    width: 100%;
    height: 100%;
    border-radius: 25px;
    border: 2px solid var(--gray200);
    z-index: -1;
}
.form_wrapper .gform_wrapper.gravity-theme input[type=email],
.form_wrapper .gform_wrapper.gravity-theme input[type=month],
.form_wrapper .gform_wrapper.gravity-theme input[type=number],
.form_wrapper .gform_wrapper.gravity-theme input[type=password],
.form_wrapper .gform_wrapper.gravity-theme input[type=search],
.form_wrapper .gform_wrapper.gravity-theme input[type=tel],
.form_wrapper .gform_wrapper.gravity-theme input[type=text]{
	background: none;
	border-width: 0 0 2px 0;
	border-color: var(--gray200);
	font-size: 24px;
	color: var(--gray200);
}
.form_wrapper .gform_wrapper.gravity-theme input[type=email]::placeholder,
.form_wrapper .gform_wrapper.gravity-theme input[type=month]::placeholder,
.form_wrapper .gform_wrapper.gravity-theme input[type=number]::placeholder,
.form_wrapper .gform_wrapper.gravity-theme input[type=password]::placeholder,
.form_wrapper .gform_wrapper.gravity-theme input[type=search]::placeholder,
.form_wrapper .gform_wrapper.gravity-theme input[type=tel]::placeholder,
.form_wrapper .gform_wrapper.gravity-theme input[type=text]::placeholder{
	color: var(--gray200);
}
.form_wrapper .gform_wrapper.gravity-theme .gform_fields {
    grid-column-gap: 6%;
    grid-row-gap: 30px;
}
#field_1_5{
	margin-top:40px;
}
#field_1_5 p{
	font-size: 16px;
}
.form_wrapper .gform_footer {
	position: relative;
	margin: -45px 0 0 0 !important;
    padding: 0 !important;
    justify-content: end;
}
.gform_wrapper.gravity-theme .gform_footer input{
	margin:0 !important
}
.contact_form_testimonial{
	padding: 35px 40px;
    background: var(--gray200);
    color: var(--gray500);
    border-radius: 25px;
}
.form_wrapper .button{
	padding-right: 40px;
}
.form_wrapper .gform_footer::after{
	content: '';
	position: absolute;
    top: 14px;
	right: 9px;
	width: 24px;
	height: 24px;
	background-image: url(../images/arrow-right-cream.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.contact_form_section.color_pallete_dark .form_wrapper .button{
	--btnColor: var(--gray500);
}

/*** ADDRESS SECTION ***/
.address_section{
	padding: 80px 0;
	background: var(--blueColor);
	color: var(--gray200);
}
.address_section .container{
	z-index: 2;
}
.content_box{
	padding: 45px 35px;
    background: var(--gray500);
    border-radius: 25px;
}
.content_box::before{
	content: '';
    position: absolute;
    top: 20px;
    left: -20px;
    width: 100%;
    height: 100%;
    border-radius: 25px;
    border: 2px solid var(--gray200);
    z-index: -1;
}
.content_box h4{
	font-size: 24px;
	font-weight: normal;
	margin-bottom: 20px;
}
.address_wrapper i{
	display: inline-block;
	width: 24px;
	height: 24px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	margin-bottom: 5px;
}
.address_wrapper .location_icon{
	background-image: url(../images/map-pin.svg);
}
.address_wrapper .phone_icon{
	background-image: url(../images/phone-call.svg);
}
.address_wrapper .email_icon{
	background-image: url(../images/mail.svg);
}

/*** MAP SECTION ***/
.map_wrapper{
	padding-top: 30%;
}
.map_wrapper iframe{
	position: absolute;
	top: 0;
	height: 100%;
	left: 0;
	width: 100%;
}

/*** CENTERED TEXT SECTION ***/
.centered_text_section{
	background: var(--gray500);
    color: var(--gray200);
    padding: 50px 0 80px;
}
.centered_text_section.color_pallete_cream{
	background: var(--creamColor);
    color: var(--gray500);
}

/*** SERVICE ITEM SECTION ***/
.service_item_section{
	padding: 0 0 80px;
}
.service_item_section .border_image::before {
	border-color: var(--blueColor);
	top: 20px;
	left: -20px;
	height: calc(100% - 40px);
}

/*** WHY CHOOSE US SECTION ***/
.why_choose_us_section{
	padding:110px 0 80px;
	background: var(--gray500);
	color: var(--gray200);
}
.cream_box{
	background: var(--gray200);
	color: var(--gray500);
	padding: 15px 35px;
	border-radius: 25px 25px 0 25px;
}
.cream_box:nth-child(even){
	border-radius: 25px 25px 25px 0;
}
.cream_box h3{
	font-size: 24px;
	font-weight: 700;
}
.cream_box p{
	font-size: 18px;
}
.image_info{
	position: absolute;
    bottom: 0;
    right: 0;
    width: 50%;
    padding: 25px 15px;
    background: var(--gray200);
    color: var(--gray500);
    border-radius: 25px 0 25px 0;
}
.image_info p{
	font-size: 18px;
}
.image_info p:not(:last-child){
	margin-bottom: 15px;
}
.why_choose_us_section .image_wrapper{
	padding-top:145%;
	background-position: center;
	background-size: cover;
	border-radius: 25px ;
}
.image_info i{
	display: inline-block;
    width: 24px;
    height: 24px;
	background-image: url(../images/phone-outgoing.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.why_choose_us_section .section_subtitle {
	color: var(--gray200);
    font-size: 24px;
	margin-bottom: 20px;
}
.why_choose_us_section .section_title {
	margin-bottom: 25px;
	line-height: 130%;
}

/*** SERVICE INTRO ***/
.service_intro_section{
	padding: 40px 0;
	background: var(--gray500);
	color: var(--gray200);
}
.gallery_wrapper{
	padding-top:85%;
}
.gallery_wrapper::before{
	content: '';
    position: absolute;
    bottom: 40px;
    right: 0;
    width: 180px;
    height: 60px;
    background-image: url(../images/gallery_waves.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.gallery_item {
	position: absolute;
	border-radius: 25px;
	background-position: center;
	background-size: cover;
}
.gallery_item_1 {
	top: 0;
    left: 0;
    width: 60%;
    padding-top: 30%;
}
.gallery_item_2 {
	top: 0;
    right: 0;
    width: 35%;
    padding-top: 55%;
    z-index: 3;
}
.gallery_item_3 {
	bottom: 0;
    left: 50%;
    width: 65%;
    padding-top: 48%;
    transform: translateX(-50%);
	z-index: 2;
}
.top_decorated{
	position: relative;
	margin-top: 27px;
}
.top_decorated::before{
	content:'';
	position: absolute;
	top: -25px;
	left: 0;
	width:175px;
	height: 4px;
	border-radius: 5px;
	background: linear-gradient(to right,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
}
.top_decorated.blue::before{
	background: linear-gradient(to right,  rgba(128,156,177,1) 0%,rgba(255,255,255,0) 100%);
}

/*** BLUE CENTERED TEXT ***/
.blue_centered_text_section{
	padding: 90px 0 10px;
	background: var(--blueColor);
	color: var(--gray200);
}

/*** BENEFITS SECTION ***/
.benefits_section{
	padding: 80px 0 100px;
}
.benefit_box{
	padding: 25px;
	border-radius: 25px;
	background: var(--gray450);
	color: var(--gray200);
	box-shadow: 0px 10px 10px 0px rgba(51, 51, 61, 0.15);
}
.benefit_title{
	font-size: 27px;
	font-weight: 700;
}
.benefit_box p{
	font-size: 18px;
	font-weight: 400;
}
.col:nth-child(2) .benefit_box,
.col:nth-child(3) .benefit_box {
	background: var(--gray600);
}
.col:nth-child(2) .benefit_box,
.col:nth-child(4) .benefit_box{
	transform: translateY(50px);
}
.benefits_descriptions .top_decorated::before{
	left: initial;
	right: 0;
}

/*** Service Carousel ***/
.service_carousel_section{
	background: var(--gray100);
    padding: 200px 0;
}
.service_carousel_wrapper {
	position: absolute;
	width: calc(52% + (100vw - 100%) / 2);
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.service_carousel .swiper-slide{
	padding: 10px;
}
.service_carousel_item {
	padding-top: 120%;
    max-height: 450px;
    background-size: cover;
    background-position: center;
    border-radius: 25px;
    box-shadow: 0px 4px 10px 0px rgba(51, 51, 61, 0.15);
}
.service_carousel_item::after{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
    border-radius: 25px;
	background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(51,51,61,0.85) 100%);
}
.service_carousel_item h3{
	position: absolute;
    bottom: 0;
    left: 0;
    padding: 30px 20px;
    color: #FFF;
    font-size: 32px;
    font-weight: 400;
	margin:0;
	z-index:2
}
.service_carousel_navigation{
	position: absolute;
    bottom: 35px;
    left: -65px;
}
.service_carousel_navigation > *{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--gray500);
    background-image: url(../images/chevron-left.svg);
    background-size: 25px;
    background-repeat: no-repeat;
    background-position: center;
	cursor: pointer;
}
.service_carousel_prev{
	transform: scaleX(-1);
}

/*** SERVICE TABS SECTION ***/
.service_tabs_section{
	padding: 90px 0 0;
    background: var(--gray450);
    color: var(--gray200);
}
.service_tabs{
	cursor: pointer;
	border-bottom: 2px solid var(--gray200);
}
.service_tab{
	font-size:32px;
	padding: 10px;
	line-height: 100%;
	color: var(--gray200);
	border-radius: 10px 10px 0 0;
}
.service_tab.active{	
	background:var(--blueColor);
}
.service_tab_content{
	padding: 40px 0;
	display: none;
	color: var(--gray200);
}
.service_tab_content:first-child{
	display: block;
}
.service_content_title{
	font-size: 36px;
	font-weight: 700;
	line-height: 130%;
}
.service_gallery_item{
	padding-top: 85%;
	background-size: cover;
	background-position: center;
	border-radius: 10px;
}

/*** GUARANTEE SECTION ***/
.guarantee_section{
	background: var(--gray450);
	padding-bottom: 40px;
}
.guarantee_box{
	padding: 30px;
	background: var(--gray200);
	color: var(--gray500);
	border-radius: 10px 0px;
}
.guarantee_section h3{
	font-size: 32px;
	font-weight: 700;
}
.guarantee_section .content_wrapper p em{
	font-size: 16px;
	line-height: 100%;
}
.guarantee_subtitle{
	font-size: 16px;
}
.guarantee_list ul{
	display: inline-flex;
	flex-wrap: wrap;
	gap: 30px 80px;
	list-style-type: none;
	padding: 0;
}
.guarantee_list ul li{
	position: relative;
	width: calc(50% - 40px);
}
.guarantee_list ul li::before{
	content:'';
	position: absolute;
	top: calc(50% - 12px);
	left: -40px;
	width: 24px;
	height: 24px;
	background-image: url(../images/check-circle.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/*** CONTENT BOXES GRID SECTION ***/
.content_boxes_grid_section{
	background:var(--gray500);
	color: var(--gray200);
	padding: 50px 0;
}
.box_grid_item {
	padding: 35px 45px;
	background: var(--gray450);
}
.content_boxes_grid .col:nth-child(1) .box_grid_item{
	border-radius: 25px 25px 0 25px;
}
.content_boxes_grid .col:nth-child(2) .box_grid_item{
	border-radius:25px 25px 25px 0;
}
.content_boxes_grid .col:nth-child(3) .box_grid_item{
	border-radius: 25px 0 25px 25px;
}
.content_boxes_grid .col:nth-child(4) .box_grid_item{
	border-radius: 0 25px 25px 25px;
}
.box_grid_item .box_grid_item_subtitle{
	font-size: 20px;
	margin-bottom: 10px;
	font-weight: 400;
}
.box_grid_item .box_grid_item_title{
	font-size: 36px;
	font-weight: 700;
}
.box_grid_item .content_wrapper{
	color: #FFF;
}

/*** STATS SECTION ***/
.stats_section{
	padding: 40px 0;
    background: var(--gray450);
    color: var(--gray200);
}
.stats_box{
	margin-top: 70px;
	padding: 90px 40px;
	border-radius: 0px 50px 50px 50px;
	background: var(--gray500);
	color: #FFF;
}
.stats_box_item_title{
	font-size: 48px;
	font-weight: 400;
	line-height: 100%;
	margin-bottom: 10px;
}
.stats_box_item_subtitle{
	font-size: 30px;
	font-weight: 700;
	line-height: 100%;
}

/*** FAQS SECTION ***/
.faqs_section{
	padding: 80px 0;
}
.faq_item{
	border:2px solid var(--gray400);
	border-radius: 35px;
	cursor: pointer;
	transition: all 0.3s;
}
.faq_item.open,
.faq_item:hover{
	background: var(--gray100);
}
.faq_item_header {
    padding: 15px 55px 15px 20px;
    font-size: 20px;
    line-height: 110%;
}
.faq_item_header i{
	position: absolute;
	display: inline-block;
	top: 50%;
	right: 20px;
	width: 25px;
	height: 25px;
	transform: translateY(-50%);
}
.faq_item_header i::before{
	content: '';
	position: absolute;
	top: 0;
	right: calc(50% - 1px);
	width: 2px;
	height: 25px;
	background: var(--gray500);
}
.faq_item_header i::after{
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	width: 25px;
	height: 2px;	
	background: var(--gray500);
}
.faq_item_content{
	padding: 35px;
	display: none;
}
.faq_item_content p{
	font-size: 20px;
}

/*** CTA SECTION ***/
.cta_section{
	padding: 60px 0;
	background: var(--blueColor);
	color: var(--gray200);
}
.cta_box{
	padding: 90px 40px;
	background: var(--gray500);
	color: var(--gray200);
	border-radius: 0px 50px 50px 50px;
}
.cta_box .section_title{
	margin: 0;
	text-transform: uppercase;
	line-height: 130%;
}
.cta_box .section_title a{
	text-decoration: underline;
}

/*** BLOG PAGE ***/
#blog_page_landing{
    padding: 140px 0;
}
.page_landing_section#blog_page_landing::after{
	background: linear-gradient(90deg, #33333D 16%, rgba(51, 51, 61, 0.25) 60%);
}
.category_tag{
	display: inline-block;
    font-size: 21px;
    font-weight: bold;
    padding: 7px 23px;
    border: 2px solid var(--blueColor);
    border-radius: 99px;
}
.category_tag.current{
	background:var(--blueColor);
	color:var(--gray200);
}

.blog_posts_section{
	padding: 60px 0;
}
.blog_item_image{
	padding-top: 60%;
	background-size: cover;
	background-position: center;
	border-radius: 15px;
}
.blog_item h3{
	font-size: 32px;
	margin-bottom: 20px;
}
.post_meta{
	font-size: 20px;
	margin-bottom: 20px;
}
.post_excerpt p{
	font-size: 20px;
}
.post_content_wrapper{
	padding: 90px 0 0;
}
.post_author_box{
	padding: 60px 0;
}
.author_box{
	padding: 35px 50px;
	background: var(--gray500);
	color: var(--gray200);
	border-radius: 35px;
	color: #FFF;
}
.author_box h3{
	font-size: 20px;
	margin-bottom: 15px;
}
.author_box_image{
	width: 170px;
	height: 170px;
	border-radius: 50%;
}
.author_description{
	font-size: 16px;
}
.author_social > *{
	width: 30px;
	height: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
}
.page_content p{
	font-size: 20px;
}

/*** POST SINGLE ***/
#single_post_landing{
    padding: 40px 0;
	background:#9FB9C1;
	color:var(--gray200);
}
#single_post_landing img{
	max-width:100%;
}
#single_post_landing h1{
	font-size:36px;
	line-height: 100%;
}
.blog_item_date {
    font-size: 20px;
    margin-bottom: 15px;
}
.blog_landing_excerpt {
	font-size:20px;
	line-height:120%;
}
.blog_item_image_wrapper img{
	border-radius:16px;
}
#single_post_content{
	padding:60px 0
}
#single_post_sidebar h3{
	font-size: 20px;
	line-height: 130%;
	text-decoration:underline;
}
.post_author_tag_image img {
    border-radius: 50%;
	width:50px;
}
.post_author_tag_name {
    font-size: 16px;
    font-weight: 700;
}
.post_author_tag_position {
    font-size: 16px;
}
.post_author_bio p{
	font-size: 16px;
    line-height: 130%;
}
.post_author_social_wrapper h4{
	font-size:18px;
	text-decoration:underline;
	margin:0 0 10px 0;
}
.post_author_social{
	color:#436776;
}
.post_author_social > *{
	width:30px;
	height:30px;
	display:flex;
	align-items:center;
	justify-content:center;
}
#table_of_contents_list ul{
	list-style:none;
	padding:0;
	margin:10px 0 0 0;
	font-size:16px;
}
#single_post_review{
	top: 150px;
	border-radius:16px;
	box-shadow: 0 10px 10px rgba(67, 103, 118, 0.25);
}
.single_post_review_image{
	padding-top:50%;
	background-size:cover;
	background-position:center;
	border-radius:16px 16px 0 0;
}
.review_widget_content{
	padding:30px;
	background:var(--gray500);
	color:#FFF;
	border-radius:0 0 16px 16px;
}
.review_widget_content h4{
	font-size: 22px;
    line-height: 120%;
    margin-bottom: 15px;
}
.review_widget_content p{
	color: #FFF;
	font-size:16px;
	line-height:130%;
}
.google_review_ranking span{
	font-style:italic;
}
.google_review_form .gform_wrapper.gravity-theme input[type=email]{
	padding: 0 15px !important;
    text-align: center;
    line-height: 60px !important;
    border-radius: 99px;
	border:none;
}
.google_review_form .gform_wrapper.gravity-theme  .gform_footer{
	margin:20px 0 0 0;
	padding:0;
	justify-content: center;
}
.google_review_form .button{
	width: 75%;
    padding: 15px 0 !important;
    margin: 0 !important;
}
#blog_related_posts{
	padding:60px 0
}

#post_main_content p,
#post_main_content ul{
	font-size:20px;
}
#post_main_content h2{
	font-size:32px;
	margin: 10px 0 20px;
}
#post_main_content h3{
	font-size:24px;
}
#post_main_content a{
	text-decoration:underline;
}
#post_main_content .wp-block-image{
	text-align:center;
	border-radius:16px;
	overflow:hidden;
	margin-bottom:40px;
}
#post_main_content .wp-block-image img{
	display:inline-block;
}
#post_main_content blockquote {
	padding: 15px 0;
	border-width: 3px 0;
	border-style: solid;
	border-color: #436776;
	font-family: Goudy Old Style;
	font-size: 16px;
	font-style: italic;
	font-weight: 700;
	text-align: center;
	margin:20px 0 10px;
}
#post_main_content blockquote p {
    font-size: 17px;
}
#post_main_content blockquote::before{
	display:none;
}

/*** SMALL ARCHIVE BLOG ITEM ***/
.small_blog_item .blog_item_image {
    padding-top: 40%;
}
.blog_item.small_blog_item h3 {
    font-size: 24px;
    margin-bottom: 10px;
}
.blog_item.small_blog_item .post_excerpt p{
	font-size:16px;
}

/*** PAGINATION ***/
.pagination > *{
	width:30px;
	height:30px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:20px;
}
.pagination > .current{
	text-decoration:underline;
}

@media(max-width:992px) {
	#page_wrapper {
		padding-top: 120px;
	}
	
	#header_main {
		height: 120px;
	}
	#header_phone {
		font-size: 14px;
	}
	.landing_section h1 {
		font-size: 30px;
	}
	p {
		font-size: 18px;
	}
	.button {
		font-size: 16px;
	}
	.section_title {
		font-size: 27px;
	}
	.accordion_title_text {
		font-size: 25px;
	}
	.testimonials_grid {
		column-count: 1;
	}
	#footer_text,
	#footer_menu{
		font-size: 14px;
	}
	.bottom_decoration::after {
		background-size: contain;
	}
	.landing_section{
		overflow:hidden;
	}
	.page_landing_section h1 {
		font-size: 30px;
	}
	.page_landing_section h2 {
		font-size: 16px;
	}
	.form_wrapper .gform_footer {
		margin: 0 !important;
	}
	.col:nth-child(2) .benefit_box, .col:nth-child(4) .benefit_box {
		transform: translateY(0);
	}
	.service_carousel_wrapper{
		position: relative;
		width: 100%;
		top: initial;
		margin-top: 40px;
		transform: none;
	}
	.service_carousel_section {
		padding: 80px 0;
	}
	.service_carousel_item h3 {
		font-size: 20px;
	}
	.service_tab {
		font-size: 16px;
	}
	.tab_content h3 {
		font-size: 25px;
	}
	.guarantee_list ul li {
		width: 100%;
	}
	.box_grid_item .box_grid_item_title {
		font-size: 25px;
	}
	.map_wrapper {
		padding-top: 70%;
	}
	
	#single_post_landing h1 {
    	font-size: 28px;
	}
	.blog_item_date {
    	font-size: 16px;
	}
}

