/*
Theme Name: TowingWebsites.com Custom
Description: Powered by TowingWebsites.com
Author: TowingWebsites.com
Author URI: https://towingwebsites.com
Template: Avada
Version: 2.0.0
Text Domain:  Avada
*/

/* sets the background of the SDMO section */
.sdmo {
  background-color:#ffff00;
}

.CAC-road-pattern {
  background-image: linear-gradient(135deg, transparent 0 46%, rgba(207,47,34,0.18) 46% 47%, transparent 47% 100%), linear-gradient(45deg, transparent 0 62%, rgba(255,255,255,0.06) 62% 63%, transparent 63% 100%) !important;
  background-size: 170px 170px, 240px 240px !important;
  background-repeat: repeat !important;
}


.CAC-priority-panel {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(250px, 1fr)) !important;
  gap: 18px !important;
}

.CAC-priority-panel a {
  position: relative !important;
  display: block !important;
  min-height: 245px !important;
  padding: 32px 28px 30px 30px;
  background: linear-gradient(135deg, #111111, #1d1d1d) !important;
  color: #ffffff !important;
  border-top: 7px solid #cf2f22 !important;
  clip-path: polygon(0 0, 100% 0, 100% 88%, 88% 100%, 0 100%) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,0.34) !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

.CAC-priority-panel a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #cf2f22;
  opacity: 0;
  transition: opacity 0.28s ease;
  z-index: 0;
}

.CAC-priority-panel a:hover::before {
  opacity: 0.92;
}

.CAC-priority-name,
.CAC-priority-copy {
  position: relative;
  z-index: 1;
}

.CAC-priority-name {
  display: block;
  font-size: 27px;
  line-height: 1;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-weight: 900;
  color: #ffffff;
}

.CAC-priority-copy {
  display: block;
  margin-top: 15px;
  color: #e2e2e2;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
}

.CAC-service-list a {
  display: block !important;
  color: #ffffff !important;
  text-decoration: none !important;
}
.CAC-service-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(250px, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
}

/* Supports either:
   <a class="CAC-service-item">
   <div class="CAC-service-item">
   <a><span>Service</span></a>
*/
.CAC-service-item,
.CAC-service-list > a,
.CAC-service-list span {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 66px !important;
  padding: 18px 32px !important;
  overflow: hidden !important;
  background-color: #404040 !important;
  color: #ffffff !important;
  border-left: 6px solid #cf2f22 !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  isolation: isolate !important;
  transition: transform 0.3s ease, padding-left 0.3s ease, background-color 0.3s ease !important;
}

.CAC-service-item::before,
.CAC-service-list > a::before,
.CAC-service-list span::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: linear-gradient(90deg, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.66) 56%, rgba(207,47,34,0.18) 100%), url("https://ctautocenter.towingwebsites.net/wp-content/uploads/Connecticut-Auto-Center-Milford-CT-swirled-bg-small-color-red-1.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  opacity: 0 !important;
  transform: scale(1.08) !important;
  transition: opacity 0.35s ease, transform 0.35s ease !important;
  z-index: -2 !important;
}

.CAC-service-item::after,
.CAC-service-list > a::after,
.CAC-service-list span::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: -42px !important;
  width: 94px !important;
  height: 100% !important;
  background-color: rgba(207,47,34,0.24) !important;
  transform: skewX(-22deg) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease, right 0.3s ease !important;
  z-index: -1 !important;
}

.CAC-service-item:hover,
.CAC-service-list > a:hover,
.CAC-service-list a:hover span {
  background-color: #101010 !important;
  padding-left: 40px !important;
  transform: translateX(6px) !important;
}

.CAC-service-item:hover::before,
.CAC-service-list > a:hover::before,
.CAC-service-list a:hover span::before {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.CAC-service-item:hover::after,
.CAC-service-list > a:hover::after,
.CAC-service-list a:hover span::after {
  right: 18px !important;
  opacity: 1 !important;
}

@media (max-width: 1400px) {
  .CAC-service-list {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .CAC-service-item,
  .CAC-service-list > a,
  .CAC-service-list span {
    min-height: 78px !important;
    padding: 24px 18px !important;
    font-size: 22px !important;
  }

  .CAC-service-item:hover,
  .CAC-service-list > a:hover,
  .CAC-service-list a:hover span {
    padding-left: 34px !important;
  }
}

@media (max-width: 549px) {
  .CAC-service-item,
  .CAC-service-list > a,
  .CAC-service-list span {
    padding: 22px !important;
    font-size: 20px !important;
  }

  .CAC-service-item:hover,
  .CAC-service-list > a:hover,
  .CAC-service-list a:hover span {
    padding-left: 28px !important;
  }
}

.CAC-proof-list {
  display: grid;
  gap: 12px;
}

.CAC-proof-list span {
  display: block;
  background: rgba(255,255,255,0.08);
  color: #ffffff;
  padding: 17px 20px;
  border-left: 5px solid #cf2f22;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 500;
}

.CAC-city-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(160px, 1fr));
  gap: 12px;
}

.CAC-city-grid span {
  display: block;
  background: rgba(255,255,255,0.07);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.18);
  padding: 16px 18px;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: center;
}


.CAC-final-bg {
  position: relative !important;
}

.CAC-final-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(207,47,34,0.32), transparent 34%);
  pointer-events: none;
  z-index: 0;
}

.CAC-final-bg .fusion-row {
  position: relative;
  z-index: 1;
}

.CAC-service-list a {
  position: relative !important;
  padding-left: 68px !important;
}

.CAC-service-list a::after {
  content: "" !important;
  position: absolute !important;
  left: 28px !important;
  top: 50% !important;
  width: 25px !important;
  height: 25px !important;
  background-image: url("/wp-content/uploads/favicon.png") !important;
  background-color: transparent !important;
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  transform: translateY(-50%) !important;
  z-index: 20 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
}

.CAC-service-list a:hover,
.CAC-service-list a:focus {
  padding-left: 76px !important;
}

.CAC-service-list a:hover::after,
.CAC-service-list a:focus::after {
  left: 36px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 1200px) {
  .CAC-priority-panel {
    grid-template-columns: 1fr;
  }

  .CAC-priority-panel a {
    min-height: 0;
  }

  .CAC-city-grid {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
  }
}


@media (max-width: 799px) {
  .CAC-priority-name {
    font-size: 26px;
  }

  .CAC-city-grid {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }
}

@media (max-width: 549px) {
  .CAC-priority-panel a {
    clip-path: none;
    padding: 24px;
  }

  .CAC-city-grid {
    grid-template-columns: 1fr;
  }
}



@keyframes TW-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.6; transform: scale(0.85); }
}

.wpsr-reviews-badge-html {
    box-shadow:none !important;
}

/* this will push a global button that is aligned center to the left if the container has the right class */
.push-global-button-left .call-now {
  float:left;
}

/* makes text wrap nicely at breaks instead of widows */
.balance-text {
text-wrap: balance;
}


/* ADJUST Z-INDEX FOR REVIEW BUBBLES */
.wpsr-reviews-notification-card-wrapper {z-index: 999 !important;}

/* Removes 3D button border. First data is upper border, second is lower border, last is drop shadow */
.fusion-button {
    box-shadow:inset 0 0px 0 rgba(0,0,0,0), 0 .15em 0 var(--button_bevel_color), .1em .2em .3em .15em rgba(0, 0, 0, .4) !important;
}

/* Set Text Selection Color */
::selection {
  background: var(--awb-custom_color_22);
}

/* Button push code for nested columns. Useful for centering phone # and request service buttons in header */
@media screen and (min-width:1025px){
.push-right  div {
    text-align:right !important;
}
.push-left div {
  text-align:left !important;
}
}

/* Useful for cloud section separator whose only position is up */
.flipper {
  transform:rotate(180deg);
}

/* paste in footer. Corrects left align at line break */
.fusion-footer .menu-item span {
    text-align:center !important;
}
.fusion-footer .fusion-button span {
    text-align:center !important;
}

/* Remove 2 column unordered list first column top margin */
.fusion-text-columns-2 ul {margin-top: 0px;}


/* BUTTON MIN-WIDTH */
.fusion-button {min-width: 250px;}
/* SECONDARY BUTTON */
.secondary-button {background: var(--awb-custom_color_12) !important;}
.secondary-button .fusion-button-text {color: var(--awb-custom_color_14) !important;}
.secondary-button:hover {background: var(--awb-custom_color_13) !important;}
.secondary-button:hover .fusion-button-text {color: var(--awb-custom_color_15) !important;}
/* LOAD MORE BUTTONS */
.fusion-load-more-button {max-width: 250px; margin: auto; color: #ffffff !important; line-height: .3em;}
.wpsr-ig-load-more, .wpsr-fb-load-more {background-color: #939393 !important; border-radius: 0px !important; padding: 10px 25px !important; font-size: 20px !important; text-transform: uppercase;}

/* ADJUST RELATED POSTS CAROUSEL TITLES */
.fusion-carousel-title-below-image .fusion-carousel-title {font-size: 18px !important; line-height: 1.3em !important;}

/* DROPDOWN MENU - CHANGE COLORS IN THEME OPTIONS  */
.fusion-main-menu .fusion-dropdown-menu .sub-menu li a:hover span {color: var(--awb-custom_color_16);}
.fusion-main-menu .sub-menu .current-menu-item.current_page_item a {color: var(--awb-custom_color_21);}
.fusion-main-menu .fusion-dropdown-menu .sub-menu li a {font-family: inherit !important; font-weight: 600 !important; text-transform: uppercase;}
.fusion-main-menu .sub-menu .current-menu-item.current_page_item a, .fusion-main-menu .fusion-dropdown-menu .sub-menu li.current-menu-item a {color: var(--awb-custom_color_21);}

/* MENU TEXT & BUTTONS */
.fusion-header .menu-text {text-transform: uppercase;}
.fusion-header .button-large {font-size: 18px;}
.fusion-sticky-shadow .button-large {font-size: 15px;}

/* MOBILE MENU TEXT */
.fusion-mobile-nav-item {margin-bottom: 10px;}

/* BLOG */
.fusion-footer-widget-area .lwptoc {display: none !important;}
.fusion-carousel-meta {display: none !important;}
.fusion-related-posts-title-link {font-size: 20px !important; line-height: 21px !important;}
h4.fusion-carousel-title {font-size: 20px !important; line-height: 1.3em !important;}

/* TEXT */
.white-text h1, .white-text h2, .white-text h3, .white-text h4, .white-text h5, .white-text h6 {color: #ffffff !important; text-shadow: 2px 2px 3px #000000;}
.white-text, .white-text .fusion-post-content-container {color: #ffffff !important;}
.shadow {text-shadow: 2px 2px 3px #000000;}

/* REVIEWS  */
.wpsr-reviews-notification-card .wpsr-notification-content-wrapper .wpsr-review-header .reviewer-name {text-transform: capitalize;}
.wpsr-review-template .wpsr-review-date, .wpsr-review-template .wpsr-review-content p {color: var(--awb-text-color) !important;}
.wpsr_add_read_more .wpsr_read_less, .wpsr_add_read_more .wpsr_read_more {text-decoration-color: var(--link_color) !important; color: var(--link_color) !important;}

/* ADJUST RESPONSIVE TOP HEADER BAR */
@media only screen and (max-width: 1024px) {.fusion-contact-info {padding: 10px 30px 10px 30px !important;} .fusion-social-links-header {display: none;}}
@media only screen and (max-width: 800px) {.fusion-contact-info {padding-left: 3px !important; padding-right: 3px !important;} .fusion-header-separator, .header-email {display:none;}}
@media only screen and (max-width: 375px) {.fusion-contact-info {display:none;}}

/* TITLE BAR */
.fusion-page-title-bar {background-size: cover !important;}

/* FIND YOUR LOCATION FORM */
@media only screen and (min-width: 1024px) {
.findme-left {grid-column: span 6 !important;  -ms-grid-column-span: 6 !important;}
.findme-right-column {grid-column: span 6 !important;  -ms-grid-column-span: 6 !important;} 
.find-me-form-container .gform_footer {float: right; width: 50%;}
.find-me-form-container .gform_footer input[type=submit] {width: 90%;}
}
.findme-right-column {padding-top: 35px;}
.findme-right-column .find-me-field label {font-size: 17px !important; margin-bottom: 3px !important;}
.findme-right-column #form-secure-message {margin-top: 10px; font-size: 13px !important;}
#find-me-button-desc {font-size: 16px; line-height: 1.5em; text-align: center; display: block; margin-bottom: 20px;}
.find-me-field {margin-bottom: 16px;}

/* FIND YOUR LOCATION FORM LOCATOR BUTTON */
.gform_wrapper .gfgeo-locator-button, .find-me-button .gfgeo-locator-button {font-weight: 600; font-family: inherit; font-size: inherit; text-transform: uppercase; min-width: 300px; cursor: pointer; margin: auto; padding: 7px 20px !important; background: #000000; color: #FFFFFF; border: 1px #ffffff solid;}
.gform_wrapper .gfgeo-locator-button:hover, .find-me-button .gfgeo-locator-button:hover {background: #777777;}



/* FOOTER PAYMENT ICONS */
#footer-cc-icons {display: flex; justify-content: center; align-items: center; flex-wrap: wrap; margin: 0 auto;}
#footer-cc-icons .cc-icon-img {max-width: 60px; height: auto; margin: 2px; border-radius: 3px;}
@media only screen and (max-width: 600px) {#footer-cc-icons .cc-icon-img {max-width: 40px;}}

/* FIX FOOTER SOCIAL ICON LINE HEIGHT */
.fusion-social-network-icon {line-height:30px !important;}

/* GFORMS */
.gsection_title {margin-bottom: 7px;}
.gsection_description {padding-bottom: 5px !important; padding-top: 5px !important; line-height: 1.5em !important;}
#form-secure-message {font-size: 14px !important; line-height: 1.2em; max-width: 700px; margin: auto; text-align: center;} #form-secure-message a {color: inherit !important; text-decoration: underline;}
.gform_wrapper .gfield_required {font-size: inherit;}
h2.gsection_title, h3.gsection_title {font-size: 1.4em !important;}
.gform_wrapper .gfield select {font-size: inherit !important;}
.gform_wrapper .gform_button, .gform_wrapper .gform_page_footer input[type=button] {padding: 10px 60px !important; line-height: inherit !important; font-size: inherit !important;}
.gform_next_button, .gform_prev_button {-moz-appearance: none; -webkit-appearance: none;}
.partial_entry_warning, .gform_required_legend {display: none;}
.gfield_label {font-family: inherit; font-weight: 500 !important;}
body .gform_wrapper .gform_heading .gform_description {font-weight: 500; text-align: center;}
body .gform_wrapper .gform_footer input[type=submit] {min-width: 60%; margin: auto; display: block;}

/* GFORM ERRORS */
body .gform_wrapper .gfield_error, body .gform_wrapper .validation_error, .gform_wrapper .gform_validation_errors {color: #e50f2b; background-color: transparent !important; border: 0px !important; margin-bottom: 0px !important; padding: 0px !important; box-shadow: none !important;}
.gform_wrapper .gfield_error .gfield_label, .gform_wrapper .validation_message {color: #e50f2b !important; background: transparent !important; border: 0px !important; padding-top: 5px !important;}
.gfield_error select, .gfield_error input, .gfield_error textarea {border: 1px solid #e50f2b !important;}
.gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {border: 1px solid #ccc;}
.gform_legacy_markup_wrapper.gf_browser_chrome .gfield_error .ginput_complex.ginput_container.has_first_name.has_middle_name.has_last_name span.name_last, .gform_legacy_markup_wrapper.gf_browser_chrome .gfield_error .ginput_complex.ginput_container.has_first_name.has_middle_name.has_last_name span.name_middle {margin-left: 0px !important;}
.gform_legacy_markup_wrapper li.gfield.gfield_error.gfield_contains_required div.ginput_container, .gform_legacy_markup_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label {margin-top: 0px !important;}
.gform_legacy_markup_wrapper li.gfield.gfield_error table.gfield_list thead th {color: #e50f2b !important;}

/* STYLE POWERED BY TW */
#footer-copyright {line-height: 50px !important;}
@media only screen and (max-width: 500px){#footer {min-height: 130px}}
@media only screen and (min-width: 1024px){#footer-copyright {float: left;} #tw {float: right;}}
@media only screen and (min-width: 1024px){.fusion-copyright-content {width: 80%; margin: auto;}}

/*
.tw-copyright-left {text-align: left;}
.tw-copyright-right {text-align: right;}
@media screen and (max-width: 1024px) {.tw-copyright-left, .tw-copyright-right {text-align: center !important;}} */
.tw-copyright-left, .tw-copyright-right {text-align: center !important;}