/* Styles */

.site-inner .wrap {
    max-width: 100%;
}

.content .wrap {
    max-width: 1500px;
}

.octane-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.octane-background img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.octane-content {
    position: relative;
    height: 100%;
}

.octane-position {
    position: relative;
}

.title {
    display: block;
    font-family: var(--main-font);
    color: var(--style-main);
    font-size: 36px;
    line-height: 1.2;
}

    .title-sec {
        color: #fff;
    }

/* change to match site */
.link {
    transition: all 0.4s linear;
    display: block;
    width: fit-content;
    background: var(--style-main);
    color: var(--style-sec);
    text-transform: uppercase;
    font-size: 20px;
    padding: 5px 30px;
    margin-top: 28px;
}  

    .link:hover {
        background-color: var(--style-tri);
        color: var(--style-sec);
    }

.it-text ol,
.it-text ul,
.text-area ol,
.text-area ul {
  margin-bottom: 28px;
}

	.it-text ol:last-of-type,
	.it-text ul:last-of-type,
	.text-area ol:last-of-type,
	.text-area ul:last-of-type {
		margin: 0;
	}

.it-text ol > li,
.text-area ol > li {
  list-style-type: decimal;
  list-style-position: inside;
}

.it-text ul > li,
.text-area ul > li {
  list-style-type: disc;
  list-style-position: inside;
}

.it-text ol ol,
.it-text ul ul,
.text-area ol ol,
.text-area ul ul {
  margin-bottom: 0;
}

.it-text a,
.text-area a {
  color: var(--style-main);
}

	.it-text a:hover,
	.text-area a:hover {
	  color: var(--style-tri);
	}

/* Hero */

.hero-flex {
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
}

.form {
	background: rgb(0 0 0 / 50%);
	backdrop-filter: blur(5px);
	width: 600px;
	padding: 20px;
}

.form-title {
    font-family: var(--main-font);
    color: #fff;
    text-transform: uppercase;
    font-size: 36px;
    line-height: 38px;
    margin: 0 0 10px;
}

.form .gform_wrapper {
	margin: -18px 0 0;
}

.form .gform_wrapper .gform_fields {
	grid-row-gap: 10px !important;
}

.form .gform_wrapper input,
.form .gform_wrapper textarea {
    background: #fff;
	border-radius: var(--radius);
    border: 0;
}

.form .gform_wrapper input::placeholder,
.form .gform_wrapper textarea::placeholder {
    color: #333;
}

.form .ginput_container_textarea,
.form .gform_wrapper textarea {
    height: 100px !important;
}

.form .gform_wrapper .gform_footer {
    padding: 0 !important;
    margin: 10px 0 0 !important;
}

.form .gform_wrapper .gform_footer input {
    width: fit-content;
	margin: 0 auto;
    font-family: var(--main-font);
    background: var(--style-main);
    color: #fff;
    font-size: 24px;
    padding: 12px 24px;
}

	.form .gform_wrapper .gform_footer input:hover {
	    background: var(--style-sec);
	    color: #fff;		
	}

.form label, .gfield_label {
	color: #fff;
}

.gfield_description {
	color: #fff;
}

/* Text Area */

.text-area {
	padding: 50px 0;
}

.text-area h1:not(:is(.title)),
.text-area h2:not(:is(.title)),
.text-area h3:not(:is(.title)),
.text-area h4:not(:is(.title)),
.text-area h5:not(:is(.title)) {
    font-family: var(--main-font);
    color: var(--style-main);
    font-size: 27px;
}

	.text-area p:last-child {
		margin: 0;
	}

/* Image and Text */

.image-text-flex {
    width: 100%;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 50px;
}

.it-image {
    width: 40%;
}

    .image-right {
        order: 1;
    }

.it-image img {
    object-fit: cover;
    width: 100%;
    height: 600px;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}

.it-text {
    width: 57%;
}

/* Recent Projects */

.recent-projects {
    text-align: center;
    background: var(--style-main);
    padding: 50px 0;
}

.recent-projects .soliloquy-container .soliloquy-caption .soliloquy-caption-inside {
	background-color: rgba(0, 0, 0, 70%);
	padding: 25px 0px !important;
}

.project-type, 
.location {
    margin-bottom: 0px !important;
	font-size: 20px !important;
	line-height: 20px !important;
}

.project-type a,
.location a {
    color: #fff;
}

.recent-projects .soliloquy-container .soliloquy-prev {
	left: -50px !important;
	background: rgba(0,0,0,0) url('/wp-content/uploads/2020/02/Black-Arrow-Left.png') no-repeat scroll 50% 50% !important;
	background-size: contain !important;
}

.recent-projects .soliloquy-container .soliloquy-next  {
	right: -50px !important;
	background: rgba(0,0,0,0) url('/wp-content/uploads/2020/02/Black-Arrow-Right.png') no-repeat scroll 50% 50% !important;
	background-size: contain !important;
}

/* Service Areas */

.service-areas {
	padding: 50px 0;
}

.services-area-flex {
	position: relative;
	width: 100%;
	display: inline-flex;
	justify-content: flex-start;
	align-items: center;
}

.map {
    width: 70%;
	border-radius: var(--radius);
	overflow: hidden;
}

.map p {
    margin: 0;
}

.map iframe {
	width: 100%;
    height: 700px;
}

.areas-locations {
	background: var(--style-sec);
	position: absolute;
	right: 0;
	width: 40%;
	padding: 30px;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}

.areas-locations .title {
    text-align: center;
    margin: 0 0 40px;
}

.city-list {
	width: 100%;
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 5px 2%;
}

.city-list li {
	flex: 0 0 23%;
}

.city-list li::before {
	content: "\f3c5";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	color: #fff;
}

.city-list span,
.city-list a {
	color: #fff;
}

.city-list a {
	font-weight: bold;
}

/* Testimonials */

.testimonials {
	background: var(--style-main);
	text-align: center;
	padding: 50px 0;
}

.testimonials .title {
	color: var(--style-sec);
	margin: 0 0 40px;
}

/* Responsive Design */



@media (max-width: 1920px) { 

/* Service Areas */
	
	.map {
	    width: 75%;
	}
}

@media (max-width: 1650px) {
  
  .content .wrap {
    max-width: 1400px;
  }  

/* Service Areas */
	
	.map {
	    width: 80%;
	}
	
	.map iframe {
	    height: 660px;
	}	
}

@media (max-width: 1550px) {
  
  .content .wrap {
    max-width: 1300px;
  }  

/* Service Areas */
	
	.map {
	    width: 75%;
	}
	
	.areas-locations {
		width: 45%;
	}		
}

@media (max-width: 1440px) {

    .content .wrap {
        max-width: 1200px;
    }  

/* Service Areas */
	
	.map iframe {
	    height: 620px;
	}
	
	.areas-locations {
		width: 50%;
	}	
}

@media (max-width: 1350px) {

    .content .wrap {
        max-width: 1100px;
    }

	.title {
        font-size: 32px;
        line-height: 34px;		
	}
	
/* Hero */

	.form {
	    width: 540px;
	}	
    
    .form-title {
        font-size: 32px;
        line-height: 34px;
    } 

	.form .gform_wrapper .gform_footer input {
	    font-size: 20px;
	}	

/* Service Areas */
	
	.map iframe {
	    height: 600px;
	}
	
	.city-list li {
		flex: 0 0 32%;
	}
}

@media (max-width: 1250px) {

    .content .wrap {
        max-width: 1000px;
    }  
}

@media (max-width: 1150px) {

    .content .wrap {
        max-width: 900px;
    }   

/* Hero */

	.form .gform_wrapper input::placeholder,
	.form .gform_wrapper textarea::placeholder {
	    color: var(--style-main);
		font-size: 13px;
	}
	
	.form .ginput_container_textarea,
	.form .gform_wrapper textarea {
	    height: 80px !important;
	}
	
	.form .gform_wrapper .gform_footer input {
	    font-size: 18px;
	    padding: 12px 20px;
	}     
    
/* Image and Text */

    .image-text-flex {
        display: block;
    }
    
    .it-image {
        float: left;
        padding-right: 28px;
    }
    
        .image-right {
            float: right;
            padding-left: 28px;
            padding-right: 0;
        }
    
    .it-image img {
        height: 500px;
    }
    
    .it-text {
        width: 100%;
    }	

/* Service Areas */
	
	.map iframe {
	    height: 500px;
	}	
}

@media (max-width: 1024px) {

    .content .wrap {
        max-width: 90%;
    }    

	.title {
        font-size: 28px;
        line-height: 30px;		
	}

/* Hero */
    
    .form-title {
        font-size: 28px;
        line-height: 30px;
    } 	

/* Textarea */

	.text-area h1:not(:is(.title)),
	.text-area h2:not(:is(.title)),
	.text-area h3:not(:is(.title)),
	.text-area h4:not(:is(.title)),
	.text-area h5:not(:is(.title)) {
	    font-size: 23px;
	}	
	
/* Image and Text */
    
    .it-image {
        width: 100%;
        float: none !important; 
        padding: 0 !important;
        margin: 0 0 30px;
    }
    
        .image-right {
            order: 0;
        }

/* Service Areas */
	
	.services-area-flex {
		flex-direction: column;
	}
	
	.map {
	    width: 100%;
		margin: 0 0 30px;
	}
	
	.areas-locations {
		position: unset;
		width: 100%;
	}
	
	.city-list li {
		flex: 0 0 23%;
	}
}

@media (max-width: 768px) {

    .content .wrap {
        max-width: 85%;
    }     

    .title {
        font-size: 24px;
        line-height: 26px;
    } 	
	
/* Hero */

    .form-title {
        font-size: 24px;
        line-height: 26px;
    } 	
	
/* Textarea */
    
    .text-area {
        text-align: center;
    }

	.text-area h1:not(:is(.title)),
	.text-area h2:not(:is(.title)),
	.text-area h3:not(:is(.title)),
	.text-area h4:not(:is(.title)),
	.text-area h5:not(:is(.title)) {
	    font-size: 18px;
	}
	
/* Image and Text */
    
    .it-image img {
        height: 450px;
    }
    
    .it-text {
        text-align: center;
    }	

/* Service Areas */
	
	.map iframe {
	    height: 450px;
	}
	
	.city-list li {
		flex: 0 0 32%;
	}	
}

@media (max-width: 660px) {

/* Image and Text */
    
    .it-image img {
        height: 400px;
    } 

/* Service Areas */
	
	.map iframe {
	    height: 400px;
	}	
}

@media (max-width: 640px) {

/* Hero */

	.form {
		width: 100%;
	}

	.gform_wrapper.gravity-theme .gform_fields {
	    grid-column-gap: 2% !important;
	}

	.gform_wrapper.gravity-theme input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]) {
	    line-height: 1 !important;
	    min-height: auto !important;
	}                       
}

@media (max-width: 550px) {
	
	.link {
	    width: 85%;
	    font-size: 16px;
	    padding: 5px 10px;
	}
	
/* Hero */
	.hero .octane-content {
		background: rgb(0 0 0 / 50%);
		backdrop-filter: blur(5px);
	}

	.form {
		background: none;
		backdrop-filter: none;
		width: 100%;
		padding: 20px 0;
	}	
    
	.gform_wrapper.gravity-theme .gfield.gfield--width-half {
	    grid-column: 1/-1 !important;
	}
	
	.form .gform_wrapper .gform_footer input {
	    font-size: 16px;
	    padding: 10px;
	}	

/* Textarea */

	.text-area p,
	.text-area li {
		font-size: 16px;
	}
	
/* Image and Text */

    .it-text p,
    .it-text li {
        font-size: 16px;
    }	

/* Service Areas */

	.areas-locations .title {
	    margin: 0 0 20px;
	}
	
	.city-list li {
		font-size: 16px;
		flex: 0 0 48%;
	}

/* Testimonials */

	.testimonials .title {
	    margin: 0 0 20px;
	}	
}

@media (max-width: 450px) {
	    
	.link {
	    width: 90%;
	}
	
/* Hero */

	.hero .octane-background {
		position: unset;
	}

	.hero .octane-background img {
		height: 340px;
	}
	
	.hero .octane-content {
		background: #000;
		padding: 50px 0;
	}

	.form {
		background: none;
		width: 100%;
		padding: 0;
	}	
    
	.form-title {
		margin: 0 0 20px;
	}

	.form .gform_wrapper {
	    margin: -8px 0 0;
	}
	
	.gform_wrapper.gravity-theme .gform_fields {
	    grid-column-gap: 0% !important;
	}
	
	.gform_wrapper.gravity-theme .gfield:not(.gfield--width-full) {
	    grid-column: 1/-1 !important;
	}	
	
	.form .gform_wrapper input::placeholder,
	.form .gform_wrapper textarea::placeholder {
		font-size: 16px;
	}
	
	.form .ginput_container_textarea,
	.form .gform_wrapper textarea {
	    height: 100px !important;
	}
	
	.form .gform_wrapper .gform_footer input {
		width: 100%;
	}

/* Image and Text */
    
    .it-image img {
        height: 350px;
    }

/* Service Areas */
	
	.map iframe {
	    height: 350px;
	}
	
	.city-list {
		gap: 3px 0;
	}
	
	.city-list li {
		flex: 0 0 100%;
	}	
}

@media (max-width: 350px) {

	.link {
	    width: 100%;
	}

/* Hero */

    .hero .octane-background img {
        height: 300px;
    }    
    
/* Image and Text */
    
    .it-image img {
        height: 300px;
    }	

/* Service Areas */
	
	.map iframe {
	    height: 300px;
	}	
}