/*
Theme Name: T&A Mobile RV Repair
Theme URI: https://azrv.tech
Author: T&A Mobile RV Repair
Author URI: https://azrv.tech
Description: A custom theme built for T&A Mobile RV Repair
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: azrv.tech
*/

/* COLORS */

:root {
  --color1:#1c0b37;
  --color2:#8377d1;
  --color3:#e38b44;
  --color4:#fffffc;
  --color5:#1c1c1c;
}

/* Reset */

*{
margin: 0px;
padding: 0px;
border: 0px;
font-family: inherit;
font-size: inherit;
line-height: inherit;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}

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

html, body,h1, h2, h3, h4, h5, h6,a, p, span,em, small, strong,sub, sup,mark, del, ins, strike,abbr, dfn,blockquote, q, cite,code, pre,ol, ul, li, dl, dt, dd,div, section, article,main, aside, nav,header, hgroup, footer,img, figure, figcaption,address, time,audio, video,canvas, iframe,details, summary,fieldset, form, label, legend,table, caption,tbody, tfoot, thead,tr, th, td{
margin: 0;
padding: 0;
border: 0;
}

a,
a:visited{
color: inherit;
}

article,
aside,
footer,
header,
nav,
section,
main{
display: block;
}

img{max-width:100%;}

/* Top-level styles */

#wpadminbar{display:none;}

*{transition: all 0.2s ease;}

html{
  scroll-behavior: smooth;
  font:18px/1.4em Segoe UI, sans-serif;
}
body{
  background:url(https://azrv.tech/wp-content/uploads/2026/09/ta-rv-bg-scaled-1.webp) top center fixed no-repeat;
  font-family: "Google Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "GRAD" 0; 
}
h1{font-size:2rem;}
h2{font-size:1.6rem;}
h3{font-size:1.2rem;}
h1,h2,h3{
  line-height:1em;
  margin-bottom:1rem;
  font-weight:normal;
}
p{margin-bottom:1rem;}
li{list-style-position: inside;}

/* Structure elements */

.wrapper{
  width:80%;
  margin:0 auto 0 auto;
}
.flexwrap{display:flex;}

/* Above Header */

.above-header{

}
.above-header .widget{
    flex:1;
    line-height:2em;
    font-weight:200;
    text-transform:uppercase;
}
.above-header .widget:nth-of-type(2){
    text-align:right;
}
.above-header p{
    margin:0;
    padding:0;
}
.above-header a{
    color:var(--color2);
    text-decoration:none;
}

/* Header */
header{
  padding-top:2.5rem;
}
.header-left{
  flex:2;
}

.header-left h2{
  color:var(--color4);
  font-weight:bold;
  text-shadow: 0px 2px 8px #000000;
  text-transform:uppercase;
  font-size:3rem;
  font-weight:bold;
  width:50%;
  margin:2em auto 0 auto;
  text-align:center;
}
.header-left h2 span{
  font-size:.75em;
}

.header-center{
  flex:1;
  padding:2rem 0 0 0;
}
.header-right{
  flex:2;
}
.header-right .phone{
  display:block;
  width:100%;
  font-size:3rem;
  font-weight:bold;
  text-align:center;
  text-decoration:none;
  color:var(--color4);
  line-height:6em;
  text-shadow: 0px 2px 4px #000000;
}

.site-title{
    font-size: 2em;
    font-weight: bold;
}

.site-description {
    font-size: 1em;
    color: #666;
}

/* Navigation */

.primary-nav .menu{
  display: flex;
  width:100%;
  list-style: none;
  flex-wrap: wrap;
  justify-content:center;
  position:fixed;
  top:0;
  left:0;
  background:var(--color3);
  color:var(--color4);
  z-index:10;
}

.primary-nav .menu .menu-item{
  margin:0 2rem 0 0;
}
.primary-nav .menu .menu-item:last-child{
  margin:0;
}

.primary-nav .menu .menu-item a{
    display:block;
    text-decoration:none;
    text-transform:uppercase;
    font-size:1.2rem;
    font-weight:400;
    line-height:3em;
    padding:0 1rem 0 1rem;
}
.primary-nav .menu .menu-item:hover a{
  background:var(--color1);
  color:var(--color2);
}

/* Nav Level 2 */

.sub-menu{
  display:none;
  position: absolute;
  transform: translateX(-40%);
  top: 3.5rem;
  z-index: 10;
  background:rgba(255, 255, 255, 1);
  border: 5px var(--color2) solid;
  padding:1rem;
}
.menu .menu-item:hover .sub-menu{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  min-width:40%;
}
.menu .menu-item .sub-menu .menu-item{
  list-style-type:none;
  text-align:center;
  flex:1;
  margin:0;
}
.menu .menu-item .sub-menu .menu-item a{
  padding:0.5rem;
  font-size:1rem;
  color:var(--color3);
  font-weight:bold;
  border-bottom:1px var(--color2) dotted!important;
  line-height:2rem;
  background:#fff;
  text-align:center!important;
}
.dropdown-toggle{
  display:none;
}

/* Nav Level 3 */

.sub-menu .sub-menu{
  flex-direction: column;
  transform: none;
  position: static;
  border: none;
  background:none;
}
.sub-menu .sub-menu .menu-item a{
  color:var(--color2)!important;
  border:none!important;
  font-weight:300!important;
  text-transform:capitalize;
  padding:0!important;
  line-height:1em;
}
.sub-menu .sub-menu .menu-item:hover a{
  color:var(--color3)!important;
  font-style:italic;
}
.sub-menu .sub-menu .menu-item a span{
  display:block;
  font-size:.8em;
  color:var(--color3);
  font-style:italic;
  font-weight:200;
}
.sub-menu .sub-menu .menu-item:hover a span{
  color:var(--color2);
  font-style:normal;
}

/*  Nav Mobile */

.mobile-menu-icon{
  display:none;
  width:100vw;
  background: var(--color2)!important;
  color:var(--color4);
  padding:1rem;
  position:fixed;
  bottom:0;
}
.mobile-menu-icon .line{
  width:25px;
  height:5px;
  background-color:var(--color4);
  margin:5px auto 5px auto;
}
.close{
  display:none;
  width: 32px;
  height: 32px;
  text-align:center;
  margin:2px auto 2px auto;
}
.close:hover{opacity: 1;}
.close:before, .close:after{
  position:absolute;
  text-align:center;
  content: ' ';
  height: 32px;
  width: 2px;
  background-color:var(--color3);
}
.close:before{transform: rotate(45deg);}
.close:after{transform: rotate(-45deg);}

/* Feature */

.feature{}
.feature .widget{
  text-align:center;
  padding:1rem 0 1rem 0;
}

.feature h1{
  color:var(--color4);
  font-size:4rem;
  text-transform:uppercase;
  font-weight:bold;
  text-shadow: 0px 2px 8px #000000;
}
.feature .textwidget > h2{
  color:#fff;
  font-size:2rem;
  text-shadow: 0px 2px 6px #000000;
}
.feature .textwidget > h2.emergency{
  font-weight:bold;
  text-transform:uppercase;
  line-height:2em;
}

.feature .fp_form{
  background:#efefef;
  position:relative;
  border-bottom:1px var(--color1) solid;
}

.feature .fp_form .left{
  flex:3;
}
.feature .fp_form .right{
  flex:1;
}

.feature h2.fp_box_header{
  width:100%;
  font-size:2.5rem;
  line-height:2em;
  text-align:left;
  text-transform:uppercase;
  font-weight:100;
  font-style:italic;
  padding:0 0 0 1em;
  color:var(--color4);
  background:var(--color1);
  margin:0!important;
}

.feature .fp_form .forminator-ui{
  padding:1rem!important;
  margin:0!important;
}

.feature .forminator-ui .forminator-input{
  padding:1rem!important;
  margin-bottom:1rem!important;
}
.feature .forminator-ui .forminator-textarea{
  margin:1rem 0 0 0!important;
  height:170px!important
}

.feature .forminator-field-checkbox .forminator-field{
  display:flex!important;
}
.feature .forminator-field-checkbox .forminator-field .forminator-checkbox{
  flex:1!important;
}
.forminator-ui#forminator-module-33.forminator-design--default .forminator-checkbox .forminator-checkbox-box, .forminator-select-dropdown-container--open .forminator-custom-form-33.forminator-dropdown--default .forminator-checkbox .forminator-checkbox-box{
  background:#fff!important;
}
.feature .forminator-ui.forminator-custom-form[data-design=default] .forminator-checkbox .forminator-checkbox-box{
  width:50px;
  height:50px;
  flex:0 0 50px;
  background:#fff;
}

.feature .forminator-ui.forminator-custom-form[data-design=default] .forminator-checkbox:not(.forminator-checkbox-inline),
.forminator-ui.forminator-custom-form:not(.forminator-size--small)[data-grid=open] .forminator-row-inside:not(:last-child), .forminator-ui.forminator-custom-form:not(.forminator-size--small)[data-grid=open] .forminator-row:not(:last-child){
  margin:0!important;
}

.feature .forminator-button-submit{
  width:470px!important;
  background:var(--color1)!important;
  color:var(--color4)!important;
  position:absolute!important;
  right:1rem!important;
  bottom:4.5rem!important;
  text-transform:uppercase!important;
  font-size:3rem!important;
}

.feature .fp_form .right .optin{
  font-size:.8rem;
  border:2px var(--color1) solid;
  padding:1rem;
  margin:1rem;
}

.feature .forminator-edit-module{
  display:none!important;
}

.feature .phone{
  position:absolute;
  bottom:1rem;
  right:0;
  width:500px;
  font-size:2rem;
  text-align:center;
}
.feature .phone a{
  text-decoration:none;
}


/* Above Content */

.above-content{}
.above-content .widget{
  width:100%;
  text-align:center;
  padding:5rem 0 5rem 0;
  margin:0 0 4rem 0;
}

/* Columns: Upper */

.columns-upper .flexwrap{
    justify-content:space-between;
}

.columns-upper .widget{
    flex:1;
    background:var(--color1);
    color:var(--color4);
    margin:5rem .5rem 5rem .5rem;
    font-weight:200;
    font-size:2rem;
    line-height:1.2em;
    border:1px var(--color2) solid;
}
.columns-upper .widget h2{
    font-size:2rem;
    text-align:center;
    line-height:5em;
    margin-bottom:0;
}
.columns-upper .widget a{
  text-decoration:none;
  text-transform:uppercase;
}
.columns-upper .more-link{
    text-decoration:none;
    font-size:1.5rem;
    font-weight:400;
    color:var(--color4);
}
.columns-upper .more-link:hover{
    color:var(--color3);
}

/* Content */

main{
  padding:2rem 0 2rem 0;
  background:rgba(255, 255, 255, 0.9);
}
.home main{
  margin-top:-10rem;
  padding-top:12rem;
  min-height:800px;
}

.home main{
    padding:10rem 0 10rem 0;
    border-top:5px var(--color2) solid;
}
main article{
    line-height: 1.6em;
    font-size: 1.2rem;
    font-weight: 300;
    flex:3;
}
main .title{
    font-size:3rem;
    background:var(--color2);
    color:var(--color4);
    padding:1rem;
}
main .title span{
    font-size:2rem;
    font-weight:300;
}

.breakout-header{
  background:var(--color2);
  color:var(--color4);
  padding:1rem;
  margin:1rem 0 0 0!important;
}
.breakout{
  background:var(--color1);
  color:var(--color4);
  padding:1rem;
  margin:0 0 1rem 0;
}
.page article h2{
  color:var(--color1);
  font-weight:bold;
  margin:1em 0 1em 0;
}

/* Sidebar / Sidebar Widgets */

aside{
  flex:1;
}

.sidebar .widget{
  margin:0 1rem 1rem 1rem;
  background:#fff;
  border-bottom:5px var(--color2) solid;
}
.sidebar .textwidget{
  padding:1rem;
}
.sidebar .widget h2{
  background:var(--color1);
  color:var(--color4);
  padding:1rem;
}
.sidebar .forminator-ui{
  padding:1rem!important;
}

.page-id-303 .sidebar .forminator-field p{color:var(--color1)!important;}

.sidebar .widget .menu{
	padding:1rem;
}
.sidebar .widget .menu li{
	list-style-type:none;
	line-height:3rem;
	border-bottom:1px var(--color2) dashed;
}
.sidebar .widget .menu li a{
	text-decoration:none;
	font-size:1.4rem;
}

/* Below Content */

.below-content{}
.below-content .widget{
  width:100%;
  text-align:center;
  padding:5rem 0 5rem 0;
  margin:0 0 4rem 0;
}

.below-content h2{
  text-transform:uppercase;
  color:var(--color1);
  font-size:3rem;
  margin:1em auto 1em auto;
}

/* Columns: Lower */

.columns-lower .flexwrap{
    justify-content:space-between;
}

.columns-lower .widget{
    flex:1;
    background:var(--color2);
    color:var(--color4);
    padding:1.5rem 1.5rem 1.5rem 3rem;
    margin:5rem .5rem 5rem .5rem;
    min-height:10rem;
    font-weight:200;
    font-size:2rem;
    line-height:1.2em;
}
.columns-lower .widget h2{
    font-size:2rem;
}
.columns-lower .more-link{
    text-decoration:none;
    font-size:1.5rem;
    font-weight:400;
    color:var(--color4);
}
.columns-lower .more-link:hover{
    color:var(--color3);
}

/* Footer */

footer .flexwrap{
    justify-content:space-between;
}

footer .widget{
    flex:1;
    background:var(--color2);
    color:var(--color4);
    padding:1.5rem 1.5rem 1.5rem 3rem;
    margin:5rem .5rem 5rem .5rem;
    min-height:10rem;
    font-weight:200;
    font-size:2rem;
    line-height:1.2em;
}
footer .widget h2{
    font-size:2rem;
}
footer .more-link{
    text-decoration:none;
    font-size:1.5rem;
    font-weight:400;
    color:var(--color4);
}
footer .more-link:hover{
    color:var(--color3);
}

/* Credit */

.credit{
    text-align:center;
    font-weight:200;
    line-height:2em;
}
.credit p{
  color:#fff;
}

/* Global Extras */

.alignleft{
    float:left;
    margin:1rem 1rem 1rem 0;
}
.aligncenter{
    margin:1rem auto 1rem auto;
}
.alignright{
    float:right;
    margin:1rem 0rem 1rem 1rem;
}
.more-link{
    text-decoration:none;
    color:var(--color2);

}
.more-link:hover{
    color:var(--color4);
}
.clearfix{
  display:block;
  clear:both;
  width:100%;
  margin:0;
  padding:0;
}

/* Regular Page Template */

/* Landing Page Template */

/* Page-Specific */

/* Archive / Category */

.archive article{
  margin:1rem;
  border:1px var(--color2) solid;
  padding:1rem;
}
.archive article .more-link{
  display:block;
  margin:2rem 0 2rem 0;
}

/* Store */

.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .woocommerce-placeholder{
  border:2px var(--color1) solid;
}

.woocommerce ul.products li.product .button{
  background:var(--color2);
  color:var(--color4);
}
.woocommerce ul.products li.product .button:hover{
  background:var(--color3);
  color:var(--color4);
}

.woocommerce a.added_to_cart{
  margin:2rem 0 2rem 0;
  width:100%;
  text-align:center;
  border:2px var(--color1) solid;
  padding:0.5rem;
}

.woocommerce a.added_to_cart:hover{
  background:var(--color3);
  color:var(--color4);
}


.woocommerce-cart main aside{
  display:none;
}

.wc-block-cart-item__image{
  width:10%;
}
.wc-block-cart-item__product{
  width:80%;
}

.woocommerce-Address-title{
  
}
.woocommerce-Address-title .edit{
  font-size:1rem;
}

/* Outer Map Wrapper & Responsiveness */
.az-map-container {
  position: relative;
  width: 100%;
  width: 650px;
  margin: 0 auto;
  padding: 10px;
  box-sizing: border-box;
}

/* SVG Rendering & Scalability */
.az-service-svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}

/* Default Vector Path Styling */
.az-county {
  stroke: #ffffff;
  stroke-width: 1.5px;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  transition: fill 0.25s ease, filter 0.2s ease, opacity 0.2s ease;
}

/* Service Area Color Zones */
.az-county.service-primary {
  fill: #1e40af; /* Primary Dark Blue (Standard Rates) */
}

.az-county.service-secondary {
  fill: #60a5fa; /* Secondary Light Blue (Extended Rates) */
}

.az-county.out-of-service {
  fill: #e2e8f0; /* Soft Gray (Not Serviced) */
  opacity: 0.7;
}

/* Interactive Hover States */
.az-county.service-primary:hover,
.az-county.service-secondary:hover {
  fill: #0f172a; /* Deep Navy Highlight */
  cursor: pointer;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.25));
}

.az-county.out-of-service:hover {
  fill: #cbd5e1; /* Slightly darker gray on hover */
  cursor: not-allowed;
}

/* Dynamic Tooltip Element */
.az-tooltip {
  position: absolute;
  display: none;
  padding: 8px 14px;
  background-color: #0f172a;
  color: #ffffff;
  border-radius: 6px;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.4;
  pointer-events: none; /* Allows cursor to move smoothly over paths */
  z-index: 999;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2), 0 4px 6px -2px rgba(0, 0, 0, 0.1);
  white-space: nowrap;
  transform: translate(-50%, -100%); /* Centers tooltip above the mouse cursor */
  margin-top: -10px;
}

/* Tooltip Header Text */
.az-tooltip strong {
  display: block;
  font-size: 14px;
  color: #60a5fa;
  margin-bottom: 2px;
}

/* CSS Map Legend Below Map */
.az-map-legend {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 20px;
  flex-wrap: wrap;
  font-size: 14px;
}

.az-legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.az-legend-color {
  width: 16px;
  height: 16px;
  border-radius: 3px;
}

.az-legend-color.primary { background-color: #1e40af; }
.az-legend-color.secondary { background-color: #60a5fa; }
.az-legend-color.none { background-color: #e2e8f0; border: 1px solid #cbd5e1; }

/* Memberships */

.memberships .membership-desc{
  flex:1;
  border:1px var(--color1) solid;
  padding:1rem;
}
.memberships h2{
  background:var(--color2);
  color:var(--color4);
  padding:0.5rem;
}
.memberships .membership-desc p{
  line-height:1.5em;
  border-bottom:1px var(--color2) dashed;
}
.memberships .membership-desc p i{
  font-size:0.7em;
  line-height:0.6em;
}



/* Media Queries / Responsive */

@media (min-width:2500px){

}
@media (max-width:1920px){
  .header-left h2{
    font-size:2rem;
    margin:3em auto 0 auto;
  }
  .header-right .phone{
    line-height:5em;
  }

  .menu .menu-item .sub-menu .menu-item a{
    font-size:0.8rem;
  }

  .feature .fp_form .right .optin{
    font-size:0.7rem!important;
  }
  .feature .forminator-button-submit{
    width:350px!important;
    font-size:2rem!important;
  }
  .feature .phone{
    width:370px!important;
    font-size:1.5rem;
  }
}
@media (max-width:1800px){
  html{font-size:16px;}
  .feature .forminator-button-submit{
    width:325px!important;
  }
}
@media (max-width:1600px){
  html{font-size:14px;}
  .feature .forminator-button-submit{
    width:300px!important;
  }
}
@media (max-width:1400px){
  .feature .forminator-button-submit{
    width:250px!important;
  }
  .feature .phone{
    width:300px!important;
  }
  .below-content h2{
    font-size:2rem;
  }
}
@media (max-width:1300px){
  html{font-size:12px;}
}
@media (max-width:1400px){

}

/* PHONE LAYOUT */

@media (max-width:1200px){

html{font-size:16px;}
body{overflow-x:hidden;padding-bottom:4rem;
  background-size: cover;
  position:relative;
}

.wrapper{
  width:100%;
  padding:1rem!important;
}

header, header .wrapper{
  padding:0!important;
}

.flexwrap{
  flex-direction:column;
}
article{padding:1rem;}
.widget{
  margin:1rem 0 1rem 0!important;
}

/* HEADER / LOGO */

.above-header, .header-left{display:none;}
.header-center{padding:0;}

.header-right .phone{
  line-height:2em;
}

header .flexwrap{
  flex-direction:column;
}
header .logo{
  width:100%;
  margin:2rem 0 2rem 0;
  margin:0 auto 0 auto!important;
}
header h1{margin:0;}

/* FEATURE AREA */

.feature h1{
  font-size:2rem!important;
  background:var(--color2);
  color:var(--color4);
  padding:1rem;
}
.feature .textwidget > h2.emergency{
  padding:1rem;
  line-height:1em;
}

.feature .widget{
  padding:0;
  margin:0;
}

.feature .wrapper{
  padding:0!important;
}

.feature h2.fp_box_header{
  font-size:1.2rem;
  padding:1rem;
  text-align:center;
}

.feature .forminator-field-checkbox .forminator-field{
  flex-direction:column;
  padding:1rem!important;
}
.forminator-checkbox-box{
  margin-bottom:1rem;
}

.feature .forminator-button-submit, .feature .phone{
  position:static!important;
  width:100%;
  margin:1rem auto 1rem auto!important;
}

/* UPPER COLUMNS */

/* ABOVE CONTENT AREA */

/* CONTENT */

main .title{
  font-size:1.4rem;
}

/* BELOW CONTENT AREA */

/* FOOTER */

/* EXTRAS */

.alignleft,
.aligncenter,
.alignright{
  float:none;
  display:block;
  width:100%;
  margin:0;
  padding:1rem;
}

/* NAVIGATION */

nav{height:auto;}
nav .menu{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  background:var(--color2);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  transform:translateY(-100%);
  opacity:0;
  padding:1ch;
  z-index:9999;
}
nav .menu li{width:100%;margin:0.5ch 0 0.5ch 0;}
nav .menu li a{font-size:1rem;color:var(--color4);text-align:center;font-size:1.4rem;line-height:1.6em;}
nav .menu li:hover a{background:var(--color2);color:var(--color4);}
nav .menu li:hover .sub-menu, nav .menu li:active .sub-menu{width:100%!important;}
nav .menu li:hover a, nav .menu li:active a, nav .menu li.current-menu-item a{color:var(--color3);}
.mobile-menu-icon{display:block;z-index:100;border-top:2px var(--color3) solid;}
.nav-active{transform:translateY(0%)!important;opacity:1!important;position:fixed!important;z-index:100000;}
nav ul li a{}
nav ul li:hover .sub-menu, nav ul li:active .sub-menu{
  position:static;
  display:block;
}
nav ul li:hover .sub-menu li, nav ul li:active .sub-menu li{
  background:;
  line-height:1rem;
  width:100%;
  margin:0;
}
.menu-active .line{display:none;}
.menu-active .close{display:block;}
.menu .sub-menu{
  flex-direction: column;
  transform: none;
}
.menu .menu-item .sub-menu .menu-item a{
  background:none;
}
.menu .menu-item:hover a{
  color:var(--color4);
}

}