/*
Theme Name: Conn Mechanical Systems
Theme URI: https//consumerfocusmarketing.com/
Author: Consumer Focus Marketing
Author URI: https//consumerfocusmarketing.com/
Description: Theme for Conn Mechanical Systems
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: Portfolio, Oil, Blog
Text Domain: #
*/


:root {
  --white: #FFFFFF;
  --black: #000;
  --body: #333333;

  --lt-gray: #EFEFEF;
  --md-gray: #5F5F5F;
  --alt-gray: #707070;



  --headline-color: #00007E;

  --page-title-bkg: ;
  --page-title-bkg: ;

  --yellow: #FFD71E;
  --blue-xlt: #F4F5FA;
  --blue-lt: #EBF7FC;
  --blue-md: #004BB1;
  --blue-dk: #00007E;
  --well-link: #B4FF93;



  /* TYPOGRAPHY */

  --body-font: "Roboto", sans-serif;
  --headline-font: "Roboto", sans-serif;


  --base-font-size:;
  --base-line-height: ;
}


/*** DEFAULTS ***/

/* font size will +/- by 1px for every 100px of the viewport width */

html {
  font-size: calc(10px + 0.5vw); 
}

body { 
  font-size: 1rem;
  font-family: var(--body-font);
  overflow-x: hidden;
  color: var(--body);
  margin: 0;
  line-height: 1.563;
}

@media (max-width: 767.9px) {
    body {
        font-size: 1.25rem;
    }

    body p {
        font-size: 1.25rem;
       
    }
}

* {
    transition-property: all;
    transition-duration: 0.2s;
    transition-timing-function: linear;
}

*, ::after, ::before {
    box-sizing: border-box;
}

.wrapper {
  padding: 0 15px 4rem;
}

img {
  max-width: 100%;
  height: auto;
}

h1, h2, h3, h4 {
    margin: 0 0 .5rem;
    font-family: var(--headline-font);
    font-weight: 700;
    color: var(--blue-dk);
}

/**

Font size formula: Target Size / Base Size = Value
Example: 50px / 16px = 3.125rem

**/


h1 {
  font-size: 2.813rem;
}

h2 {
    font-size: 2.188rem;
}

h3 {
  font-size: 1.563rem;
}

h4 {
  font-size: 1.25rem;
}

p {
  padding: 0;
}

a {
    /* parent styles */
    color: var(--blue-md);
   text-decoration: none;

   /* parent hover*/
  &:hover {
    color: var(--md-gray);
    text-decoration: inherit;
  }

  &a[href^="tel:"], a[href^="mailto:"] {
    color: orange;
    text-decoration: none;
    }

  /* child of "a", base class for button */
  &[class*="btn"] {
    padding: 0.45rem 2.4rem;
    margin: 1rem .25rem;
    text-decoration: none;
    display: inline-block;
    white-space: pre-wrap;
    font-size: 1.125rem;
    font-weight: 700;
    border-radius: 1.438rem;
    text-transform: uppercase;
    border-color: transparent;
        /* children of .btn that have class "primary" */
        &[class*="btn-primary"] {
            background: var(--blue-md);
            color: var(--yellow);
        }

        /* children of .btn that have class "default" */

        &[class*="btn-default"] {
            background: var(--yellow);
            color: var(--blue-md);
        }
    }

}


a {
    /* parent styles */
    color: var(--blue-md);
   text-decoration: none;
}
   /* parent hover*/
a:hover {
    color: var(--md-gray);
    text-decoration: inherit;
  }

.btn, .gform_button, input#gform_submit_button_1,.gform_previous_button, .gform_next_button  {
    padding: 1.1rem 3.688rem;
    margin: 1rem .25rem;
    text-decoration: none;
    display: inline-block;
    white-space: pre-wrap;
    font-size: 1.125rem;
    font-weight: 700;
    border-radius: 2.125rem;
    /*border-radius: 2rem;*/
    text-transform: uppercase;
    bvorder-color: transparent !important;
}

.btn-primary, .gform_button, input#gform_submit_button_1, .gform_previous_button, .gform_next_button{
    background: var(--blue-md);
    color: var(--yellow);
    border-color: transparent;

}

input#gform_submit_button_1 {
    width: 100%;
    margin-bottom: 0;
}
.btn-primary:hover, .btn-default:hover, .gform_button:hover, input#gform_submit_button_1:hover, .gform_previous_button:hover, .gform_next_button:hover {
    background: var(--blue-dk);
    color: var(--yellow);
}

.btn-default {
    color: var(--blue-md);
    background: var(--yellow);

}


.gform_next_button {
    color: var(--body) !important;
}

@media(max-width:650px){
    .btn, .gform_button, input#gform_submit_button_1{
        display: block;
    }
}

/*
a:hover {
    color: var(--md-gray);
    text-decoration: inherit;
}*/


/*a[href^="tel:"], a[href^="mailto:"] {
    color: inherit;
    text-decoration: none;
}
*/


/*** "GLOBAL" STYLES ***/

.container {
  min-width: 95vw;
}

hr {
    border-color: var(--gray-dk);
}

/*** BUTTONS ***/

button:hover {
    cursor: pointer;
}

/*

[class*="btn"], [class*="gform_button"] {
    padding: 0.45rem 2.4rem;
    margin: 1rem .25rem;
    text-decoration: none;
    display: inline-block;
    white-space: pre-wrap;
    font-size: 1.125rem;
    font-weight: 700;
    border-radius: 1.438rem;
    text-transform: uppercase;


    &[class*="primary"]  {
    background: var(--blue-md);
    color: var(--yellow);    
    }
}


[class*="btn"]:hover, [class*="gform_button"]:hover {
    transition: all 0.4s ease 0s;
    text-decoration: none;
}

/*[class*="primary"]  {
    background: var(--blue-md);
    color: var(--yellow);    
}*/


/*.btn-primary, .gform_button {
    background: var(--blue-md);
    color: var(--yellow);

}*/

/*
.gform_button {
    color: var(--yellow) !important;
    border-radius: 2rem !important;
    text-align: center !important;
    margin: auto !important;
    padding: 1.2rem 5.4rem !important;
    text-transform: uppercase !important;
    font-size: 1.125rem !important;
    background: var(--blue-md) !important;


}

.btn-primary:hover, .gform_button:hover {
    background: var(--blue-dk);
    color: var(--yellow);
}


.btn-default {
    background: var(--yellow);
    color: var(--blue-md);

}

.btn-default:hover {
    background: var(--blue-md);
    color: var(--yellow);   
}
*/

/*** COLORS ***/

/*** HEADER ***/

header {
    box-shadow: 0px 0px 13px #00000024;
}

.top-header {
    background: var(--blue-lt);
    color: var(--blue-dk);
    text-transform: uppercase;
    font-weight: 700;
    padding-top: .6rem;
    padding-bottom: .6rem;


}

.top-header span {
    font-size: 0.938rem;
}

@media(max-width:845px){
    .top-header span{
        font-size: .8rem;
    }
}

.top-header img:hover {
    filter: brightness(.75);
}

.top-header a{
    color: var(--black);
        font-size: 0.875rem;

}

.vertical-center {
    display: flex;
    align-items: center;
}


.header-phone {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--black);
    text-align: right;
    line-height: .75;
}
.header-phone span{
    font-size: 1.1rem;
    letter-spacing: 6px;
    font-weight: normal;
}

@media(max-width:991px){
    .header-phone{
        font-size: 1.25rem;
    }
    .header-phone span {
        font-size: 1rem;
        letter-spacing: 4px;
    }
}


@media(max-width: 768px) {
    .header-phone img, header .btn-fancy img {
    margin-right: .75rem;
    }
    .header-phone span{
        font-size: .9rem;
        letter-spacing: 4px;
    } 
}

@media(max-width: 430px) {
   .header-phone span{
        font-size: 1.5rem;
        letter-spacing: 5px;
    } 
}

.btn-fancy {
  border: 1px solid #fff;
  padding: 1rem 1.75rem;
  position: relative;
    box-shadow: rgba(000,000,000,.14) 0px 0px 13px;
    margin-right: 0;
    font-size: 1.125rem;
    margin-top: .75rem;
    margin-bottom: 0;
    background: var(--white);
    color: var(--blue-md);

}

.btn-fancy:before {
  border: 1px solid var(--yellow);
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  right: 4px;
  bottom: 4px;
  border-radius: 2rem;
}

a.btn.btn-fancy:hover {
    background: var(--yellow);
    border-color: var(--yellow);
}

a.btn.btn-fancy:hover:before {
    border-color:var(--white);
}


.header-contact img {
    margin-right: 0.75rem;
}

@media(max-width:1080px){
    .header-contact img{
        width: 20px;
    }
    .btn-fancy{
        padding:1rem 1.25rem;
    }
    .navbar-brand img {
        width: 200px;
    }
}

@media(max-width:1015px){
    .navbar-brand img {
        width: 150px;
    }

}

@media(max-width:885px){
    .navbar-brand img {
        width: 135px;
    }

}

@media(max-width:830px) and (min-width:768px){
    .header-contact img{
        display: none;
    }
}

@media(max-width:767px){
    .navbar-brand img{
        width: 200px;
    }
    .btn-fancy{
        margin-left: 1.5rem;
    }
}

.header-social a {
    margin-left: 0.75rem;

}

.header-social a:first-child {
    margin-right: .75rem;
}

.header-social {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.header-social a:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-social a:first-child img {
    margin-right: .25rem;
}


.navbar-brand {
  bottom: 50%;
  top: 0;
  margin-top: -50px !important;
  margin-right: 0;

}

.header-contact {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    line-height: normal;
}

@media(max-width:1015px){
    .header-contact{
        padding: 1rem 0;
    }
    }

    ul.dropdown-menu.submenu-two {
        width: 100%;
    }

@media(max-width: 767px) {



    ul#menu-primary li {
        text-align: left;
    }

    .header-social {
        justify-content: center;
        margin-top: 1rem;
        margin-bottom: 1rem;
    }

    .header-contact {
        margin: 2rem auto;
    }

    ul.dropdown-menu {
        box-shadow: none;
    }

    #menu-primary .nav-item {
        font-size: 1.25rem;
    }

    #menu-primary .dropdown-item {
        text-transform: capitalize;
    }

    .submenu-two .dropdown-item:before {
        content: '» ';
    }

    .navbar-brand {
        margin-top: -90px !important;
    }
}


@media(max-width: 767px) {

    .vertical-center {
        justify-content: flex-end;

    }

    .header-social {
        justify-content: flex-end;
    }
    .desktop-only {
        display: none !important;
    }

    .header-callout {
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 1rem 0;
        
    }
}

@media(min-width:768px) {
    .mobile-only {
        display: none;
    }
}

@media(max-width:650px){
    .header-callout {
           flex-direction: column;
        
    }
    .navbar-brand{
         margin-top: -75px !important;
    }

}
@media(max-width:430px){
    .header-callout{
        margin: auto;
    }
    .btn.btn-fancy {
    display: block;
    width: 100%;
    padding: 1.5rem 4rem;
    margin: 1rem;
    font-size: 1.5rem;
    }
    .header-phone{
        font-size: 2rem;
    }
}


/*** NAV BAR ***/

  .main-menu {
    font-size: 1.063rem;
    text-transform: uppercase;

  }

  
.main-menu .nav-link {
    color: var(--black);
    font-weight: 500;
}

.nav-link:hover {
    color: var(--blue);
}

.navbar {
      z-index: 10000;
}

.dropdown-toggle::after {
}

.dropdown-item {
}

.dropdown-item:hover {
    border-radius: 0;
}

@media(max-width:930px) and (min-width:768px){
    .navbar{
        padding: 0;
    }
}

@media(max-width:880px){
    .main-menu .nav-link{
        font-size: 1rem;
    }
}

@media(max-width:825px) and (min-width:768px){
    .navbar-expand-md .navbar-nav .nav-link{
        padding-left: .3rem;
        padding-right: .3rem;
    }
}

@media(max-width:775px){
    .main-menu .nav-link{
        font-size: .9rem;
    }
}

@media(max-width:767px){
    .main-menu .nav-link{
        font-size: 1.25rem;
        padding: 1rem;
    }
}

/*** MENU - BASE STYLES ***/

  /* show dropdown menus on hover */
  .dropdown:hover > .dropdown-menu {
    display: block;
  }

  .dropdown-item {
    text-align: left;
    padding: .5rem 1.5rem;
  }


  /* removes the deadzone click area */
  .dropdown-menu {
    margin: 0;
    border: 0;
    border-radius: 0;
  }

  .nav-item.active > a,
  .nav-link:hover,
  .nav-item:hover {
}


@media(min-width: 768px) {
  .dropdown-menu {
        background: ;
  }
  
  .dropdown-menu {
      left: auto;
      right: 0;
      margin: 0 auto;
  }

    /* hides carets */
/*.dropdown-toggle::after {
    display: none;
  }*/
}

/*
.dropdown-toggle::after {
  vertical-align: 0;
  margin: 0;
  content: "\2304";
  border: none;
  vertical-align: text-bottom;
  width: 14px;
  color: var(--yellow);
}*/

.dropdown-toggle:after {
  content: ' ';
  border-bottom: 2px solid var(--yellow);
  border-right: 2px solid var(--yellow);
      border-left: 2px solid transparent;
    border-top: 2px solid transparent;

  height: 10px;
  width: 10px;
  transform: rotate(45deg);
  margin-left: .5rem;
  vertical-align: .255em;
}




/*** MENU - TOP LEVEL ***/

.top-level {
  position: relative;
}

.dropdown.top-level:hover:after {
  border-left: solid transparent 10px;
  border-right: solid transparent 10px;
  border-top: solid var(--md-blue) 10px;
  bottom: -10px;
  content: " ";
  height: 0;
  margin-left: -13px;
  position: absolute;
  width: 0;
  z-index: 10000;
}


/*** MENU - SECOND LEVEL MENU DROPDOWNS ***/

.second-level {
    position: relative;
    padding-bottom: 1rem;
}

.second-level > .dropdown-menu {
    top: 0;
    left: 100%;
}

.dropdown-menu {
    box-shadow: rgba(0, 0, 0, 0.19) 0 0 8px 0;
}


@media (min-width: 768px) {
  .second-level > .dropdown-menu {
    margin-top: -.5rem;
    margin-bottom: -.5rem;
    padding-bottom: .5rem;
  }

  .second-level.menu-item-has-children > a:after {
    display: block;
    content: "▸";
    float: right;
    margin-right: -20px;
  }

  .second-level:hover > a:after {
    border-left-color: inherit;
  }

  .menu-item-has-children > .dropdown-item {
    padding: .5rem 2.25rem .5rem 1.5rem;
  }
}


/*** MENU - THIRD LEVEL MENU DROPDOWNS ***/

@media (max-width: 768px) {
  .third-level .dropdown-item {
    padding-left: 40px;
    font-size: 1.2rem;
  }

  .second-level.menu-item-has-children .dropdown-item::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid var(--yellow);
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}

  .third-level a.dropdown-item::after {
    display: none !important;
  }
}


/*** HOME ***/

.home h1 {
    font-size: 3.438rem;
    color: var(--blue-dk);
    text-align: left;
    text-transform: uppercase;
}

@media(max-width:500px){
    .home h1{
        font-size: 3rem;
        margin-top: 3rem;
    }
}


#home-carousel {
    text-align: left;
}


#home-carousel .item-content {
    padding-top: 9%;
    padding-bottom: 10%;
    position: relative;
    min-height: 500px;

}

#home-carousel .item-content .btn {
    margin-bottom: 0;
}

@media(min-width: 600px) {
    #home-carousel .text-box {
        max-width: 700px;
        margin: 0 0 auto;
    }
}

#home-carousel .text-box p {
    font-size: 1.25rem;
    text-align: left;
}

@media(max-width:767px){
    #home-carousel .text-box p{
        font-size: 1.5 !important;
    }
}


@media(min-width: 768px) {
.box-rows {
    margin-top: -60px !important;
}
}

.box-wrapper {
	padding-right: 1rem;
	padding-left: 1rem;
}

@media(max-width: 768px) {
    .box-rows {
        margin-top: 4rem;
    }
    .box-wrapper {
    height: 0;
    height: unset !important;
    margin-top: 3rem;

    #home-carousel .text-box{
        padding: 2.5rem;
    }
    
}

.item-content:before {
    content: '';
    background: linear-gradient(rgba(255,255,255,.65),rgba(255,255,255,.65));
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.text-box {
    z-index: 100;
}
}

.box-wrapper {
        border-radius: 34px;
    border: 5px solid white;
    box-shadow: rgba(000, 000, 000, .5) 0px 0px 13px;
    color: var(--white);
	background-size:cover;
}

.box-wrapper a {
    color: var(--yellow);
    text-transform: uppercase;
    font-weight: 700;
}

.box-wrapper a:hover {
    color: var(--white);
    text-decoration: underline;
}

.box-wrapper h2 {
    font-size: 1.5rem;
    color: var(--white);
    margin-top: 1.25rem;
    text-transform: uppercase;
}

.box-wrapper a:last-child {
    margin: 3.75rem auto 1.813rem;
    display: block;
}

.box-wrapper img {
    margin-top: 3.813rem;
}


.main-content h2 {
    font-size: 2.813rem;
    text-transform: uppercase;
}

.main-content p {
    line-height: 2rem;
}

.main-content p:last-of-type {
    font-size: 1.375rem;
}

.main-content-wrapper {
    padding-top: 4.688rem;
    padding-bottom: 3.75rem;
}


.testimonials h2 {
    font-size: 2.5rem;
    text-transform: uppercase;
    margin: 1rem auto 2rem;

}

div#gform_wrapper_1 {
    max-width: 382px;
    margin: auto;
}

div#gform_wrapper_1 input:not(.button), div#gform_wrapper_1 select {
    height: 36px;
}

.testimonial-box {
    border: 1px solid var(--blue-md);
    background: var(--blue-xlt);
    border-radius: 1.25rem;
    padding: 1.5rem;
}

.testimonials {
    padding-top: 2rem;
    padding-bottom: 3rem;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.testimonial-box img {
    max-width: 135px;
    padding-bottom: 0.688rem;
}

.home blockquote p {
    margin-left: 0;
}

.testimonial-box p:last-child {
    display: block;
    margin-top: 1rem;
}

ul.logos {
    padding: 0;
    margin: 2rem auto;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

ul.logos img {
    height: 150px;
    width: 175px;    
    object-fit: contain;

}

@media(max-width: 768px) {
    ul.logos {
        padding-bottom: 2rem;
        justify-content: space-evenly;
    }

    .testimonial-box {
        margin-top: 1.25rem;
		height: unset !important;
    }


  /*  ul.logos img {
            height: 125px;
        width: 125px;
        object-fit: cover;
}*/

    
ul.logos li {
    flex: 0 0 33%;

}
}

.banner {
}

.banner {
    display: block;
    position: relative;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding-top: 8%;
    padding-bottom: 10%;
}

.banner::before {
    content: "";
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.5) 90%, rgba(255,255,255,1) 100%);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}


.banner-content {
    z-index: 1;
    font-size: 1.158rem;
}

.banner-content h2 {
    font-size: 2.813rem;
}

@media(max-width: 768px) {
    .banner::before {
        background: linear-gradient(rgba(255,255,255,.75),rgba(255,255,255,.75));
    }
}

@media(max-width: 767px) {
    .main-content {
    margin-bottom: 3rem;
    text-align: center;
    }
    .banner-content {
    text-align: center;
}

}

/*** FOOTER ***/


footer {
    color: var(--white);
    line-height: 1.875rem;

}

footer a:hover {
    color: var(--yellow);
}

.top-footer {
    padding-bottom: 2rem;
}

    footer address {
        margin-bottom: 0;
    }

footer .btn-fancy img {
    padding-right: .25rem;
}

footer a {
    color: inherit;
}

footer small {
    line-height: 24px;
    display: block;
    font-size: 0.875rem;
}

.company-address img {
    width: 100%;
    max-width: 300px;
    margin: auto;
    display: block;
}

.yellow-text {
    font-size: 1.125rem;
    display: block;
    color: var(--yellow);
}

footer .btn-fancy {
    margin: 1.25rem auto;
}

footer a[href^="tel:"] {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: .75;
    /*text-align: right;*/
}

footer a[href^="tel:"] span{
    font-size: 1.1rem;
    letter-spacing: 6px;
    font-weight: normal;
}


@media(max-width: 768px) {
    footer a[href^="tel:"] span{
        font-size: .9rem;
        letter-spacing: 4px;
    } 
}

@media(max-width: 430px) {
   footer a[href^="tel:"] span{
        font-size: 1.5rem;
        letter-spacing: 5px;
    } 
}


.company-terms a {
    display: block;
    line-height: normal;
}


@media(max-width: 767px) {
    footer {
        text-align: center;
    }

    footer small {
        font-size: 90%;
    }
}


.top-footer {
    background: var(--blue-md);
}

.bottom-footer {
    background: var(--blue-dk);
}

/*
[class*="contact-info"] {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

[class*="contact-info"]:before {
    content: '';
    position: absolute;
    left: 1rem;
    background-size: contain !important;
}*/


/*** PAGES ***/

.page-background.no-img {
    padding: 2rem 0 1rem;
    font-weight: 600;
}

/*.fill-space {
    width: 100%;
    max-height: 335px;
    object-fit: cover;
    padding-right: 2rem;
}*/

/*** POSTS ***/


/*** ACCORDION ***/

#accordion {
    padding: 3.75rem 0;
}

.panel-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    margin-bottom: 1rem;
    padding: 1rem 1.625rem;
    background: var(--lt-gray);
}

.panel-title.collapsed h3 {
    color: var(--blue-dk);
    max-width: 80%
}



.panel-title h3 {
    margin: 0;
    font-size: 1.563rem;
    padding-left: 0;
	 color: var(--blue-md);
    width: 100%;
	font-weight: 500;
}

.panel-group {
    margin-top: -20px;
    padding-bottom: 20px;

    z-index: -1;
}

.panel-content {
    padding: 2.188rem 1rem;
    background: var(--light);
}

/*.panel-title[aria-expanded="false"]:after {
    content: url(https://snowsfuel.com/wp-content/themes/snowsfuel/img/add-icon.svg);;
}

.panel-title:after {
    content: url(https://snowsfuel.com/wp-content/themes/snowsfuel/img/remove-icon.svg);
}*/


.img {
    width: 6px;
    height: 6px;
    font-size: 1rem;
    position: relative;
    border-radius: 50%;
    margin: 0;
    left: -15px;
}

.panel-title[aria-expanded="false"] .img:after {
    content: '+';
    background: var(--blue-dk);
    color: var(--yellow);
	font-weight: 700;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
        display: flex;
    align-items: center;
    justify-content: center;

    /*background: var(--md-gray) url(https://mockups.consumerfocusweb.com/connmech/wp-content/themes/taylor/img/plus.svg) center center no-repeat;
*/
}

.panel-title[aria-expanded="true"]  .img:after  {
    content: '-';
    background: var(--blue-md);
    color: var(--yellow);
	font-weight: 700;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
        display: flex;
    align-items: center;
    justify-content: center;

    /*background: var(--md-gray) url(https://mockups.consumerfocusweb.com/connmech/wp-content/themes/taylor/img/minus.svg) center center no-repeat;
*/
}

/*** 404 ***/

/*** SIDEBARS ***/


.well {
    line-height: 1.563rem;
    padding: 1.875rem;
    margin: 1rem auto 1.563rem;
    background: var(--lt-gray);
}

.well h2 {
 color: var(--blue-md);
 font-size: 2.188rem;
}

.well .btn, .full-callout .btn {
    margin-top: 1.125rem;
    margin-bottom: 0;
    font-size: 1.25rem;
    padding: .35rem 2.25rem;
    border-color: transparent;
}

 .well a:not(.btn):hover {
    text-decoration: underline;
 }

.well-alt {
  background: var(--blue-md);
  color: var(--white);
	height: 600px;
}

.well-alt h2 {
    color: var(--white);
}

.well-alt a:not(.btn) {
    color: var(--well-link);
}

.well-alt .btn {
    background: var(--yellow);
    color: var(--blue-md);
}

.well-alt .btn:hover {
    background: var(--white);
    color: var(--blue-md);
}
/*--
.coupon {
    text-align: center;
    border: 3px dashed var(--md-gray);
    padding: 0 2.25rem;
    font-size: 1.125rem;
}

.coupon h2, .coupon h3 {
    color: var(--body);
}


/*.coupon h2 {
    color: var(--blue-brand);
    font-size: 1.875rem;
}

.coupon .btn {
    font-size: 1rem;
}*/



/*** PAGE CALLOUTS ***/

.top-level-boxes {
    padding: 2rem;
    background: var(--lt-gray);
}

.top-level-boxes h2 {
    color: var(--black);
}

.top-box-wrapper {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
 }

 .top-level-boxes {
    flex-grow: 1;
    overflow: hidden;
 }

.outer-flex {
    display: flex;
    flex-direction: column;
}

 .callout h2 {
        color: var(--blue-md);

 }

 .callout {
    margin-bottom: 1.563rem;
    margin-right: 0;
    margin-left: 0;
    background: var(--lt-gray);
}

.callout-text {
    padding: 3.75rem 4.313rem 3.688rem 3rem;
}

.callout-image {
  width: 364px;
  max-width: 364px;
}


.full-callout a {
    color: inherit;
}

.full-callout a:hover {
    text-decoration: unset;
}

.full-callout {
    margin-bottom: 1.563rem;
}

.full-callout-bkg a:not(.btn) {
    color: var(--well-link);
}



.full-callout-bkg, .full-callout-bkg:before {
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

.full-callout-bkg * {
    color: var(--white);
}

.full-text {
  background: none;
  position: relative;
  /*display: grid;*/
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
 text-align: center;
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;

}


@media(min-width: 768px) {
    .full-text {
        max-width: 950px;
        margin: auto;
    }
}

.full-text:before {
  content:"";
  position: absolute;
  height: 100%;
  width: 200vw;
  left: -100vw;
  z-index: -1;
}

.full-text .btn {
    text-decoration: unset;
    background: var(--lt-gray);
    margin-top: 0;
}

.full-text .btn:hover {
    background: var(--body);
    border-color: var(--body);
    color: var(--lt-gray);
}

@media(max-width:767px) {
.callout .callout-text {
    flex: 0 0 100%;

    }
    .callout-image{
        height: 250px;
        width: 100%;
        min-width: 100%;
    }
}




/**************
 *            *
 *   TABLES   * 
 *            *
 **************/


/*** BASE ***/

table {
    width: 100%;
    margin: 0 0 1rem;
}


th {
    font-weight: 500;
    font-size: 1.15rem;
}


td, th {
    padding: .25rem 1rem;
}


/*** REGULAR TABLE ***/


thead {
    background: var(--blue-md);
    color: var(--white);
    border: 1px solid var(--blue-md);
}

thead th {
    font-weight: 700;
    font-size: 1rem;
    text-align: center;
}

tbody {
    border: 1px solid var(--headline-color);
}

tr {
    border-bottom: 1px solid var(--headline-color);
}

tr:nth-child(even) {
    background: var(--lt-gray);
}

td, th {
    border-right: 1px solid var(--headline-color);
}


/*** ALT TABLE ***/


/*** LISTS ***/

ul.alt li, ol.alt li {
    list-style-type: none;
    padding-left: 1rem;
    display: flex;
    align-items: center;
}

ul.alt li:before {
    content: "\F26A";
    font-family: "bootstrap-icons";
    display: inline-block;
    margin-left: -1rem; 
    width: 1.5rem; 
    font-size: .95rem;
    color: var(--body);
}

ul.alt, ol.alt {
    padding-left: 1rem;
}



ol.alt {
  counter-reset: orderedList;
}

ol.alt li {
  list-style-type: none;
  position: relative;
}
ol.alt li:before {
  counter-increment: orderedList;
  content: counter(orderedList);
  margin-right: .5em;
  background: var(--body);
  color: var(--white);
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  margin-left: -1rem;
    display: inline-flex;
align-items: center;
justify-content: center;
line-height: normal;
font-size: .75rem;
}


ul.servicearea{
    columns: 3;
    font-size: .8rem;
    line-height: 1.7;
}

@media(max-width:767px){
  ul.servicearea{
    columns: 2;
    font-size: 1rem;
}  
}

/**** BLOCKQUOTES ****/

blockquote {
    background: var(--lt-gray);
    padding: 1.625rem 1.813rem;
    font-size: 1rem;
    position: relative;
    overflow: hidden;
    border-left: 10px solid var(--md-gray);
}

blockquote p {
    font-style: italic;
    line-height:1.875rem;
    margin-bottom: 0;
    margin-left: 1.25rem;

}

blockquote p strong:last-child {
    font-style: normal;
}





/*** SOCIAL ICONS ***/


/**** FORMS ****/

.gform_wrapper {
    padding: 2rem;
    background: var(--white);
        box-shadow: 0px 2px 39px #0000001A;

}

h2.gform_title {
    text-align: center;
    font-weight: 300;
    font-size: 1.563rem;
    text-transform: uppercase;
    border-bottom: 1px solid var(--blue-md);
    color: var(--blue-md);
    padding-bottom: 1rem;
}

.headline-form label {
    font-size: 1.25rem !important;
    color: var(--blue-md) !important;
    font-weight: 300 !important;
}

.gform-body input, .gform-body option {
    background: #F4F5FA !important;
    border-color: #C7C7C7 !important;
}




.gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):where(:not([multiple])) {
    background-color: #F4F5FA !important;
    background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPg0KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyMCAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSJub25lIj4NCiAgPHBhdGggZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNC43MDcgMi4yOTNhMSAxIDAgMDAtMS40MTQgMS40MTRsNiA2YTEgMSAwIDAwMS40MTQgMGw2LTZhMSAxIDAgMDAtMS40MTQtMS40MTRMMTAgNy41ODYgNC43MDcgMi4yOTN6bTAgOGExIDEgMCAxMC0xLjQxNCAxLjQxNGw2IDZhMSAxIDAgMDAxLjQxNCAwbDYtNmExIDEgMCAwMC0xLjQxNC0xLjQxNEwxMCAxNS41ODZsLTUuMjkzLTUuMjkzeiIvPg0KPC9zdmc+') !important;   
    background-repeat: no-repeat;
   --gform-theme-local-padding-inline: var(--gform-theme-control-select-padding-inline);
   background-position: var(--gform-theme-control-select-icon-position);
   background-size: 12px;
   border-color: #C7C7C7 !important;
}




.home .gform-theme--foundation .gform_fields {
    grid-row-gap: 1rem !important;
}


/*** BLOG ***/

.categories:not(.cat-item) {
    list-style: none;
}

.blog-wrapper .btn {
    margin-left: 0;
    padding: .5rem 2rem;
    margin-top: .5rem;
}

/**** PHOTO GALLERY ***/


.container.gallery-wrapper {
  margin-inline: auto;
  width: min(100% - 3rem, var(--container-max, 960px));
}



.gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(300px,100%), 1fr));
	grid-auto-rows: minmax(300px,300px);
	grid-auto-flow: dense;
	grid-gap: 30px;
	margin-top: 40px;
}

@-webkit-keyframes gallery-items-animation {
  from {
    opacity: 0;
    transform: scale(0.3);
    -webkit-filter: hue-rotate(180deg);
            filter: hue-rotate(180deg);
  }
  to {
    opacity: 1;
    transform: scale(1);
    -webkit-filter: hue-rotate(0deg);
            filter: hue-rotate(0deg);
  }
}
@keyframes gallery-items-animation {
  from {
    opacity: 0;
    transform: scale(0.3);
    -webkit-filter: hue-rotate(180deg);
            filter: hue-rotate(180deg);
  }
  to {
    opacity: 1;
    transform: scale(1);
    -webkit-filter: hue-rotate(0deg);
            filter: hue-rotate(0deg);
  }
}

/* 2020-09-20 */
.gallery-item {
  -webkit-animation: gallery-items-animation 800ms ease-out;
          animation: gallery-items-animation 800ms ease-out;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  --staggered-delay: 100ms;
  -webkit-animation-delay: var(--staggered-delay);
          animation-delay: var(--staggered-delay);
}

.gallery-item img {
  border: 0;
  display: block; 
  cursor: pointer;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.gallery-item-text {
  display: none;
}

@media screen and (pointer: fine) {
  .gallery-item img {
    transition: all 0.3s linear;
  }
  .gallery-item img:focus,
  .gallery-item img:hover {
    filter: brightness(0.75);
    transform: scale(0.98);
  }
}


.lightbox {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s;
	z-index: 10;
	background-color: rgba(0, 0, 0, 0.75);}

.lightbox.preload {
  transition: none !important;
}

.lightbox.open {
  opacity: 1;
  pointer-events: auto;
  z-index: 100000;
}

.lightbox.open .lb-img {
  z-index: 1;
}

.lightbox .lb-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
 /* top: 2rem;
  margin: 2rem;*/
  max-height: 400px;
}

.lightbox .lb-img {
  -o-object-fit: contain;
  object-fit: cover;
  display: block;
  width: 100%;
  height: auto;
  flex: 1;
  background: transparent;
  max-width: 600px;
}

.lightbox .lb-caption {
  color: #333;
  display: flex;
  flex-direction: column;
  font-size: 0.9rem;
  max-width: 50ch;
  overflow-y: auto; 
  opacity: 0;
  transition: opacity 0.3s;
}

.lightbox.open .lb-caption {
  opacity: 1;
}

.lightbox .lb-url {
  color: #005fa9;
  text-decoration: underline;
  text-underline-position: under;
  padding-top: 8px;
  padding-bottom: 14px;
}

.lightbox .close {
  background-color: lightgray;
  cursor: pointer;
  color: #333;
  text-decoration: none;
  display: inline-block;
  font-size: clamp(1.4em, 4vw, 2em);
  line-height: 1em;
  text-align: center;
  position: absolute;
  top: -0.4em;
  right: -0.4em;
  width: 1em;
  height: 1em;
  border-radius: 50%;
}

/* Lightbox overlay */
.lightbox .close::before {
  background-color: rgba(0, 0, 0, 0.9);
  content: "";
  cursor: default;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

/**********************************
          Media queries
 **********************************/

/* Medium devices (landscape tablets, 768px and up) */
@media screen and (min-width: 768px) {
  .lightbox .lb-caption {
    font-size: 1rem;
  }
	
}

/* Large devices (laptops/desktops, 1024px and up) */
@media screen and (min-width: 1024px) {
  .lightbox .lb-content {
    flex-direction: row;
  }


  .lightbox .lb-caption {
    padding: 0 1.5em;
  }
  .lightbox .lb-url {
    padding-top: 0;
  }
}


@media (max-width: 768px) {
.lightbox .lb-content, .lightbox .lb-img {
    max-height: 400px;}
	.bottom-footer {margin-bottom: 60px !important;}
}

/**********************************
          Fixed Mobile Footer
 **********************************/

#mobile-phone-ctas {
    position: fixed;
    width: 100%;
    bottom: 0;
    z-index: 999;
    -webkit-box-shadow: 0 -2px 8px 0 rgba(0,0,0,.25);
    box-shadow: 0 -2px 8px 0 rgba(0,0,0,.25);
    border-top: 1px solid rgba(0,0,0,.1);
    display: none;
}


#mobile-phone-ctas a:first-child {
    border-right-color: #FFF;
    
}
a.btn-mobile-phone{background: #fac60b !important;
    color: #004497 !important; border-radius: 0px;border: none; margin: 0;}

#mobile-phone-ctas a {
    width: 100%;
    height: 60px;
    padding: 10px 4%;
    color: #FFF;
    background-color: #004497;
    font-size: calc(95% + .5vw);
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-content: center;
    align-items: center;
}
#mobile-phone-ctas a i {padding-right: 5%;}

@media only screen and (max-width: 569px){
div#mobile-phone-ctas {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-content: flex-start;
    align-items: flex-start;
    -webkit-animation: slideInUp .4s ease-in-out;
    animation: slideInUp .4s ease-in-out;
}
}
