:root {
    --cta: #952824;
}

html {
  height: auto;
  min-height: 100%;
}

body {
  overflow-x: hidden;
  height: 100%;
  min-height: 100vh;
  position: relative;
  
  font-family: Roboto;
}

.layout-container {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100%;
  background-color: #ffffff;
}

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

.btn {
  font-family: Montserrat;
}

h1,
h2,
h3,
h4,
h5,
h6,
.ewh1,
.ewh2,
.ewh3,
.ewh4,
.ewh5,
.ewh6 {
  font-family: Montserrat;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

p {
  font-family: Roboto;
  font-weight: 400;
}

h1,
.ewh1 {
  font-size: 1.7rem;
  font-weight: 400;
}

h2,
.ewh2 {
  font-size: 1.5rem;
  font-weight: 400;
}

h3,
.ewh3 {
  font-size: 1.35rem;
  font-weight: 400;
}

h4,
.ewh4 {
  font-size: 1.5rem;
  font-weight: 500;
}

h5,
.ewh5 {
  font-size: 1rem;
  font-weight: 400;
}

h6,
.ewh6 {
  font-size: 1rem;
  font-weight: 500;
}

@media (min-width: 576px) {
  h1,
  .ewh1 {
    font-size: 1.9rem;
    font-weight: 400;
  }

  h2,
  .ewh2 {
    font-size: 1.7rem;
    font-weight: 400;
  }

  h3,
  .ewh3 {
    font-size: 1.45rem;
    font-weight: 400;
  }

  h4,
  .ewh4 {
    font-size: 1.5rem;
    font-weight: 500;
  }

  h5,
  .ewh5 {
    font-size: 1rem;
    font-weight: 400;
  }

  h6,
  .ewh6 {
    font-size: 1rem;
    font-weight: 500;
  }
}

@media (min-width: 768px) {
  h1,
  .ewh1 {
    font-size: 2rem;
    font-weight: 400;
  }
  
  h2,
  .ewh2 {
    font-size: 1.8rem;
    font-weight: 400;
  }
  
  h3,
  .ewh3 {
    font-size: 1.55rem;
    font-weight: 400;
  }
  
  h4,
  .ewh4 {
    font-size: 1.5rem;
    font-weight: 500;
  }
  
  h5,
  .ewh5 {
    font-size: 1.05rem;
    font-weight: 400;
  }
  
  h6,
  .ewh6 {
    font-size: 1rem;
    font-weight: 500;
  }
}

@media (min-width: 992px) {
  h1,
  .ewh1 {
    font-size: 2.3rem;
    font-weight: 400;
  }
  
  h2,
  .ewh2 {
    font-size: 2rem;
    font-weight: 400;
  }
  
  h3,
  .ewh3 {
    font-size: 1.65rem;
    font-weight: 400;
  }
  
  h4,
  .ewh4 {
    font-size: 1.5rem;
    font-weight: 500;
  }
  
  h5,
  .ewh5 {
    font-size: 1.15rem;
    font-weight: 400;
  }
  
  h6,
  .ewh6 {
    font-size: 1rem;
    font-weight: 500;
  }
}

@media (min-width: 1200px) {
  h1,
  .ewh1 {
    font-size: 2.5rem;
    font-weight: 400;
  }
  
  h2,
  .ewh2 {
    font-size: 2rem;
    font-weight: 400;
  }
  
  h3,
  .ewh3 {
    font-size: 1.75rem;
    font-weight: 400;
  }
  
  h4,
  .ewh4 {
    font-size: 1.5rem;
    font-weight: 500;
  }
  
  h5,
  .ewh5 {
    font-size: 1.25rem;
    font-weight: 400;
  }
  
  h6,
  .ewh6 {
    font-size: 1rem;
    font-weight: 500;
  }
}

main {
  padding: 30px 0px;
}

.webform-submission-form input,
.webform-submission-form textarea {
  width: 100%;
  border: 1px solid #dddddd;
  padding: 7px 15px;
  margin: 7px 0px;
  background: #ffffff;
}

.webform-submission-form .form-submit {
  background: #952824;
  color: #ffffff;
  border: none;
  padding: 10px 0px;
  font-weight: 900;
  text-transform: uppercase;
}

#drupal-live-announce {
  display: none;
}

.two-cols {
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
  -webkit-column-gap: 1em;
  -moz-column-gap: 1em;
  column-gap: 1em;
  display: block;
  -webkit-perspective: 1;
}

.two-cols blockquote {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
  border-left: 0;
  font-size: inherit;
  padding: 0;
  margin: 0 0 10px;
}

.btn-cta {
  background-color: #952824;
  border-color: #952824;
}

.btn-cta:hover {
  filter: brightness(85%);
}

a[href^="mailto:"],
a[href^="tel:"],
a.cta{
    font-weight: 700;
    color: #952824;
}

.heading-404 {
  font-size: 80px;
  color: #103347;
}
.heading-404 i {
  margin-right: 20px;
}

#block-googlemaps iframe,
#block-ewcustom-googlemaps iframe {
  margin: 0;
  width: 100%;
  margin-bottom: -6px;
  height: 450px;
}

.not-front.logged-in main #block-ewcustom-mainpagecontent article:nth-child(1) {
  min-height: 20px;
}

.visually_hidden {
  display: none;
}