@import url("https://fonts.googleapis.com/css2?family=Lato:wght@200;300;400;500;600;700;800;900&display=swap");
:root {
  --pri-color:#298888;
  --pri-color-two:#B4E8E8;
  --pri-color-three:#008080;
  --pri-color-four:#174B4B;
  --sec-color: #6A2020;
  --sec-color-two: #e0cbcb;
  --sec-color-three: #6A2020;
  --accent-color: #6A2020;
  --font-color: #7e4a07;
  --font-color-two: #17558b;
  --font-color-three: #3b6488;
  --button-color-one: #6A2020;
  --button-color-two: #6A2020;
} 
@font-face {
    font-family:Crillee Italic;
    src:url(../fonts/Font-Crillee-Italic.ttf);
}



/* ------------------- Defaults -------------------  */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  list-style: none;
}
html {
  scroll-behavior: smooth; /*for scrolling on same page*/
  scroll-padding-top: 10rem;
}
body {
  font-family: "Lato", sans-serif;
  background-repeat: no-repeat;
}
section {
  margin: auto;
}
button {
  padding: .6rem 1.8rem;
  text-transform: uppercase;
  font-size: 1.2rem;
  font-weight: 500;
  cursor: pointer;
  border-width: 1px;
  border-style:solid;
  border-radius: 7px;
}
textarea {
  font-family: inherit;
}
img {
  vertical-align: middle;
}
a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
h1 {
  font-size: 4rem;
  font-weight: 600;
  text-transform: uppercase;
}
h2 {
  font-size: 2.5rem;
  font-weight: 600;
  text-transform: uppercase;
}
h3 {
  font-size: 2rem;
  font-weight: 500;
  text-transform: uppercase;
}
h4 {
  font-size: 1.6rem;
  font-weight: 500;
  text-transform: uppercase;
}
h5 {
  font-size: 1.4rem;
  font-weight: 400;
  text-transform: uppercase;
}
h6 {
  font-size: 1.2rem;
  font-weight: 400;
  text-transform: uppercase;
}



/* ------------------- Utilities -------------------  */
.util-full-width {
  margin: auto;
  width: 100vw;
}
.util-page-width {
  margin: auto;
  width: 70rem;
}
.util-round {
  border-radius: 5px;
}
.util-grid {
  display: grid;
}
.util-cols-3fr-2fr {
  grid-template-columns: 3fr 2fr;
}
.util-cols-2fr-3fr {
  grid-template-columns: 2fr 3fr;
}



/* ------------------- Components -------------------  */
.button-one {
  border-color: var(--button-color-one);
  background-color: var(--button-color-one);
  color: white;
  transition: background-color 150ms ease-out, color 150ms ease-out;
}
.button-one:hover {
  background-color: #ffffff90;
  color: var(--button-color-one);
}
.button-two {
  border-color: var(--button-color-two);
  background-color: white;
  color: var(--button-color-two);
  transition: background-color 150ms ease-out, color 150ms ease-out;
}
.button-two:hover {
  color: white;
  background-color: var(--button-color-two);
}
.button-three {
  margin: 0;
  padding: 0;
  font-size: 1rem;
  background-color: transparent;
  color: var(--button-color-one);
  border: none;
  transition: opacity 150ms ease-out;
}
.button-three:hover {
  color: var(--button-color-one);
  opacity: .5;
}
.button-four {
  background-color: transparent;
  color: var(--button-color-one);
  border: none;
  transition: opacity 150ms ease-out;
}
.button-four:hover {
  color: var(--button-color-one);
  opacity: .5;
}




/* ------------------- Modules -------------------  */
header {
  position: fixed;
  z-index: 99; /* needed to stay in front of <img> elements*/
  width: 100%;
  color: white;
  background-image: linear-gradient(90deg, var(--pri-color-two), var(--pri-color-four));
}
header.sticky-header {
  background-image: linear-gradient(to right, #fcfcfc95, #013d3d95);
}
header .header-wrapper {
  padding: 1.5rem 6rem;
  position: relative;
  display: grid;
  grid-template-columns: 1.5fr 3fr;
}
header .site-logo img {
  height: 4rem;
  transition: height 250ms ease;
}
header.sticky-header .site-logo img {
  height: 3rem;
}
header .nav-menu {
  display: flex;
  align-self: center;
  justify-self: end;
}
header .nav-menu img {
  margin-left: 2rem;
  height: 1.5rem;
  display: inline-block;
}
header .nav-menu ul {
  display: flex;
}
header .nav-menu li {
  margin: auto 1rem;
  font-size: 1.2rem;
  font-weight: 600;
  text-transform: uppercase;
  transition: color 100ms ease-out;
}
header .nav-menu li:hover {
  color: var(--accent-color);
}
header .nav-menu li:focus {
  color: var(--accent-color);
}
header .nav-menu a.active {
  color: var(--accent-color);
}


footer {
  background-color: var(--pri-color);
  color: white;
}
footer .footer-cards {
  margin: auto;
  padding: 2rem;
  width: 70rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
footer .foot-card {
  margin: 0 2rem;
  padding: 1rem;
}
footer .foot-card h3 {
  font-size: 1.5rem;
  font-weight: 400;
  text-transform: uppercase;
  text-align: center;
}
footer .foot-card hr {
  margin-bottom: 1rem;
}
footer .foot-card p {
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
}
footer .foot-card h4 {
  font-size: 1.2rem;
  font-weight: 400;
  text-align: center;
}
footer .foot-card h5 {
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
}
footer .foot-card ul {
  list-style: none;
}
footer .foot-card ul li {
  font-size: 1rem;
  font-weight: 400;
}
footer .foot-card img {
  width: 2rem;
}
footer .footer-legal {
  padding: 1rem;
  background-color: var(--pri-color-four);
}
footer .footer-legal h3 {
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
}


.banner-section {
  margin: 9rem auto;
  width: 100vw;
}


/* ------------------- Index Page -------------------  */
.showcase {
  padding: 12rem 8rem;
  min-height: 90vh;
  background-image: url("../images/computer-on-desk.jpg"), linear-gradient(#B4E8E895,#B4E8E895);
  background-blend-mode:lighten;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
.showcase .column {
  margin-top: 6rem;
}
.showcase .tagline h1 {
  margin-bottom: 2rem;
  color:#000000;
  font-size: 4rem;
  font-weight: 800;
  line-height: 80%;
  text-shadow: 2px 2px 5px #33333350;
}
.showcase .tagline h2 {
  color:#000000;
  font-size: 2.5rem;
  font-weight: 600;
  text-shadow: 2px 2px 5px #33333350;
}
.showcase .tagline h2 span {
  font-weight: 800;
}
.showcase .tagline h4 {
  margin-bottom: 2.5rem;
  color:#000000;
  font-size: 1.8rem;
  font-weight: 400;
  text-transform: none;
  text-shadow: 2px 2px 5px #33333350;
}
.showcase .tagline h4 span {
  font-weight: 600;
}
.showcase .tagline span {
  font-weight: 600;
}
.showcase button {
  margin-right: 1rem;
}
.showcase button span {
  font-weight: 800;
}


.services {
  margin: 4rem auto;
  display: flex;
}
.services .column {
  margin: 0 1rem;
  padding: 0 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.services img {
  width: 64px;
}
.services h4 {
  margin-top: 1.2rem;
  font-weight: 600;
}
.services p {
  margin-top: .5rem;
  text-align: center;
}
.services button {
  margin-top: 1rem;
  text-shadow: none;
}


.statement {
  padding: 7rem 0;
  background-image: url("../images/computer-meeting-table.jpg"), linear-gradient(var(--pri-color-four), var(--pri-color-four));
  background-blend-mode: saturation;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
.statement .column {
  margin: auto;
}
.statement h2 {
  font-weight: 400;
  color: white;
  text-align: center;
  text-transform: none;
}
.statement h2 span {
  font-weight: 700;
}


.service-details {
  margin: 6rem auto;
}
.service-details .block {
  margin: 4rem auto;
  display: flex;
  align-items: center;
}
.service-details .text-wrapper {
  padding: 0 3rem;
  width: 48%;
}
.service-details .image-wrapper {
  width: 52%;
  position: relative;
  display: block;
}
.service-details .image-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(#B4E8E899,#B4E8E899)
}
.service-details img {
  width: 100%;
  height: 400px;
  border-radius: 7px;
}
.service-details h3 {
  margin-top: .2rem;
  text-transform: none;
  font-weight: 800;
}
.service-details h4 {
  font-size: .8rem;
  font-weight: 400;
}
.service-details p {
  margin-top: 1rem;
  line-height: 1.5rem;
}
.service-details button {
  margin-top: 1.2rem;
}


.consultation-banner {
  padding: 5rem 0;
  background-image: url("../images/computer-meeting-table.jpg"), linear-gradient(var(--pri-color-four), var(--pri-color-four));
  background-blend-mode: saturation;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
.consultation-banner .column {
  text-align: center;
  color: white;
}
.consultation-banner h3 {
  font-size: 3rem;
  letter-spacing: .1rem;
}
.consultation-banner h3 span {
  font-weight: 700;
}
.consultation-banner p {
  margin-top: 1rem;
  font-size: 1.5rem;
  line-height: 2rem;
}
.consultation-banner button {
  margin-top: 2rem;
}


.frequent-questions {
  margin: 3rem auto 7rem;
}
.frequent-questions h3 {
  padding: 3rem;
  font-weight: 700;
  text-align: center;
}
.accordion-panel {
  margin: 1rem auto;
  cursor: pointer;
  border: 1px solid black;
  border-radius: 7px;
}
.accordion-trigger {
  padding: .5rem 1.5rem;
  position: relative;
}
.accordion-trigger button {
  all: unset;
  cursor: pointer;
  width: 100%;
}
.accordion-trigger img {
  position: absolute;
  right: 1rem;
  cursor: pointer;
  transition: transform 300ms ease-out;
}
.accordion-trigger.expanded img {
  transform: rotate(45deg);
}
.accordion-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 500ms;
}
.accordion-content.expanded {
  grid-template-rows: 1fr;
}
.accordion-content > div {
  overflow: hidden;
}
.accordion-content p {
  padding: 1rem 1.5rem 2rem 1.5rem;
}


.client-projects {
  padding: 5rem 0 7rem 0;
  background-image: url("../images/graph-arrow-up.jpg"), linear-gradient(var(--sec-color-two), var(--sec-color-two));
  background-blend-mode:soft-light;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top right;
}
.client-projects h3 {
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
  text-transform: none;
}
.client-projects h3 span {
  font-weight: 800;
}
.client-projects .block {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.client-projects .image-wrapper {
  position: relative;
  display: block;  
}
.client-projects .image-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(#6A202050,#6A202050) 
}
.client-projects img {
  width: 100%;
  height: 12rem;
  border-radius: 7px;
  box-shadow: 2px 2px 3px #a7a7a7;
}


.testimonials {
  margin: 5rem auto 7rem;
}
.testimonials .column {
  width: 40rem;
}
.testimonials img {
  width: 64px;
}
.testimonials .icon {
  opacity: .2;
}
.testimonials p {
  margin: 2rem 0;
  line-height: 1.5rem;
}
.testimonials h6 {
  display: inline;
  text-transform: none;
}


.blog {
  margin: 7rem auto;
}
.blog h3 {
  font-size: 4rem;
  text-align: center;
}









/* ------------------- Services Page -------------------  */
/* ------------------- About Page -------------------  */
/* ------------------- Blog Page -------------------  */
/* ------------------- Contact Page -------------------  */