/*
Theme Name: Lifesize Wraps v1.0
Theme URI: https://kylewilmarth.com
Description: A style-free theme to get you started on an HTML5-based WordPress theme of your own.
Author: Kyle WIlmarth
Author URI: https://kylewilmarth.com
Version: 1.0
License: BSD 2-Clause
License URI: http://opensource.org/licenses/bsd-license.php
*/

/* Ok, this is where the fun starts.
-------------------------------------------------------------------------------*/

/* A Linux- and Windows-friendly sans-serif font stack: http://prospects.mhurrell.co.uk/post/updating-the-helvetica-font-stack */
body {font: 13px Helmet, Freesans, sans-serif;}

/* Using local fonts? Check out Font Squirrel's webfont generator: http://www.fontsquirrel.com/tools/webfont-generator */

/* We like off-black for text. */
body, select, input, textarea {color: #333;}

a {color: #03f;cursor:pointer;}
a:hover {color: #69f;}

/* Custom text-selection colors (remove any text shadows: http://twitter.com/miketaylr/status/12228805301) */
::-moz-selection{background: #333; color: #fff; text-shadow: none;}
::selection {background: #333; color: #fff; text-shadow: none;}

/*	j.mp/webkit-tap-highlight-color */
a:link {-webkit-tap-highlight-color: #fcd700;}

ins {background-color: #fcd700; color: #000; text-decoration: none;}
mark {background-color: #fcd700; color: #000; font-style: italic; font-weight: bold;}

/* Mozilla dosen't style place holders by default */
input:-moz-placeholder { color:#a9a9a9; }
textarea:-moz-placeholder { color:#a9a9a9; }



/* And here begins the WordPress fun.
-------------------------------------------------------------------------------*/

.logo-sm{
	max-width:260px;margin-bottom:40px;}
	
#logo {
    width: 200px;
    float: left;
    margin-bottom: -45px;
    z-index: 999 !important;
    position: relative;
    
    }

.description{
	color:#FFF;
	padding-top:32px;
	
}

#wrapper {
		width: 100%; 
		margin: 0 auto;
		background-image:url("images/bg2.svg");
		background-size:cover;
		 /* Center the background image */
        background-position: center;

        /* Prevent the background image from repeating */
        background-repeat: no-repeat;

        /* Scale the background image to cover the entire container */
        background-size: cover;

        /* This is the key for the parallax effect */
        background-attachment: fixed;
    
}

.content-wrap{
	margin:0 auto;
	max-width:1280px;
}


.wrap {
	width:100%;
	margin:0 auto;
	padding-top:5%;
}

.page-wrap{
	background:#FFF;
	display:inline-block;
	width:100%;
}

.page-wrap .nfd-container{
	padding-top:0 !important;
}

.wrap-margin{
	width:80%;
	margin:0 auto;
}

#header{
	background:rgba(0,0,0,0.55);
	display:inline-block;
	width:100%;
	position: sticky;
    top: 0;
    left: 0;
    z-index:999;
}

.max-width800{
	max-width:800px !important;
	line-height:150%;
	
}


.home-slider{
	width:100%;
	background-image:url("images/background.svg");
	background-size:cover;
	max-height:630px;
}

.prefooter{
	
	background: linear-gradient(180deg, #D0FFF4 0%, #90FFB1 100%);
	padding:40px;
	text-align:center;
	min-height:290px;
	vertical-align:middle;

}

#footer{
	display:block;
	background:#000;
		color:#FFF;
	
}

.footer-wrap{
	background:#000;
	padding:40px 0;
	color:#FFF;
	
}

.footer-links li a{
	padding:10px 20px;
	color:#FFF;
	width:100%;
}

.footer-links li a:hover{
	color:#2874FC;
	
}

.footer-links{
	padding-left:0 !important;
}

.footer-wrap .grid-container{
	grid-column-gap:80px;
}

.container {
    display: flex;
    flex-wrap: wrap; /* Ensures content wraps for small screens */
    max-width:1600px;
    margin:0 auto;
}

.l2{
	display: flex;
    flex-wrap: wrap; /* Ensures content wraps for small screens */
    column-gap:16px;

}

.card-list{
  display:grid;
  grid-template-columns:1fr 1fr; 
  padding:20px;
  
}



.card-link{
  display:block;
  text-align:center;
  border:1px solid #CCC;
  margin:10px;
  border-radius:10px;
}


.top{margin-bottom:16px;}

.list-icons {
    list-style-type: none !important;
    padding: 0;
    margin-top: 30px;
    display: block;
    }



    li {
      display: flex;
      align-items: center;
      margin: 20px 0; /* Add spacing between list items */
      font-size:1.2em
      
    }

    li img {
      width: 20px;
      height: 20px; /* Size for the icons */
      margin-right: 16px; /* Spacing between the icon and the text */
	}



ul, ol {
  margin: 1em 0;
  padding-left: 1.5em;
  line-height: 1.6;
  list-style-type: disc; /* options: circle, square, none */
}

ul li, ol li {
  margin-bottom: 0.5em;
}

/* Optional: custom bullet style */
ul {
  list-style-type: disc; /* options: circle, square, none */
}

/* Optional: ordered list style */
ol {
  list-style-type: decimal; /* options: lower-alpha, upper-roman, etc. */
}



.column {
    flex: 1; /* Each column takes up equal space */
    box-sizing: border-box;
}

.column-left {
}

.column-right {

}

#header .column-right{
	flex: 2;
}


.col-left-container{
	padding:20px;
}

.nav-container{
	float:right;
}

.woocommerce div.product{
	display:block;
	overflow:auto;
}

.client-slider-mobile{
	display:none;
}



/* Make columns stack on smaller screens */
@media (max-width: 768px) {
    .column {
        flex: 100%; /* Makes columns take the full width */
    }
    

    
    .testimonial-container, .footer-contents{
	display:grid;
	grid-template-columns:1fr;
	gap:20px;
}
}

.hero-headshot{
	max-width:425px;

}

.home-hero{
		width: 100%; 
		margin: 0 auto;
		background-image:url("images/background.svg");
		background-size:cover;
		padding-bottom:20px;
}

.home-hero h2{
color:#FFF;
margin-bottom:24px;
        	  text-shadow: 0px 1px 2px #555;
        font-weight:600;

}

.home-hero p{
color: #FFF;
    font-size: 18px;
     	  text-shadow: 0px 1px 2px #555;
    font-weight: 600;
}

p{
	font-size:1.25em;
	max-width:600px;
	margin:0 auto !important;
	display:block;
}

h2{
	font-size: 2.6em;
    line-height: 125%;
    font-weight: 400;
    margin: 20px auto;
    color:#fff;
}

h3{
	font-size:1.5em;
	line-height:100%;
	margin-bottom:10px;
	font-weight:800;
}

h4{
	font-size:1.4em;
	line-height:100% !important;
	margin-bottom:20px;


}

.quote{
    z-index: 99;
    position: relative;
}

.three-em-img{max-width:240px;}

.three-em-provider{
	background-image: url("images/install_bg.png");
	background-attachment: fixed;
	background-size:cover;
	width:100%;
	padding:5% 2%;
	text-align:center;
	overflow:auto;
	min-height:450px;
	color:#FFF;
}

.three-em-provider p{
	padding-bottom:24px;
}

.three-em-provider .wrap, .values .wrap{
	max-width:960px;
	margin:0 auto;
}

.three-em-provider .container-3-col {
	margin-bottom:5% !important;
}

.contact{
background-image: url("images/map.png");
	background-size:cover;
	min-height:340px;
}

.contact h2{
text-align:center;
padding-bottom:24px;
}

.process h3{
    margin-top: 30px;
    padding: 0 20px;
    margin-bottom: 10px;
}

.process h2{
	color:#FFF;
	margin-bottom:20px;
}


.card, .card-height{
	padding:16px;
	background:#FFF;
	border:1px solid #CCC;
	border-radius:20px;
	text-align: center;
	-webkit-transition: background 1s ease-out;
  	-moz-transition: background 1s ease-out;
  	transition: background 1s ease-out;
  	min-height:200px;
}

.card a{
	text-decoration:none;
	color:#222;
}

.card:hover, .card-height:hover{
    background: linear-gradient(180deg, rgba(19, 145, 117, 1) 0%, rgba(31, 208, 168, 1));
    color: #FFF;
    }
    
.card a:hover{color:#FFF}


.gradient-button {
  font-family: 'Russo One', sans-serif;
  background: #007AFF;
background: linear-gradient(39deg, rgba(0, 122, 255, 1) 0%, rgba(1, 86, 179, 1) 100%);
  color: white;
  border: none;
  padding: 16px 24px;
  font-size: 16px;
  border-radius: 0px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: background 0.3s ease;
}

.gradient-button:hover {
  background: linear-gradient(222deg, rgba(0, 122, 255, 0.9) 0%, rgba(1, 86, 179, 0.9) 100%);
}


.link-button {
  font-family: 'Russo One', sans-serif;
  color: #0693e3;
  background:#FFF;
  text-decoration:none;
  border: none;
  padding: 16px 24px;
  font-size: 16px;
  border-radius: 0px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: background 0.3s ease;
}

.link-button a{
	text-decoration:none;
}

.link-button:hover {
  
}

.link-button:hover .icon {
  transform: translateX(4px);
}


.icon {
  width: 24px;
  height: 24px;
  transition: transform 0.3s ease;
      margin-bottom: -7px;
}

.gradient-button:hover .icon {
  transform: translateX(4px);
}



.button-wrap{
	margin-top:24px !important;
	
}


table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

th, td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}

th {
  background-color: #f4f4f4;
  font-weight: bold;
}

tr:nth-child(even) {
  background-color: #f9f9f9;
}

tr:hover {
  background-color: #f1f1f1;
}


.wpcf7 input[type=submit]{
background: #007AFF;
background: linear-gradient(39deg, rgba(0, 122, 255, 1) 0%, rgba(1, 86, 179, 1) 100%);
    color: #FFF;
    border: 0;
    cursor: pointer;
    padding: 15px 30px;
    font-size: 16px;
    transition: .2s linear;
    width:fit-content;
    text-decoration:none;
    display:inline-block;
    margin:30px auto 0px auto;
    font-family:'Russo One';
}


.button a{
	background: #007AFF;
background: linear-gradient(39deg, rgba(0, 122, 255, 1) 0%, rgba(1, 86, 179, 1) 100%);
    color: #FFF;
    border: 0;
    cursor: pointer;
    padding: 15px 30px;
    font-size: 16px;
    transition: .2s linear;
    width:fit-content;
    text-decoration:none;
    display:inline-block;
    margin:30px auto 0px auto;
    font-family:'Russo One';
}

.button a:hover{
	background: #007AFF;
background: linear-gradient(222deg, rgba(0, 122, 255, 1) 0%, rgba(1, 86, 179, 1) 100%);
}

.gradient-button a{
	color:#FFF;
	text-decoration:none;
}

.icon-lg {
    max-width: 85px;
    min-height:85px;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 20px;
    
}


.process img{
	width:105px;
}


.round{
	border-radius:130px;
}

.footer-wrap a{
	color:#fff;
	text-decoration:none;
}



.ls-thumbnail-wrapper{

	margin:-13% auto 0 auto !important
}


.ls-roundedflat .ls-thumbnail-inner{
	background:none !important;
}

.values{
	width:100%;
	padding:10% 2%;
	text-align:center;
	overflow:auto;
	background-image:url('images/WallMural.png');
	background-size:cover;
	background-color: rgba(255,255,255,0);
	background-blend-mode: lighten;
	min-height:450px;
}

.values p{
	color:#fff;
	font-size:18px;
	padding-bottom:32px;
}

.values h2{
	margin:0 auto;
	max-width:800px;
	padding:0 2.5%; 
}


.is-layout-flex > :is(*, div) {
    margin: 5px 0 0 0 !important;
}


.footer-wrap .post-title{
	font-size:18px !important;
}


.footer-wrap .post-container{
	height:fit-content;
	padding:16px;
	margin-bottom:24px;
	max-width:480px;
}


.post-wrap{
	margin:0 auto;
	width:80%;
	padding-top:5%;
}

.post-wrap p{
	margin:none !important;
	
}

.post-wrap h2, h3, h4{
color:#222 !important;
	}

.post-content{
	display:inline-block;
	width:80%;
	margin:0 auto;
}

.post-title{
	font-size: 36px !important;
    line-height: 100%;
}

.entry {}
.entry p{
	margin:0 !important;
	max-width:800px !important;
	line-height:1.7em;
}

.entry-content{
	padding-bottom:5%;
	max-width:1280px;
	margin:0 auto;
}

.entry-content h2{
	color:#222 !important;

}

.entry-content p{
	margin:0 !important;
	max-width:800px !important;
	line-height:1.7em;
	padding-bottom:24px;

}

.subpage-hero{
    width: 100%;
    max-width: 1280px;
    margin: -5% auto 0 auto;
    padding:0 24px;
    background-color:none !important;	
}

.subpage-hero h3{
	padding-top:14%;
}

.wp-block-cb-carousel-v2 .cb-button-next, .wp-block-cb-carousel-v2 .cb-button-prev{
	color:#CCC !important; 
}

.subpage-hero .wp-block-columns are-vertically-aligned-top nfd-wb-animate nfd-wb-reveal-right is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex nfd-wb-animated-in{
	margin-top:-5% !important;
}

.subpage-hero wp-block-columns are-vertically-aligned-top nfd-wb-animate nfd-wb-reveal-right is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex nfd-wb-animated-in{
	margin-top:-50px !important;
}

.subpage-hero-img{
}

.page-wrap .nfd-p-lg:not([style*=padding]){
	padding:0 !important;
}




.services-hero, .full-width-hero{
	width:100%;
	max-width:1280px;
	margin:0 auto;
}

.full-width-hero{
	height:235px;
	display:inline-block;
}


.services-hero img{width:100%;height:auto;}




.services{
	width:100%;
	color:#FFF;
	max-width:1600px;
	margin:0 auto;
}

.services-card{
	min-height:385px;
	background-color:rgba(255,255,255,1) !important;
}

.services-card:hover{
	background-color:rgba(255,255,255,1) !important;
}

.services h2, .services p, .services .button, .services .button-wrap{
        padding-left: 5%;
    max-width: 600px;
    margin:0 auto;
    display:block;

    padding-bottom:20px;
}

.services-hero h2{
	padding-top:10%;
	padding-left:10%;
	
}

.services-hero p{
	color:#fff;
	margin:0 !important;
	padding-left:10%;
	padding-bottom:20px;
}

.subpage-hero .wp-block-columns .are-vertically-aligned-top .nfd-wb-animate .nfd-wb-reveal-right .is-layout-flex .wp-container-core-columns-is-layout-9d6595d7 .wp-block-columns-is-layout-flex .nfd-wb-animated-in{
	margin-top:-5% !important;
}

.blog-container{
	max-width:1280px;
	margin:0 auto;
}

.full-width-img{
	max-width:1600px !important;
	margin:0 auto;
}

.gallery-wrap{
	padding:2%;
	margin:0 auto;
	max-width:1280px;
}

.contact-column-padding{
	padding:32px;

}

.what-we-offer{
		width: 100%; 
		margin: 0 auto;
		background-image:url("images/bg.svg");
		background-size:cover;
		padding-bottom:5% !important;
}

.what-we-offer .wp-block-group {
	max-width:1200px;
}

.what-we-offer h3{
	padding-top:5%;
}

.gallery-slider{
	display: block;
    margin: 0 auto;
    width: 93%;
    padding: 2% 5%;
    max-width:1600px;
}


.contact h3{
        text-indent: -47px;
        padding-left: 47px;
}

.phone, .email, .address, .footer-wrap h4, .footer-wrap h3 {
	color:#FFF !important;
}

.phone::before {
    content: ""; /* or attr(data-icon) for icons based on data attributes */
    display: inline-block;
    background-image: url("images/phone.svg");
    width: 32px;
    height: 32px;
    margin-right: 16px; /* For spacing */
    margin-bottom:-10px;
}

.email::before {
    content: ""; /* or attr(data-icon) for icons based on data attributes */
    display: inline-block;
    background-image: url("images/email.svg");
    width: 32px;
    height: 32px;
    margin-right: 16px; /* For spacing */
    margin-bottom:-10px;
}

.address::before {
    content: ""; /* or attr(data-icon) for icons based on data attributes */
    display: inline-block;
    background-image: url("images/pin.svg");
    width: 32px;
    height: 32px;
    margin-right: 16px; /* For spacing */
    margin-bottom:-10px;
}

.before-after{
	width:100%;
	display:block;
	margin:0 auto;
	max-width:980px;
padding:5% 2%;
	
}

.card-body{
 		padding-left: 0px !important;
 		 		padding-right: 0px !important;
 	}

.testimonials{
	width:100%;
	display:block;
    margin: 0 auto;
 	background: #E4E4E4;
	background: linear-gradient(180deg,rgba(228, 228, 228, 1) 0%, rgba(255, 255, 255, 1) 100%);
	padding-top:5%;
     
}

.google-review-button {
  background-color: #ffffff;
  color: #1a73e8;
  border: 1px solid #dadce0;
  border-radius: 4px;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 500;
  padding: 8px 16px;
  cursor: pointer;
  transition: box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.google-review-button:hover {
  background-color: #f1f3f4;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.google-review-button:active {
  background-color: #e8eaed;
}

.google-review-button svg {
  width: 18px;
  height: 18px;
  fill: #1a73e8;
}



.testimonials h2, .before-after h2{
	text-align:center;
	margin-bottom:40px;
	color:#222;
}

.testimonial-container, .footer-contents, .container-3-col{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:20px;
}

.testimonials p{max-width:80%;}



.testimonials .card:hover, .quote .card:hover{
	background:#FFF;
	color:#000;
}

.testimonial-cite{
	display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 10px;
    margin-top: 20px;
}

.testimonial-cite p{
	text-align:left;
	font-size: 15px;
    padding-top: 20px;
}

#sp-testimonial-free-wrapper-96 .sp-testimonial-free{
	    background: #FFF !important;
    border-radius: 20px !important;
    padding-bottom: 20px !important;
    padding-top: 20px !important;
	
}


.sp-testimonial-free-wrapper{
	margin:0 auto !important;
	width:85% !important;
}



.quote .card{
	padding:24px;
	min-height:auto;
}

.grid-container{
	display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 24px;
    max-width: 1280px;
    margin: 0 auto;
  
}

.no-border{
	border:none !important;
	margin:0 auto;
}

.no-border img{
	height:80px;
	margin-bottom:20px;
}

.subpage-title{
	text-align:center;
	color:#FFF;
	  text-shadow: 0px 1px 2px #555;
}

.title p{

	margin:0px 0px 20px 0px !important;
}

.icon-w-title{
	display:grid;
	grid-template-columns: 1fr 8fr; /* Defines the column widths */
    gap: 20px; /* Space between the columns */
    text-align:left;
}


.footer-contents{
	padding:40px 0;
}

.footer-contents a{
	color:#FFF;
	text-decoration:none;
}

.page-contents{
	padding:40px 0;
}

.page-contents p{
    margin: 0 auto 20px auto;
}

.page-contents .card{

	margin-bottom:20px;
	
}

.page-contents .card:hover{

	background:#FFF;
	color:#000;
	
}


ul.footer-links{
	font-family:"Russo One", sans-serif;
}




/* Styles configuration */
:root {
    --cf7-font: inherit;
    --cf7-font-size: 16px;
    --cf7-font-weight: normal;
    --cf7-labels: #555;
    --cf7-input-text: #444;
    --cf7-accent: #2d8cff;
    --cf7-accent-hover: #247de9;
    --cf7-accent-outline: #b9d9ff;
    --cf7-accent-text: #ffffff;
    --cf7-warning: #fb584e;
    --cf7-warning-bg: #FFEDEC;
    --cf7-success: #00B474;
    --cf7-success-bg: #E6FFF0;
}

.wpcf7-form p{
	margin-bottom:16px !important;
}


.form .wpcf7-form.init {
    display: grid;
    grid-template-columns: 2fr 3fr 3fr 1fr;
    grid-column-gap: 24px;
    text-align: left;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
    margin-top: 20px;
}


.contact-form-container{
	display: grid;
	grid-template-columns: 1fr 1fr;
}

/* General Settings */
.wpcf7 {
    font-family: var(--cf7-font);
    font-weight: var(--cf7-font-weight);
    width: 100% !important;
}
.wpcf7 label {
    color: var(--cf7-labels);
    letter-spacing:1px;
    font-size:12px !important;
    text-transform:UPPERCASE;
    font-weight:bold !important;
}
.wpcf7-list-item {
    margin-left: 0 !important;
    margin-right: 15px !important;
}
.wpcf7 a {
    color: var(--cf7-accent) !important;
    text-decoration: none;
}
.wpcf7 a:hover {
    color: var(--cf7-accent-hover) !important;
}
/* General Inputs */
.wpcf7 input[type=color],
.wpcf7 input[type=date],
.wpcf7 input[type=datetime-local],
.wpcf7 input[type=datetime],
.wpcf7 input[type=email],
.wpcf7 input[type=month],
.wpcf7 input[type=number],
.wpcf7 input[type=search],
.wpcf7 input[type=tel],
.wpcf7 input[type=text],
.wpcf7 input[type=time],
.wpcf7 input[type=url],
.wpcf7 input[type=week],
.wpcf7 textarea
{
    border: 1px solid #D5E0EB;
	background-color: #ffffff;
	border-radius: 6px;
    line-height: 1.3;
    padding: .375rem .75rem;
    color: var(--cf7-input-text);
    min-height: 35px;
    font-size: var(--cf7-font-size);
    font-weight: var(--cf7-font-weight);
    font-family: var(--cf7-font);
    width: 100%;

}
/* Other Inputs */
.wpcf7 input[type=submit] {
    background-color: var(--cf7-accent);
    color: var(--cf7-accent-text);
    border: 0;
    padding: 15px 30px;
    border-radius: 6px;
    font-size: var(--cf7-font-size);
    font-family: var(--cf7-font);
    transition: .2s linear;
}
.wpcf7 input:hover[type=submit] {
    background-color: var(--cf7-accent-hover);
    transition: .2s linear;
    cursor: pointer;
}
.wpcf7 input:focus[type=submit] {
    background-color: var(--cf7-accent-hover);
    outline: none;
    border: 0;
    box-shadow: 0 0 0 3px var(--cf7-accent-outline);
}
.wpcf7 input[type=file] {
    color: var(--cf7-input-text);
    font-size: var(--cf7-font-size);
    font-weight: var(--cf7-font-weight);
    font-family: var(--cf7-font);
}
.wpcf7 input:focus[type=file] {
    outline: none;
    border: 0;
}
.wpcf7 input[type=file]::file-selector-button,
.wpcf7 select
{
    border: 1px solid #D5E0EB;
    background-color: #ffffff;
    border-radius: 6px;
    line-height: 1.3;
    padding: 0.7rem 1rem;
    color: var(--cf7-input-text);
    min-height: 35px;
    font-size: var(--cf7-font-size);
    font-weight: var(--cf7-font-weight);
    font-family: var(--cf7-font);
}
.wpcf7 input[type=file]::file-selector-button {
    cursor: pointer;
    margin-right: 20px;
}
/* Custom Checkbox */
.wpcf7 input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid var(--cf7-accent);
    border-radius: 6px;
    margin: 0;
    display: grid;
    place-content: center;
    cursor: pointer;
}
.wpcf7 input[type="checkbox"]:before {
    content: "\f147";
    font-family: 'dashicons';
    font-weight: 300;
    font-size: 15px;
    line-height: 17px;
    width: 18px;
    height: 18px;
    color: white;
    text-align: center;
    border-radius: 6px;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 20px 20px var(--cf7-accent);
}
.wpcf7 input[type="checkbox"]:checked::before {
    transform: scale(1);
}
.wpcf7-checkbox label,
.wpcf7-acceptance label,
.wpcf7-radio label {
    display: flex;
    align-items: center;
    gap: 10px;
}
/* Custom Radio */
.wpcf7 input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    background-color: transparent;
    margin: 0;
    font: inherit;
    color: var(--cf7-accent);
    width: 18px;
    height: 18px;
    border: 2px solid var(--cf7-accent);
    border-radius: 100%;
    display: grid;
    place-content: center;
    cursor: pointer;
}
.wpcf7 input[type="radio"]::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 100%;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em var(--cf7-accent);
}
.wpcf7 input[type="radio"]:checked::before {
    transform: scale(1);
}
/* Other States */
.wpcf7 input:hover[type=color],
.wpcf7 input:hover[type=date],
.wpcf7 input:hover[type=datetime-local],
.wpcf7 input:hover[type=datetime],
.wpcf7 input:hover[type=email],
.wpcf7 input:hover[type=month],
.wpcf7 input:hover[type=number],
.wpcf7 input:hover[type=search],
.wpcf7 input:hover[type=tel],
.wpcf7 input:hover[type=text],
.wpcf7 input:hover[type=time],
.wpcf7 input:hover[type=url],
.wpcf7 input:hover[type=week],
.wpcf7 input:hover[type=file]::file-selector-button,
.wpcf7 textarea:hover,
.wpcf7 select:hover
{
    border: 1px solid #92ACC7;
    outline: none;
    background-color: #ffffff;
    font-size: var(--cf7-font-size);
}
.wpcf7 input:focus[type=color],
.wpcf7 input:focus[type=date],
.wpcf7 input:focus[type=datetime-local],
.wpcf7 input:focus[type=datetime],
.wpcf7 input:focus[type=email],
.wpcf7 input:focus[type=month],
.wpcf7 input:focus[type=number],
.wpcf7 input:focus[type=search],
.wpcf7 input:focus[type=tel],
.wpcf7 input:focus[type=text],
.wpcf7 input:focus[type=time],
.wpcf7 input:focus[type=url],
.wpcf7 input:focus[type=week],
.wpcf7 input:focus[type="checkbox"],
.wpcf7 textarea:focus,
.wpcf7 select:focus,
.wpcf7 a:focus
{
    border: 1px solid #92ACC7;
    outline:none;
    box-shadow: 0 0 0 3px var(--cf7-accent-outline);
    background-color: #ffffff;
}
/* Invalid Fields */
.wpcf7-not-valid-tip {
    color: var(--cf7-warning) !important;
    font-size: var(--cf7-font-size) !important;
    font-weight: var(--cf7-font-weight) !important;
    letter-spacing:normal;
    text-transform:none;
}
.wpcf7-not-valid:not(input[type=file]):not(span){
    border-color: #FFBAB6 !important;
    background-color: #FFFAFA !important;
}
.wpcf7 input:disabled[type=submit],
.wpcf7 input:disabled[type=submit]:hover
{
    color: #ffffff;
    background-color: var(--cf7-warning);
    border:0;
    cursor: not-allowed;
}
/* Response Messages */
.wpcf7 form.init .wpcf7-response-output {
    display: none;
}
.wpcf7 form .wpcf7-response-output { /* Default */
    margin: 15px 0 !important;
    padding: 10px 20px !important;
    border: 0 !important;
    border-radius: 6px !important;
}
.wpcf7 form.sent .wpcf7-response-output { /* Success */
    background-color: var(--cf7-success-bg) !important;
    color: var(--cf7-success) !important;
    border: 0 !important;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output{ /* Failed */
    background-color: var(--cf7-warning-bg) !important;
    color: var(--cf7-warning) !important;
    border: 0 !important;
}

/*** ESSENTIAL STYLES ***/
.sf-menu, .sf-menu * {
	margin: 0;
	padding: 0;
	list-style: none;
}
.sf-menu li {
	position: relative;
}
.sf-menu ul {
	position: absolute;
	display: none;
	top: 100%;
	left: 0;
	z-index: 99;
}
.sf-menu > li {
	float: left;
}
.sf-menu li:hover > ul,
.sf-menu li.sfHover > ul {
	display: block;
}

.sf-menu a {
	display: block;
	position: relative;
}
.sf-menu ul ul {
	top: 0;
	left: 100%;
}


/*** DEMO SKIN ***/
.sf-menu {
	float: left;
	font-family:"Russo One", sans-serif;
}
.sf-menu ul {
	box-shadow: 2px 2px 6px rgba(0,0,0,.2);
	min-width: 12em; /* allow long menu items to determine submenu width */
	*width: 12em; /* no auto sub width for IE7, see white-space comment below */
}
.sf-menu a {
	color: #FFF;
    padding: 42px 20px;
    text-decoration: none;
    zoom: 1;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 2px;
}

.sf-menu li {
	white-space: nowrap; /* no need for Supersubs plugin */
	*white-space: normal; /* ...unless you support IE7 (let it wrap) */
	-webkit-transition: background .2s;
	transition: background .2s;
	
}
.sf-menu a:hover {
	background: #007AFF;
background: linear-gradient(220deg, rgba(0, 122, 255, 1) 0%, rgba(1, 86, 179, 1) 100%);

}

.sf-menu ul li {
	font-family:"Varela Round", sans-serif;
	background: #222;
	width:100%;
}

.sf-menu ul li a{
	width:100%;
	color: #FFF;
    padding: 24px 12px !important;
    text-decoration: none;
    zoom: 1;
    font-size: 12px;
    letter-spacing: 1px;
}

.sf-menu ul li a:hover{
	background:#000;
	transition: all .2 ease-in-out;
	cursor:pointer;
	
}

.sf-menu ul ul li {
	background: #9AAEDB;
}
.sf-menu li:hover,
.sf-menu li.sfHover {
	background: #007AFF;
background: linear-gradient(220deg, rgba(0, 122, 255, 1) 0%, rgba(1, 86, 179, 1) 100%);

	color: #139175;
	/* only transition out, not in */
	-webkit-transition: none;
	transition: none;
	
}

/*** arrows (for all except IE7) **/
.sf-arrows .sf-with-ul {
	padding-right: 2.5em;
	*padding-right: 1em; /* no CSS arrows for IE7 (lack pseudo-elements) */
}
/* styling for both css and generated arrows */
.sf-arrows .sf-with-ul:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	margin-top: -3px;
	height: 0;
	width: 0;
	/* order of following 3 rules important for fallbacks to work */
	border: 5px solid transparent;
	border-top-color: #dFeEFF; /* edit this to suit design (no rgba in IE8) */
	border-top-color: rgba(255,255,255,.5);
}
.sf-arrows > li > .sf-with-ul:focus:after,
.sf-arrows > li:hover > .sf-with-ul:after,
.sf-arrows > .sfHover > .sf-with-ul:after {
	border-top-color: white; /* IE8 fallback colour */
}
/* styling for right-facing arrows */
.sf-arrows ul .sf-with-ul:after {
	margin-top: -5px;
	margin-right: -3px;
	border-color: transparent;
	border-left-color: #dFeEFF; /* edit this to suit design (no rgba in IE8) */
	border-left-color: rgba(255,255,255,.5);
}
.sf-arrows ul li > .sf-with-ul:focus:after,
.sf-arrows ul li:hover > .sf-with-ul:after,
.sf-arrows ul .sfHover > .sf-with-ul:after {
	border-left-color: white;
}

/*** adding the class sf-navbar in addition to sf-menu creates an all-horizontal nav-bar menu ***/
.sf-navbar {
	background: #BDD2FF;
	position: relative;
	margin-bottom: 5em;
}
/* provide background colour for submenu strip */
/* you should just set the menu's container bg colour rather than use pseudo-elements */
.sf-navbar:before {
	content: '';
	position: absolute;
	left: 0;
	z-index: -1;
	background-color: #BDD2FF;
	height: 200%;
	width: 100%;
}
.sf-navbar ul {
	box-shadow: none;
}
.sf-navbar li {
	background: #AABDE6;
	position: static;
}
.sf-navbar > li > a,
.sf-navbar > li > ul > li > a {
	border: none;
}
.sf-navbar > li > ul {
	min-width: 36em; /* set this to whatever suits your design */
}
.sf-navbar ul li {
	background: #BDD2FF;
	position: relative;
}
.sf-navbar ul ul {
	left: 0;
	top: 100%;
}
.sf-navbar ul ul li {
	width: 100%;
}
.sf-navbar > li > ul > li {
	float: left;
}
.sf-navbar li.current {
	background: #BDD2FF;
}
.sf-navbar li:hover,
.sf-navbar li.sfHover,
.sf-navbar ul li.current {
	background: #BDD2FF;
}
.sf-navbar ul li:hover,
.sf-navbar ul li.sfHover,
.sf-navbar ul ul li {
	background: #D1DFFF;
}
.sf-navbar ul ul li:hover,
.sf-navbar ul ul li.sfHover,
.sf-navbar ul ul li.current {
	background: #E6EEFF;
}
.sf-navbar ul li.current > a {
	font-weight: bold;
}

/*** point all arrows down ***/
.sf-arrows.sf-navbar ul .sf-with-ul:after {
	margin-top: -3px;
	margin-right: 0;
	border-color: transparent;
	border-top-color: #dFeEFF; /* edit this to suit design (no rgba in IE8) */
	border-top-color: rgba(255,255,255,.5);
}

.sf-arrows.sf-navbar ul > li > .sf-with-ul:focus:after,
.sf-arrows.sf-navbar ul > li:hover > .sf-with-ul:after,
.sf-arrows.sf-navbar ul > .sfHover > .sf-with-ul:after {
	border-color: transparent;
	border-top-color: white;
}

  .mobile-slider {
    display: none;
  }



/* Print styles!
-------------------------------------------------------------------------------*/
@media print {

}


/* Media queries!
-------------------------------------------------------------------------------*/




@media screen and (min-width: 360px) and (max-width: 1104px) {
  /* Your responsive styles go here */
  
  
	#header .column-right{
		flex: 1;
	}

  
  .what-we-offer .wp-block-group{
  	padding:24px !important;
  }
  
  .button-wrap {
    margin-top: 54px !important;
    text-align: center;
    
    }
    
    .subpage-hero, .footer-wrap{
    	padding-left:24px !important;
    	padding-right:24px !important;
    }
    
    .subpage-hero h3, .subpage-hero p{
 		
 		padding-right:24px;
 		padding-left:24px;
 	}
  
 	.testimonial-container, .footer-contents, .container-3-col, .form .wpcf7-form.init, .grid-container{
	display: grid;
    grid-template-columns: 1fr;
}

.testimonials p{max-width:100%;}

.h2{
	font-size:36px;
}

 	.post-wrap{
 		width:100%;
 		padding-left:24px;
 		padding-right:24px;
 	
 	}
 	
 	.contact{
 		padding-left:24px !important;
 		padding-right:24px !important;
 	}
 	
 	
 	.footer-wrap h4, .footer-wrap h3{
 		margin-top:40px;
 	}
 	
 
 	#logo{width:160px;
 	}
 	
	.sp-testimonial-free-wrapper{
	margin:0 auto !important;
	width:100% !important;
	}
	
	.three-em-provider{
	padding:5% 5%;}
	
	.entry-content{
	padding-bottom:5%;
	padding-left:24px;
	padding-right:24px;
}
	
 	
}

@media (max-width: 580px) {

  .mobile-slider {
    display: block;
  }
  
  .ls-gui-element{
  	display:none !important;
  }
  


  
}


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

		.subpage-hero h3 {
    		padding-top: 100px;
		}
		.subpage-hero{
			margin-top:-90px;
			
		}
}


