
/*----------------------------------------------------- CTA -------------------------------------------------------*/
@media (max-width: 1025px){
 .ftr_tab {
 display: none !important;
 }
  
}

/*-----Fixed Footer Tab-----*/
 #fxd_1 {
 bottom: 8.5%;
 position: fixed;
 right: -5px;
 z-index: 11;
 }
 .mobileview #fxd_1 {
 display: none !important;
 }
 html:not(.mobileview) #fxd_1 {
 display: block !important;
 }
 .ftr_tab {
 background-color: #f40004;
 border-top-left-radius: 10px;
 border-bottom-left-radius:10px;
 border: solid 2px #f40004 !important;
 color: #fff;
 font-size: 15px;
 margin: 5px;
 padding: 15px;
 text-transform: uppercase;
 font-weight: 600;
 box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
 transition: all 1s ease-in-out !important;
   text-decoration: none !important;
 }
 .ftr_tab:after {content:" >";font-family: "tsi-cms";font-size:75%;}
 .ftr_tab:hover{
 background-color: #444;
 -webkit-transition: all .3s ease !important;
 border: solid 2px #444!important;
 color: #fff !important;
 box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
 transition: all 1s ease-in-out !important;
 }

 /*-----End of Fixed Footer Tab-----*/

/* ------------------ Floating Social Media Tabs ------------------ */
 .social_items_flex {
 display: flex;
 flex-direction: column;
 justify-content: space-around;
 position: fixed;
 bottom: 70px;
 z-index: 999999;
 }

.mobileview .social_items_flex {
 display: none !important;
 }

.social_button {
 height: 60px;
 width: 60px;
 float: left;
 margin: 5px;
 overflow: hidden;
 background: #fff;
 border-radius: 50px;
 cursor: pointer;
 box-shadow: 0 10px 10px rgba(0,0,0,0.1);
 transition: all 0.3s ease-out;
 }

.social_button:hover {
 width: 330px;
 }

.social_button .floating_icon {
 display: inline-block;
 height: 60px;
 width: 60px;
 text-align: center;
 border-radius: 50px;
 box-sizing: border-box;
 line-height: 60px;
 transition: all 0.3s ease-out;
 }

.facebook_button:hover .floating_icon {
 background: #1773EA;
 }

.google_button:hover .floating_icon {
 background: #fff;
 }

.facebook_button .floating_icon i {
 color: #1773EA;
 }

.google_button .floating_icon i {
 color: #fff;
 }

.social_button:hover .floating_icon i {
 color: #fff;
 }

.social_button .floating_icon i {
 font-size: 25px;
 line-height: 60px;
 }

.social_button span {
 font-size: 20px;
 font-weight: 500;
 line-height: 60px;
 margin-left: 10px;
 transition: all 0.3s ease-out;
 }

.facebook_button:hover span {
 color: #fff;
 }

.google_button:hover span {
 color: #000;
 }
 /* ------------------ End Floating Social Media Tabs ------------------ */

/*--------------------------------------------------- FONT IMPORT -------------------------------------------------*/

/*------------------------------------------------------ MAP ------------------------------------------------------*/
.section_content .tsT_article.a1 .b2b-location.wide .b2b-location-items-container .b2b-location-items ul > li, .section_content .tsT_plugin .b2b-location.wide .b2b-location-items-container .b2b-location-items ul > li {
 background: #1a1a1a !important; 
}

/*--- Map Margins/Font Fix ---*/
.b2b-location-items.show-details li h2{
  font-size:1.1rem !important;
}
.b2b-location-items.show-details li p {
  margin: 0 !important;
  line-height: 1.57em !important;
  font-size: 1.15em !important;
}
.b2b-location-get-directions.color_bodylinks{
  margin-bottom:0 !important;
}
.b2b-location-items.show-details li p b {
  font-weight: bold !important;
}

/*--- Map Font Colors ---*/
.b2b-location-items *, 
.b2b-location-items.show-details *{
  color: #fff !important;
}


.section_content .tsT_plugin .b2b-location.wide .b2b-location-items-container .b2b-location-items {
  border-radius: 8px !important;
  box-shadow: rgb(0 0 0 / 55%) 0px 5px 15px !important;
}


/*-------------------------------------------------- GLOBAL BODY --------------------------------------------------*/

.tsD_white *{
  color: #fff !important;
}
.tsD_black * {
color: #242424 !important;
}
.tsI_dsc {
  line-height: 155% !important;
}

/*------------- NEGATIVE MARGIN -------------*/
.tsD_negMarg .tsXa,
.tsD_negMarg .tsXb,
.tsD_negMarg .tsI,
.tsD_negMarg .section .tsT_gallery.vg1 {
  margin-top: -25px !important;
}

/*------------- Top -------------*/
.tsD_top {
  padding-top: 0 !important;
  margin-top: 0 !important;  
}

/*------------- Bottom -------------*/
.tsD_bottom {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}


/*------------- Padding Top -------------*/
.tsD_padTop {
  padding-top: 10rem !important;
}

/*------------- Padding Bottom -------------*/
.tsD_padBot {
  padding-bottom: 5rem !important;
}

/*------------- Fix scroll from animations -------------*/

.tsW {
  overflow:hidden !important;
}

/*----------------------------------------------------- CTA -------------------------------------------------------*/
.section_content .tsT_card .tsI_txt {
text-align: left !important;
}

.section_content .tsT_card .tsI.yHds .tsI_hds:after {
display: none !important;
}
/*---------------------------------------------------- HEADER -----------------------------------------------------*/

@media (min-width: 1025px){
  .tsH_wrp{
	padding: 0 0rem !important;
	max-width: 92%;
	margin: 0 auto;
	background: var(--promo2) !important;
	margin-top: -30px !important;
  }
  .tsH{
	background: transparent !important;
  }

  .tsH_wrp{
	padding: 0 0rem !important;
	box-shadow: rgb(0 0 0 / 55%) 0px 5px 15px !important;
	border-radius: 8px !important;
  }
}
.tsH {
  display: flex !important;
  display: -webkit-flex !important;
  flex-direction: column-reverse !important;
  -webkit-flex-direction: column-reverse !important;
}


.tsC {
  margin-top: 85px !important;
}

/*---------------------------------------------------- SOCIAL -----------------------------------------------------*/
.tsSC .social-media-links a,
.tsSC .tsC_Btn{
  color: #fff !important;
}

.tsSC {
  box-shadow: none !important;
  height: 75px !important;
}

.tsSC .tsC_Btn {
  font-weight: 500 !important;
  letter-spacing:1px !important;
  font-size:.72rem !important;
}

.tsH .tsflex {
  align-content: flex-start !important;
}

/*----------------------------------------------------- LOGO ------------------------------------------------------*/


@media (min-width: 1024px){
  .tsH.expand #_the_logo img {
	padding: .5rem !important;
	max-height: 15rem !important;
  }
  .tsH.shrink #_the_logo img {
	max-height: 10rem !important;
  }
}
@media (max-width: 1024px){
  .tsH #_the_logo img {
	padding: .5rem !important;
	max-height: 5rem !important;
  }
  .tsH #_the_logo{
	padding: 0 !important;
  }
  .tsSC {
	height: 35px !important;
  }
}

/*-------------------------------------------------- NAVIGATION ---------------------------------------------------*/

.tsH .menu.align-center {
  padding: 0 1rem !important;
}

.tsH .menu .sf-menu li {
  font-weight: 500 !IMPORTANT;
  letter-spacing: .8px !important;
}

.tsH .menu > ul > li {
  padding: 0 .4rem !important;
}

.tsH .current-menu-item a{
  font-weight:bold !important;
}

/*--- Sub-Menu Styling ---*/
.tsH .menu .sub-menu a {
  padding: 0rem .15rem .4rem !important;
  margin-bottom: 0 !important;
  text-transform:capitalize !important;
  font-size:.81rem !important;
}
.tsH .menu .sub-menu{
  padding-bottom:.8rem !important;
}
.tsM #access .menu .sf-menu > li {
  margin: .5rem 0;
}
.tsM #access .menu ul a{
  white-space: pre-wrap !important;
}

/*---------------------------------------------------- BUTTON -----------------------------------------------------*/
/*---PROVIDERS PAGE--*/
.tsD_pulse .tsI .tsI_btn {
animation: shadow-pulse 1s infinite;
}
@keyframes shadow-pulse{
0% {box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.2);}
100% {box-shadow: 0 0 0 35px rgba(0, 0, 0, 0);}
}

.tsD_pulse2 .tsI{
animation-name: pulse;
animation-duration: 2s;
animation-iteration-count: infinite;
}
@keyframes pulse {
from { transform: scale(1); }
50% { transform: scale(0.85); }
to { transform: scale(1); }
}
/*------------------------------------------------- FONT STYLING --------------------------------------------------*/

.tsD_check ul li {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  list-style-type: none !important;
  margin-bottom: .5rem !important;
  -webkit-transition: all .3s ease-in-out !important;
  -moz-transition: all .3s ease-in-out !important;
  -o-transition: all .3s ease-in-out !important;
  transition: all .3s ease-in-out !important;
}
.tsD_check ul li:before { 
  content: '\e2e6' !important;
  font-family: 'Material Icons' !important;
  font-style: normal;
  font-weight: 900 !important;
  color: var(--promo2) !important;
  margin-right: .75rem !important;
  transition: all .4s cubic-bezier(0.46,0.03,0.52,0.96) !important;
}


/*--------------------------------------------------- CONTENT -----------------------------------------------------*/

/*---------------- Contact Icon Info ----------------*/
.tsD_contactIcons {
  padding: 0 !important;
}
.tsD_contactIcons .tsB_hd {
  font-size: 2rem !important;
  letter-spacing: 0.05rem !important;
  margin-top: 2rem !important;
  margin-bottom: 0rem !important;
}
.tsD_contactIcons .tsB_hd span::after{
  border-bottom: 0px !important;
}
.tsD_contactIcons .tsR {
  max-width: 65rem !important;
  border-radius: 10px !important;
  margin: 0 auto !important;
  background: #fff !important;
  box-shadow: rgb(0 0 0 / 55%) 0px 5px 15px !important;
  transform: translateY(-100px) !important;
  z-index: 99 !important;
}
.tsD_contactIcons .tsI{
  margin-bottom: 1rem !important;
  -moz-transition: all 0.35s ease-in-out !important;
  -webkit-transition: all 0.35s ease-in-out !important;
  -o-transition: all 0.35s ease-in-out !important;
  transition: all 0.35s ease-in-out !important;
}
.tsD_contactIcons .tsI:hover .tsI_img{
  -webkit-transform: translate(0px,-10px) !important;
  transform: translate(0px,-10px) !important;
}
.tsD_contactIcons .tsI_hds {
  min-height: 4rem !important;
}
.tsD_contactIcons  .tsI_hd{
  text-transform: uppercase !important;
  font-size: 1rem !important;
  max-width: 15rem !important;
  margin: 2% auto 0 !important;
}
.tsD_contactIcons .tsI_sh {
  color: var(--promo1) !important;
  font-size: .85rem !Important;
  -moz-transition: all 0.35s ease-in-out !important;
  -webkit-transition: all 0.35s ease-in-out !important;
  -o-transition: all 0.35s ease-in-out !important;
  transition: all 0.35s ease-in-out !important;
}
.tsD_contactIcons .tsI_img {
  padding: 2rem !important;
  padding-bottom: .5rem !important;
  max-width: 6rem !important;
  margin: 0 auto !important;
  -moz-transition: all 0.35s ease-in-out !important;
  -webkit-transition: all 0.35s ease-in-out !important;
  -o-transition: all 0.35s ease-in-out !important;
  transition: all 0.35s ease-in-out !important;
}
@media(max-width:575px) {
  .tsD_contactIcons .tsI{
	opacity: 1 !important;
  }
}


/*----------------- Text Center --------------*/

@media(min-width: 1025px) {
  .tsD_textCenter .tsI_txt {
	margin-top: auto !important;
	margin-bottom: auto !important;
  }
  .tsD_textCenter .tsI_btn{ 
	margin-bottom: auto !important;
  }
}

/*----------------- Rounded Image --------------*/

.tsD_image .tsI_img img {
  border-radius: 8px !important;
  box-shadow: rgb(0 0 0 / 55%) 0px 5px 15px !important;
}


/*----------------- Inspection --------------*/
.tsD_inspection .tsB_hd span:after {
  display: none !important;
}
.tsD_inspection .tsR { 
  max-width: 90% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.tsD_inspection .tsI {
  padding: .5rem !important;
  border-radius: 50px !important;
  border: 2px solid #fff !important;
  -webkit-transition: all 0.4s ease-in-out !important;
  -moz-transition: all 0.4s ease-in-out !important;
  -o-transition: all 0.4s ease-in-out !important;
  transition: all 0.4s ease-in-out !important;
}
.tsD_inspection .tsI_txt {
  padding: .75rem !important;
}
.tsD_inspection .tsI {
  background: var(--promo5) !important;
  border-radius: 40px !important;
  border: 2px solid #fff !important;
}
.tsD_inspection .tsI:hover {
  background: var(--promo2) !important;
  border-radius: 40px !important;
  border: 2px solid var(--promo1) !important;
}
.tsD_inspection .tsI:hover .tsI_dsc, 
.tsD_inspection .tsI:hover .tsI_hd { 
  color: #fff !important; 
}

/*----------------- Headers --------------*/

.tsD_headers .tsI_hd {
  font-size: 225% !important;

}
.tsD_headers .tsI_sh {
  font-size: 100% !important;
  text-transform: uppercase !important;  
}

/*----------------- Remove Parallax --------------*/

.section .tsB+.tsT_parallax {
  margin-top: 0rem !important;
}

/*----------------- Repair --------------*/

.tsD_repair .tsI_hd {
  line-height: 160% !important;
}


/*--SKYLIGHTS/SUN TUNNELS PAGE--*/
.tsD_flex-products .tsR {
    display: flex !important;
    flex-wrap: wrap !important;
    align-content: center !important;
    justify-content: center !important;
    align-items: center !important;
}

/*----------------------------------------------------- DLS -------------------------------------------------------*/

.tsD_dl .tsI {
  height: 125vh !important;
}
.tsD_dl .tsI_txt {
  margin-top: -3rem !important;
  padding-top: 0rem !important;
}

@media(min-width:800px){
  .tsD_dl2 .item_1 {
	width: 65% !important;
  }
  .tsD_dl2 .item_2 {
	width: 25% !important;
  }
    .tsD_dl .tsI_hd { 
	font-size: 450% !important;
	max-width: 90% !important;
  }
}

.tsD_dl2 .tsI_hds {
  margin-top: auto !important;
  margin-bottom: auto !important;
}
.tsD_dl2 .tsI_hd {
  font-size: 220% !important;
  letter-spacing: 150% !important;
}

.tsD_dl2 .tsI_btn {
  margin-top: auto !important;
  margin-bottom: auto !important;
  padding: 1.5rem !important;
  border-radius: 50px !important;
  box-shadow: rgb(0 0 0 / 55%) 0px 5px 15px !important;
}

.tsD_dl2 .tsI_btn:hover{
  background: var(--promo3) !important;
}

/*--------------------------------------------------- FEATURES ----------------------------------------------------*/

/*--------------------------------------------------- SPLIT 1 and Slideshow ----------------------------------------------------*/

@media (min-width: 1023px){
  .tsD_split1 {
	padding-top: 0 !important;
	width: 45% !important;
	margin: 1% !important;
	display: inline-block !important;
	position: relative !important;
	vertical-align: middle !important;
	margin: 0 auto !important;
  }
  .tsD_split1 .tsI_hd{
	margin-top: .133em !important;
  }
  .tsD_split1 .tsI_dsc{
	font-size: 1.05rem !important;
  }
  .tsD_split1 .tsI_wrp{
	margin-top: 0 !important;
  }
}
@media (min-width: 1023px){
  .tsD_split2 {
	width: 50% !important;
	margin: 1% !important;
	display: inline-block !important;
	position: relative !important;
	vertical-align: middle !important;
	margin: 0 auto !important;
  }
  .tsD_split2 .tsR{
	padding: 0 !important;
  }
  .section_content .w1060 .tsT_article.a1.large:not(.tsD_wide) .tsI.nHero:first-of-type {
	margin-top: 0rem !important;
  }
}

.tsD_slideshow {
  margin: 2rem auto 2rem !important; /* adjust for sizing and page layout */
}
.tsD_slideshow .slick-wrap {
  box-shadow: rgba(0, 0, 0, 0.45) 0px 5px 15px !important;
  max-width: 85% !important;
  margin: 0 auto 6rem !important;
  border-radius: 15px !important;
}
.tsD_slideshow .slick-track {
  margin: 0 auto !important; 
}
.tsD_slideshow .slick-arrow {
  border-radius: 50px !important; 
  opacity: 1 !important;
  padding: 0.75rem 0.9rem !important;
}
.tsD_slideshow .slick-arrow:hover {
  opacity: .7 !important; 
}

@media (max-width: 480px) {
  .tsD_slideshow .slick-slides .slick-arrow {
	display: block !important;
  }
}

@media (max-width: 600px) {
  .tsD_slideshow .slick-arrow {
	padding: 0rem 0.2rem !important;
  }
}

/*--------------------------------------------------- FORM ----------------------------------------------------*/

.gform_wrapper .button {
  border-radius: 50px !important;
}

.gform_title{ 
  text-transform: uppercase !important;
  font-size: 150% !important;
}

.gfield_label { 
  font-size: 90% !important;
  font-weight: 500 !important;
}

.ginput_container label { 
  font-size: 90% !important;
  font-weight: 300 !important;
}

input[type=text],
.textarea.textarea,
.ginput_container select{
  background: transparent !important; 
  box-shadow: none !important;
  border-radius: 10px !important;
}
input[type=text]{
  border: 1px solid var(--promo1) !important; 
}
.textarea.textarea {
  border: 1px solid var(--promo1) !important; 
}
.textarea.textarea:focus,
input[type=text]:focus{
  border-color: var(--promo2) !important;
} 
.gfield_required,
.ginput_container select{
  color: var(--promo1) !important;
}
.ginput_container select {
  border-color: var(--promo1) !important;
}
.gform_footer {
  float: left !important;
}
.clear-multi{
  width: 68% !important;
}




/*--------------------------------------------------- SUBPAGES ----------------------------------------------------*/

/*---------------- DL ----------------*/
.tsD_internalDL .tsI_txt{
  padding-top: 3rem !important;
}
.tsD_internalDL .tsI_hd {
  text-transform: uppercase !important;
  font-size: 225% !important;
}
.tsD_internalDL .tsI_sh {
  line-height: 150% !important;
}

/*---------------- Touch ----------------*/

.tsD_touch .tsR {
  background: var(--promo5) !important;
  border-radius: 40px !important;
}

.tsD_touch .tsI{
  margin-bottom: 0.5rem !important;
}

.tsD_touch .tsI:last-of-type{
  margin-bottom: 2rem !important;
}

.tsD_touch .tsR_wrp {
  margin-bottom: 0 !important;
}

.tsD_touch .tsB_hd span:after,
.tsD_services .tsB_hd span:after {
  display: none !important;
}

/*---------------- Services ----------------*/

.tsD_services .tsR {
  background: var(--promo1) !important;
  padding: 1rem !important;
  padding-top: 2rem !important;
  border-radius: 50px !important;
  border: 2px solid #fff !important;
  -webkit-transition: all 0.4s ease-in-out !important;
  -moz-transition: all 0.4s ease-in-out !important;
  -o-transition: all 0.4s ease-in-out !important;
  transition: all 0.4s ease-in-out !important;
}

.tsD_services .tsI_btn{
  color: #fff !important;
  padding: 1rem !important;
  border-radius: 50px !important;
}

.tsD_services .tsI:hover .tsI_btn{
  background: var(--promo3) !important;
}


/*----------------------Reviews 1-----------------------*/ .tsD_rev1 .tsI_wrp{ background-color: #000 !important; min-height: 100%; background-size: cover; box-shadow: inset 0 0 0 2000px #000; padding:2rem!important; border-radius:25px!important; } .tsD_rev1 .tsI .tsI_hd, .tsD_rev1 .tsI .tsI_sh { color: #fff!important; } .tsD_rev1 .tsI_dsc { color: #fff!important; } .tsD_rev1 .tsR { max-width: 75rem!important; } /*-------------------End of Reviews 1-------------------*/ 
/*---------------------------------------------------- FOOTER -----------------------------------------------------*/

.tsF hr {
  display: none !important;
}

.tsF_copyright{
  text-align: center !important;
}

.tsF .tsI_hd {
color: #fff !important;
}

/*------------------------------------------------- ANIMATIONS -------------------------------------------------*/

/* Comes In */
.come-in {
  transform: translateY(150px);
  animation: come-in 1.3s ease forwards;
}
.come-in:nth-child(odd) {
  animation-duration: .9s;
} /* So they look staggered */
@keyframes come-in {to { 
  transform: translateY(0); 
  }
}

/* Slide In */
.slide-in-right{
  -webkit-animation:slide-in-right .5s cubic-bezier(.25,.46,.45,.94) both;
  animation:slide-in-right .5s cubic-bezier(.25,.46,.45,.94) both
}
@-webkit-keyframes slide-in-right{
  0%{
	-webkit-transform:translateX(1000px);
	transform:translateX(1000px);
	opacity:0;
  }
  100%{
	-webkit-transform:translateX(0);
	transform:translateX(0);
	opacity:1;
  }
}
@keyframes slide-in-right{
  0%{
	-webkit-transform:translateX(1000px);
	transform:translateX(1000px);
	opacity:0;
  }100%{
	-webkit-transform:translateX(0);
	transform:translateX(0);
	opacity:1;
  }
}

.slide-in-left {
  -webkit-animation: slide-in-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
  animation: slide-in-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
@-webkit-keyframes slide-in-left {
  0% {
	-webkit-transform: translateX(-1000px);
	transform: translateX(-1000px);
	opacity: 0;
  }
  100% {
	-webkit-transform: translateX(0);
	transform: translateX(0);
	opacity: 1;
  }
}
@keyframes slide-in-left {
  0% {
	-webkit-transform: translateX(-1000px);
	transform: translateX(-1000px);
	opacity: 0;
  }
  100% {
	-webkit-transform: translateX(0);
	transform: translateX(0);
	opacity: 1;
  }
}

/*-------------------Reviews 2-------------------*/
.tsD_rev2 .tsI_wrp { background-color: var(--color6)!important; box-shadow: -10px 10px!important; padding-left: 2rem!important; padding-right: 2rem!important; padding-bottom: 1rem!important; transition: background-color 1s ease-out 100ms } .tsD_rev2 .tsI_wrp:hover{ background-color: var(--color3)!important; } .tsD_rev2 .tsI_sh { color: #fff!important; font-weight:800!important; } .tsD_rev2 .tsI_dsc { color: #fff!important; } .tsD_rev2 .tsI_dsc_wrp { background-color: #00000052!important; border-radius: 20px!important; padding: 5px!important; } .tsD_rev2 .item_1 {width: 100% !important;} @media (min-width:850px){.tsD_rev2 .item_2, .tsD_rev2 .item_3 {width: 45.5% !important;}} @media (max-width:600px){.tsD_rev2 .tsI {width: 100% !important;}}
/*-------------------End of Reviews 2-------------------*/

/*---Finance---*/
ul.Non li {list-style-type: none !important;}