/*
Theme Name: Tucson Water Pros
Theme URI: https://maguspressworks.com
Author: Magus Pressworks
Author URI: https://maguspressworks.com
Description: A custom theme built by Magus Pressworks, for Tucson Water Pros.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maguspressworks.com
*/

/* COLORS */

:root {
  --color1:#0f1535;
  --color2:#0a97c4;
  --color3:#efbe5f;
  --color4:#3e6443;
  --color5:#ffffff;
}

/* 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 */

*{transition: all 0.2s ease;}

html{
  scroll-behavior: smooth;
  font:18px/1.4em Segoe UI, sans-serif;
}
body{
  background:var(--color1);
  padding-top:5rem;
}
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 */

.outer-wrapper{
  background:url(https://tucsonwaterpros.com/wp-content/uploads/2025/12/mainbg.avif) top center no-repeat fixed;
  background-size:cover;
}
.bg-gradient{
  background:url(https://tucsonwaterpros.com/wp-content/uploads/2025/12/bg-gradient.avif) top center no-repeat fixed;
  background-size:cover;
}

.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{
}
header .flexwrap > div{
  flex:1;
}
.header-left{
}
.header-center{
  text-align:center;
}
.header-center .logo-link{
  margin:0;
  padding:0;
}
.header-right{
    flex:2;
}
.site-title{
    font-size: 2em;
    font-weight: bold;
}
.site-description{
    font-size: 1em;
    color: #666;
}
.headertext{
  padding:0;
  margin:0;
  margin-top:-5px;
}
.headertext a{
  display:block;
  color:var(--color5);
  text-decoration:none;
  font-size:2.5rem;
  font-weight:600;
  line-height:7em;
  text-transform:uppercase;
  text-align:center;
}
.headertext .fi{
  font-size:2rem;
}

/* Navigation */
nav.main-menu{
    width:100%;
    background:var(--color2);
    border-bottom:1px #83d3ee solid;
    position:fixed;
    top:0;
    z-index:100;
}

.menu{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content:space-around;
    text-align:right;
    position:relative;
}

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

.menu .menu-item a{
    display:block;
    color:var(--color5);
    text-decoration:none;
    text-transform:uppercase;
    font-size:1.2rem;
    font-weight:600;
    line-height:4em;
    padding:0 1rem 0 1rem;
}
.menu .menu-item:hover a,
.menu .menu-item.current-menu-item{
  color:var(--color3);
  border-bottom:5px var(--color3) solid;
}

/* Nav Level 2 */

.sub-menu{
  display:none;
  position: absolute;
  transform: translateX(-40%);
  top: 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:50%;
}
.menu .menu-item .sub-menu .menu-item{
  list-style-type:none;
  text-align:center;
  flex:1;
}
.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;
}
.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(--color3);
  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;
}

.feature h1,
.feature h2.subtitle{
  color:var(--color5);
  text-transform:uppercase;
  margin:0;
  padding:0;
}
.feature h1{
  font-size:4.5rem;
  font-weight:600;
}
.feature h2.subtitle{
  font-size:3.5rem;
  line-height:1.4em;
  font-style:italic;
  font-weight:300;
  border-bottom:1px var(--color5) solid;
  padding-bottom:0.25em;
  margin-bottom:0.5em;
}
.feature h2.subtitle span{
  color:var(--color3);
  font-weight:600;
}
.feature .flexwrap{
  padding-bottom:2rem;
  border-bottom:1px var(--color5) solid;
}
.feature .box{
  color:var(--color5);
}
.feature .box:nth-of-type(1){
  flex:1.5;
  font-size:1.5rem;
  line-height:2.25em;
  padding:1rem 2rem 1rem 2rem;
  border-right:1px var(--color5) solid;
  text-align:left;
  font-weight:300;
}
.feature .box:nth-of-type(2){
  flex:1;
  padding:1rem 2rem 1rem 2rem;
}
.feature .box h2{
  text-transform:uppercase;
  font-size:2rem;
  font-weight:bold;
}
.feature .box h2 span{
  font-weight:300;
  font-style:italic;
  color:var(--color3);
}
.feature .box:nth-of-type(2) h2 span{
  font-weight:600;
}
.feature .box img{
  border:5px var(--color5) solid;
}
.feature .box b{
  font-weight:600;
}
.feature .box .more-link,
.forminator-ui#forminator-module-46.forminator-design--default .forminator-button-submit{
  display:block;
  text-align:center;
  margin:0 auto 0 auto!important;
  background:var(--color2)!important;
  width:25rem!important;
  color:var(--color5)!important;
  font-size:1.5rem!important;
  font-weight:600;
  padding:1em!important;
  text-transform:uppercase!important;
  line-height:1.5em!important;
}
.feature .box .more-link:hover,
.forminator-ui#forminator-module-46.forminator-design--default .forminator-button-submit:hover{
  box-shadow:none!important;
  background:var(--color1)!important;
}
.forminator-module-edit-link{
  display: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(--color5);
    color:var(--color1);
    margin:3rem .5rem 5rem .5rem;
    min-height:10rem;
    font-weight:200;
    font-size:1.4rem;
    line-height:2em;
    border-bottom:2px var(--color3) solid;
    position:relative;
    padding-bottom:2rem;
}
.columns-upper .widget h2{
    font-size:2rem;
    background:var(--color2);
    color:var(--color5);
    padding:1em;
    text-align:center;
    font-weight:400;
    text-transform:uppercase;
    font-style:italic;
}
.columns-upper .custom-html-widget > *:not(h2){
  padding:1rem;
}
.columns-upper .more-link{
    text-decoration:none;
    font-size:1.4rem;
    font-weight:400;
    font-style:italic;
    text-transform:uppercase;
    background:var(--color2);
    border:2px var(--color3) solid;
    color:var(--color5);
    position:absolute;
    left:35%;
    bottom:-3rem;
}
.columns-upper .more-link:hover{
    color:var(--color3);
}

/* Above Content + Below Content */

.above-content .widget{
  padding:0;
  margin:2rem 0 0 0;
}
.above-content h2,
.below-content h2{
  background:var(--color2);
  color:var(--color5);
  font-size:2rem;
  line-height:2.5em;
  font-weight:300;
  font-style:italic;
  text-align:center;
  margin:0;
}
.above-content h2 a,
.below-content h2 a{
  text-decoration:none;
  color:var(--color3);
  font-weight:600;
}
.above-content h2 .fi,
.below-content h2 .fi{
  font-size:.8em;
}

/* Content */

main{
  padding:2rem 0 2rem 0;
  background-color:var(--color5);
  background:url(https://tucsonwaterpros.com/wp-content/uploads/2025/12/tucson-water.avif);
}

.home main{
    padding:4rem 0 0 0;
}
main article{
    font-size: 1.4rem;
    line-height: 2em;
    font-weight: 300;
    padding:0 2rem 0 0;
    flex:2;
}
main article .title{
    font-size:2rem;
    font-weight:800;
}
main article .title span{
    font-size:2rem;
    font-weight:300;
}
main article h2{
  margin:2rem 0 2rem 0;
  font-weight:800;
}
main article .more-link{
  display:block;
  width:25%;
  background:var(--color2);
  color:var(--color5);
  text-align:center;
  text-transform:uppercase;
  font-weight:bold;
  padding:1em;
  margin:2rem 0 2rem 0;
}
main article .more-link:hover{
  background:var(--color1);
  color:var(--color5);
}

/* Sidebar / Sidebar Widgets */

aside{
  flex:1;
}
.sidebar .widget{
    flex:1;
    background:var(--color1);
    color:var(--color5);
    margin:0rem .5rem 5rem .5rem;
    min-height:10rem;
    font-weight:200;
    font-size:1.4rem;
    line-height:2em;
    position:relative;
    padding-bottom:2rem;
}
.sidebar .widget h2{
    font-size:1.8rem;
    background:var(--color2);
    color:var(--color5);
    padding:1rem;
    text-align:center;
    font-weight:400;
    text-transform:uppercase;
    font-style:italic;
}
.sidebar .custom-html-widget > *:not(h2){
  padding:1rem;
}
.sidebar .more-link{
    display:block;
    width:40%;
    text-decoration:none;
    text-transform:uppercase;
    text-align:center;
    font-size:1.4rem;
    font-weight:400;
    font-style:italic;
    background:var(--color2);
    color:var(--color5);
    margin:1rem auto 1rem auto;
}
.sidebar .more-link:hover{
    color:var(--color3);
}

/* 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{
  background:#0f1535;
}

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

footer .widget{
    flex:1;
    color:var(--color2);
    padding:1rem;
    margin:2rem .5rem 5rem .5rem;
    min-height:10rem;
    font-weight:200;
    font-size:2rem;
    line-height:1.2em;
}
footer .widget:nth-of-type(1){
  text-align:left;
}
footer .widget:nth-of-type(2){
  text-align:center;
}
footer .widget:nth-of-type(3){
  text-align:right;
}
footer .widget h2{
    font-size:2rem;
    color:var(--color5);
}
footer .more-link{
    text-decoration:none;
    font-size:1.5rem;
    font-weight:400;
    color:var(--color4);
}
footer .more-link:hover{
    color:var(--color3);
}
footer .menu{
  flex-direction:column;
}
footer .menu li{
  text-align:left;
  border:none!important;
}
footer .menu li a{
  padding:0!important;
  line-height:2em!important;
  font-weight:300!important;
  color:var(--color2)!important;
}
footer .menu .sub-menu{display:none!important;}

/* Credit */

.credit{
    text-align:center;
    text-transform:uppercase;
    font-weight:200;
    line-height:2em;
    color:var(--color5);
}
.credit a{
  text-decoration:none;
}

/* 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;
}

.bannerimg{
	display:block;
	width:100%;
	height:10rem;
	background:url(https://tucsonwaterpros.com/wp-content/uploads/2025/12/tucson-water-purification.avif) center center no-repeat;
	background-size:cover;
	border:5px var(--color1) solid;
	margin:1rem 0 1rem 0;
}

/* Regular Page Template */

/* Landing Page Template */

/* Page-Specific */

/* Media Queries / Responsive */

@media (min-width:2500px){

}
@media (max-width:1920px){
  body{
    padding-top:4rem;
  }
  .menu .menu-item a{
    font-size:1rem;
  }
  .headertext a{
    font-size:2rem;
    line-height:9em;
  }
  .headertext .fi{font-size:1.5rem;}
  .feature .box h2{
    font-size:1.6rem;
  }
  .feature .box:nth-of-type(1){
    font-size:1.25rem!important;
  }
  .feature .box .more-link{
    margin-top:2rem!important;
  }
}
@media (max-width:1800px){
  html{font-size:16px;}
}
@media (max-width:1600px){
  html{font-size:14px;}
  .feature .box:nth-of-type(1){
    font-size:1.75rem!important;
  }
}
@media (max-width:1400px){
  .feature .flexwrap{
    flex-direction:column;
  }
  .feature .flexwrap .box{
    border:none!important;
    padding:1rem 0 2rem 0;
    text-align:center;
  }
  .feature .flexwrap .box h2{
    font-size:2.5rem;
    line-height:2em;
  }
  .feature .flexwrap .box img{
    width:30%;
  }
}
@media (max-width:1300px){
  html{font-size:12px;}
}

/* PHONE LAYOUT */

@media (max-width:1200px){

html{font-size:16px;}
body{overflow-x:hidden;padding-bottom:4rem;
  background-size: cover;
  position:relative;
  padding:0;
}
.wrapper{
  width:100%;
  padding:1rem!important;
}
.flexwrap{
  flex-direction:column;
}
article{padding:1rem;}
.widget{
  margin:1rem 0 1rem 0!important;
}

/* HEADER / LOGO */

header .flexwrap{
  flex-direction:column;
}
header .logo{
  width:100%;
}
header h1{margin:0;}

header .header-left{display:none;}
.headertext a{
  line-height:2em;
}

/* FEATURE AREA */

.feature .box{
  border:none!important;
  padding:1rem!important;
  line-height:1.6em!important;
}
.feature .box:nth-of-type(1){
  font-size:1.25rem!important;
}
.feature .box .more-link,
.forminator-ui#forminator-module-46.forminator-design--default .forminator-button-submit{
  width:100%!important;
}
.feature h1{
  font-size:3rem;
}
.feature .subtitle{
  padding:4rem 0 4rem 0!important;
}
.feature .flexwrap .box h2{
  font-size:1.8rem;
  line-height:1.5em;
}
.feature .box img{
  width:100%!important;
  padding:0;
}

/* UPPER COLUMNS */

.columns-upper .widget h2{
  font-size:1.5rem;
  padding:1rem;
}

.columns-upper .widget .more-link{
  position:static;
  display:block;
  width:80%;
  text-align:center;
  margin:2rem auto 2rem auto;
}

/* ABOVE CONTENT AREA */

.above-content h2{
  padding:2rem;
  line-height:1.2em;
}

/* CONTENT */

main article{
  padding:1rem;
}
main article .more-link{
  width:100%;
}
.sidebar .more-link{
  width:100%;
}

/* BELOW CONTENT AREA */

/* FOOTER */

footer .widget{
  font-size:1.4rem!important;
  text-align:center!important;
}
footer .widget .menu li a{
  text-align:center;
}
footer .menu-item{
  margin:0!important;
}

/* EXTRAS */

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

/* NAVIGATION */

nav.main-menu{background:none;border:none;}
nav{height:auto;}
nav .menu{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  background:var(--color1);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  transform:translateY(-100%);
  opacity:0;
  padding:1ch;
  z-index:9999!important;
}
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,nav .menu li.current-menu-item{background:var(--color2);color:var(--color4);border-bottom:1px var(--color3) solid!important;}
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:1.6rem;
  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);
}

}