/*
Theme Name: Alabama Preferred
Theme URI: https://alabamapreferred.com/
Description: Custom child theme for Alabama Preferred Heating & Cooling.
Author: Point Forge
Template: generatepress
Version: 1.0.4
Text Domain: alabama-preferred
*/

/* =========================================================
   ALABAMA PREFERRED HEATING & COOLING
   GLOBAL DESIGN SYSTEM
========================================================= */

:root{
  --aphc-blue:#0f6fae;
  --aphc-blue-dark:#0a4f7d;

  /* ALABAMA PREFERRED BRAND RED */
  --aphc-red:#ff0000;
  --aphc-red-dark:#cc0000;

  --aphc-black:#151515;
  --aphc-charcoal:#2b2b2b;
  --aphc-gray:#666666;
  --aphc-light:#f5f6f7;
  --aphc-border:#d9dde1;
  --aphc-white:#ffffff;

  --aphc-container:1280px;
  --aphc-content:1180px;

  --aphc-radius:8px;
  --aphc-shadow:0 10px 30px rgba(0,0,0,.08);
}


/* =========================================================
   GLOBAL BRAND COLOR LOCK
========================================================= */

body *{
  --aphc-red:#ff0000 !important;
  --aphc-red-dark:#cc0000 !important;

  --aphc-header-red:#ff0000 !important;
  --aphc-header-red-dark:#cc0000 !important;

  --aphc-brand-red:#ff0000 !important;
  --aphc-brand-red-dark:#cc0000 !important;
}


/* =========================================================
   GLOBAL RESET / BASE
========================================================= */

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--aphc-white);
  color:var(--aphc-black);
  font-family:Arial, Helvetica, sans-serif;
  font-size:18px;
  line-height:1.65;
}

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

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

a{
  color:var(--aphc-blue);
  text-decoration:none;
}

a:hover,
a:focus{
  color:var(--aphc-blue-dark);
}


/* =========================================================
   REMOVE GENERATEPRESS WIDTH RESTRICTIONS
========================================================= */

.site.grid-container,
.grid-container{
  max-width:100%;
  width:100%;
}

.site-content{
  width:100%;
  max-width:100%;
  padding:0;
}

.content-area{
  width:100%;
  max-width:100%;
}

.site-main{
  margin:0;
}

.inside-article{
  padding:0;
}


/* =========================================================
   STANDARD INNER CONTAINER
========================================================= */

.aphc-container{
  width:min(100% - 40px, var(--aphc-container));
  margin-left:auto;
  margin-right:auto;
}

.aphc-content{
  width:min(100% - 40px, var(--aphc-content));
  margin-left:auto;
  margin-right:auto;
}


/* =========================================================
   TYPOGRAPHY
========================================================= */

h1,
h2,
h3,
h4,
h5,
h6{
  margin-top:0;
  color:var(--aphc-black);
  line-height:1.15;
  font-weight:800;
}

h1{
  font-size:clamp(2.5rem,5vw,4.5rem);
}

h2{
  font-size:clamp(2rem,3.5vw,3.2rem);
}

h3{
  font-size:clamp(1.4rem,2.2vw,2rem);
}

p{
  margin-top:0;
  margin-bottom:1.25rem;
}


/* =========================================================
   BUTTON SYSTEM
========================================================= */

.aphc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 26px;
  border:2px solid transparent;
  border-radius:var(--aphc-radius);
  font-weight:700;
  line-height:1.1;
  cursor:pointer;
  transition:
    background-color .2s ease,
    border-color .2s ease,
    color .2s ease,
    transform .2s ease;
}

.aphc-btn:hover{
  transform:translateY(-1px);
}

.aphc-btn-primary{
  background:var(--aphc-red);
  color:var(--aphc-white);
  border-color:var(--aphc-red);
}

.aphc-btn-primary:hover,
.aphc-btn-primary:focus{
  background:var(--aphc-red-dark);
  border-color:var(--aphc-red-dark);
  color:var(--aphc-white);
}

.aphc-btn-secondary{
  background:var(--aphc-blue);
  color:var(--aphc-white);
  border-color:var(--aphc-blue);
}

.aphc-btn-secondary:hover,
.aphc-btn-secondary:focus{
  background:var(--aphc-blue-dark);
  border-color:var(--aphc-blue-dark);
  color:var(--aphc-white);
}

.aphc-btn-outline{
  background:transparent;
  color:var(--aphc-black);
  border-color:var(--aphc-black);
}

.aphc-btn-outline:hover,
.aphc-btn-outline:focus{
  background:var(--aphc-black);
  color:var(--aphc-white);
}


/* =========================================================
   SECTION SYSTEM
========================================================= */

.aphc-section{
  width:100%;
  padding:80px 0;
}

.aphc-section-light{
  background:var(--aphc-light);
}

.aphc-section-dark{
  background:var(--aphc-black);
  color:var(--aphc-white);
}

.aphc-section-dark h1,
.aphc-section-dark h2,
.aphc-section-dark h3,
.aphc-section-dark h4,
.aphc-section-dark h5,
.aphc-section-dark h6{
  color:var(--aphc-white);
}


/* =========================================================
   CARD SYSTEM
========================================================= */

.aphc-card{
  background:var(--aphc-white);
  border:1px solid var(--aphc-border);
  border-radius:var(--aphc-radius);
  padding:30px;
  box-shadow:var(--aphc-shadow);
}


/* =========================================================
   HEADER FOUNDATION
========================================================= */

.site-header{
  background:var(--aphc-white);
  border-bottom:1px solid var(--aphc-border);
}

.inside-header{
  width:min(100% - 40px, var(--aphc-container));
  margin-left:auto;
  margin-right:auto;
  padding:22px 0;
}

.site-branding .main-title a{
  color:var(--aphc-black);
  font-weight:800;
}


/* =========================================================
   NAVIGATION FOUNDATION
========================================================= */

.main-navigation{
  background:var(--aphc-white);
}

.main-navigation .main-nav ul li a{
  color:var(--aphc-black);
  font-weight:700;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a{
  color:var(--aphc-blue);
}


/* =========================================================
   FOOTER
========================================================= */

.site-info{
  background:var(--aphc-black);
  color:var(--aphc-white);
  border-top:4px solid var(--aphc-blue);
}

.site-info .inside-site-info{
  width:min(100% - 40px, var(--aphc-container));
  margin-left:auto;
  margin-right:auto;
  padding:22px 0;
  text-align:center;
}

.site-info a{
  color:var(--aphc-white);
}


/* =========================================================
   FORMS
========================================================= */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="time"],
select,
textarea{
  width:100%;
  min-height:50px;
  padding:12px 14px;
  border:1px solid var(--aphc-border);
  border-radius:6px;
  background:var(--aphc-white);
  color:var(--aphc-black);
  font:inherit;
}

textarea{
  min-height:140px;
  resize:vertical;
}

input:focus,
select:focus,
textarea:focus{
  outline:none;
  border-color:var(--aphc-blue);
  box-shadow:0 0 0 3px rgba(15,111,174,.12);
}


/* =========================================================
   GLOBAL RED COMPONENT OVERRIDES
========================================================= */

.aphc-header-menu .aphc-schedule-link,
.aphc-btn-primary,
.aphc-about-btn-red,
.aphc-live-submit{
  background-color:#ff0000 !important;
  border-color:#ff0000 !important;
}

.aphc-header-menu .aphc-schedule-link:hover,
.aphc-header-menu .aphc-schedule-link:focus,
.aphc-btn-primary:hover,
.aphc-btn-primary:focus,
.aphc-about-btn-red:hover,
.aphc-about-btn-red:focus,
.aphc-live-submit:hover,
.aphc-live-submit:focus{
  background-color:#cc0000 !important;
  border-color:#cc0000 !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:768px){

  body{
    font-size:17px;
  }

  .aphc-container,
  .aphc-content,
  .inside-header,
  .site-info .inside-site-info{
    width:min(100% - 28px, var(--aphc-container));
  }

  .aphc-section{
    padding:56px 0;
  }

  .aphc-card{
    padding:24px;
  }

  .aphc-btn{
    width:100%;
  }

