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

body { margin: 0; }

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

p, h1, h2, h3 { margin: 0; }

/* ================= TOKENS ================= */
:root{
  --font-sans: "Montserrat", Arial, sans-serif;
  --font-serif: "Merriweather", Georgia, serif;

  --text: #111;
  --muted: #333;
  --gray-bg: #e6e6e6;

  --container-max: 1600px;
}

/* ================= CONTAINER ================= */
.container-wide{
  max-width: var(--container-max);
  margin: 0 auto;
  padding-left: 30px;
  padding-right: 30px;
}

/* ================= BASE TYPE ================= */
body{
  font-family: var(--font-serif);
  font-size: 16px;
  line-height: 1.55;
  color: var(--text);
  background: #fff;
}

/* ================= HEADER ================= */
.site-header{
  padding: 24px 0 16px;
}

.site-title{
  font-family: var(--font-sans);
  font-weight: 900;
  font-size: 66px;
  line-height: 1.05;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.site-subtitle{
  font-size: 16px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
  max-width: 1100px;
  margin: 0 auto;
}

/* ================= BANNER ================= */
.banner-img{
  display: block;
  width: 100%;
  border-top: 15px solid #000;
  border-bottom: 15px solid #000;
}

/* ================= INTRO (LOCKED) ================= */
.intro-section{
  margin: 0;
  padding: 0;
}

.intro-max{
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}

.intro-row{
  background: #efefef;
}

.intro-copy{
  padding: 40px 100px 40px 110px !important;
  font-size: 16px;
  line-height: 1.8em;
}

.intro-copy p{
  padding-bottom: 20px;
  margin: 0;
}

.intro-copy p.mb-0{
  padding-bottom: 0;
}

.intro-lead{
  font-weight: 700;
}

.intro-flag{
  background-image: url("/assets/img/ca-flag.jpg");
  background-size: cover;
  background-position: left top;
  background-repeat: no-repeat;
}

.intro-copy a,
.intro-copy a:visited{
  color: #444;
  text-decoration: underline;
}

.intro-copy a:hover{
  text-decoration: underline;
  color: #000;
}

/* ================= DOWNLOADS (LOCKED) ================= */
.downloads-section{
  margin: 0;
  padding: 0;
}

.downloads-max{
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}

/* Left column (matches intro) */
.downloads-section .col-lg-7.downloads-col{
  padding: 40px 100px 40px 110px !important;
}

/* Right column (tighter left inset) */
.downloads-section .col-lg-5.downloads-col{
  padding: 40px 100px 40px 44px !important;
  background-color: #efefef;
}

.downloads-col-secondary{
  background-color: #efefef;
}

.downloads-title{
  font-family: var(--font-sans);
  font-weight: 900;
  font-size: 24px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  margin: 0 0 20px;
}

.downloads-section .link-list a{
  font-size: 19px;
  line-height: 1.35;
}

.downloads-section .link-list i{
  font-size: 25px;
  width: 25px;
  height: 25px;
  position: relative;
  top: 1px;
  flex: 0 0 25px;
}

/* ================= ARTICLES (DESKTOP) ================= */
.articles-section{
  padding: 0;
}

.articles-max{
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  background: #dbdbdb;
}

.articles-col{
  padding: 40px 100px 40px 110px !important;
}

.articles-title{
  font-family: var(--font-sans);
  font-weight: 900;
  font-size: 24px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  margin: 0 0 24px;
}

.articles-section .link-list a{
  font-size: 19px;
  line-height: 1.35;
}

.articles-section .link-list i{
  font-size: 25px;
  width: 25px;
  height: 25px;
  position: relative;
  top: 1px;
  flex: 0 0 25px;
}

.articles-section .link-list li{
  margin-bottom: 22px;
}

/* ================= LINKS (GLOBAL) ================= */
.link-list{
  list-style: none;
  padding: 0;
  margin: 0;
}

.link-list li{
  margin-bottom: 10px;
}

.link-list a{
  color: var(--text);
  text-decoration: none;
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
}

.link-list a:hover{
  text-decoration: underline;
}

/* ================= FOOTER ================= */
.site-footer{
  color: #f2f2f2;
  padding: 0;
}

.footer-max{
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding: 40px 100px 40px 110px !important;
  background: #1f1f1f;
}

.footer-top{
  font-family: var(--font-serif);
  font-size: 19px;
  font-weight: 400;
  margin-bottom: 28px;
}

.footer-top a,
.footer-top a:hover{
  color: #fff;
}

.footer-contact,
.footer-social{
  margin-bottom: 8px;
}

.footer-bottom{
  font-family: var(--font-serif);
  font-size: 19px;
  line-height: 1.5;
  text-align: center;
}

.footer-bottom p{
  margin: 0 0 14px;
}

.footer-logo{
  max-width: 180px;
  height: auto;
}

.nowrap{
  white-space: nowrap;
}


/* ================= COMPLAINTS ================= */
#complaints{
	position: relative;
	padding: 40px 100px 40px 44px !important;
}
#complaints::after{
	content:'';
	position: absolute;
	z-index: 2;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: #000000;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.75) 70%, rgba(0, 0, 0, 0.45) 100%);
}
#complaints .contentContainer{
	position: relative;
	z-index: 20;
}
#complaints .contentContainer .downloads-title{
	color: #fff;
}
#complaints .downloads-section .link-list li{
	margin-bottom: 20px;
}
#complaints .downloads-section .link-list a{
	color: #fff;
}
#complaints .downloads-section .link-list a:hover{
	text-decoration: none;
}
#complaints .downloads-section .link-list a span{
	flex-direction: column;
	display: flex;
	line-height: 1.3em;
}
#complaints .downloads-section .link-list a:hover span{
	text-decoration: underline;
}
#complaints .downloads-section .link-list a span small{
	font-family: "montserrat", sans-serif;
	font-weight: 500;
	font-size: 0.775em;
}



/* ================= COMPRESSION: <=1399.98px ================= */
@media (max-width: 1399.98px){

  .intro-copy{
    padding: 40px 50px 40px 50px !important;
  }

  .downloads-section .col-lg-7.downloads-col,
  .downloads-section .col-lg-5.downloads-col{
    padding: 40px 50px 40px 50px !important;
  }

  .articles-col{
    padding: 40px 50px 40px 50px !important;
  }

  .footer-max{
    padding: 40px 50px 40px 50px !important;
  }

}


/* ================= COMPRESSION: <=1199.98px ================= */
@media (max-width: 1199.98px){

  .site-title{ font-size: 58px; }
  .site-subtitle{ font-size: 14px; }

  .intro-copy{
    padding: 40px 40px 40px 40px !important;
    font-size: 14px;
  }

  .downloads-section .col-lg-7.downloads-col,
  .downloads-section .col-lg-5.downloads-col{
    padding: 40px 40px 40px 40px !important;
  }

  .articles-col{
    padding: 40px 40px 40px 40px !important;
  }

  .footer-max{
    padding: 40px 40px 40px 40px !important;
  }

  .downloads-title,
  .articles-title{
    font-size: 17px;
  }

  .downloads-section .link-list a,
  .articles-section .link-list a{
    font-size: 14px;
  }

  .footer-top,
  .footer-bottom{
    font-size: 14px;
  }

  .downloads-section .link-list i,
  .articles-section .link-list i{
    font-size: 16px;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
  }

}


/* ================= COMPRESSION: <=991.98px ================= */
@media (max-width: 991.98px){

  .intro-flag{
    display: none;
  }
  
  #complaints.intro-flag{
  	display: block;
	background-position: left bottom;
  }
  
  /* Header */
  .site-title{
    font-size: 44px;
  }

  .site-subtitle{
    font-size: 16px; /* intentional bump for readability */
  }

  /* Standard padding for all lower text containers */
  .intro-copy,
  .downloads-section .downloads-col,
  .articles-col,
  .footer-max{
    padding: 40px !important; /* TRBL */
  }

}

/* ================= MOBILE: <=767.98px ================= */
@media (max-width: 767.98px){

  /* Header */
  .site-header{
    padding: 25px 20px;
  }
  
  .container-wide {
    padding-left: 0px;
    padding-right: 0px;
  }

  .site-title{
    font-size: 24px;
  }

  .site-subtitle{
    font-size: 14px;
  }

  /* Standard padding for all text containers + footer */
  .intro-copy,
  .downloads-section .downloads-col,
  .articles-col,
  .footer-max{
    padding: 25px 20px 25px 20px !important;
  }

  /* Body text */
  .intro-copy,
  .downloads-section .link-list a,
  .articles-section .link-list a,
  .footer-top,
  .footer-bottom{
    font-size: 12px;
  }

  /* Section headlines */
  .downloads-title,
  .articles-title{
    font-size: 15px;
  }

  /* Icon alignment (keep size, reset vertical nudge) */
  .downloads-section .link-list i,
  .articles-section .link-list i{
    top: 0;
  }

  /* Footer alignment */
  .footer-top,
  .footer-bottom{
    text-align: center;
  }

}

