:root {
  --white: #fff;
  --lightred: #e5241f;
  --darkred: #a61b18;
  --text: #3c3c3b;
  --lightgrey: #f6f6f6;
  --pantone: #003c71;
  --darkpantone: #002038;
  --brown: #99928e;
  --lightbrown: #d3ccc2;
  --midbrown: #cbbba0;
}
html {
  scroll-behavior: smooth;
}
body {
  color: var(--text);
  font-family: "Raleway", serif;
  font-family: "Titillium Web", serif;
}
body.admin-bar .fixed-top {
  top: 32px;
}
article h1,
article h2,
article h3,
article h4 {
  margin-top: 1.4rem;
  margin-bottom: 0.7rem;
}
/* Helpers */
.alignleft {
  float: left;
  margin-right: 1.5rem;
}
.alignright {
  float: right;
  margin-left: 1.5rem;
}
.aligncenter {
  display: block;
  margin: 0 auto 1.5rem;
}
.leaflet-container a,
a,
.btn-link,
.page-link {
  color: var(--brown);
}
.leaflet-container a:hover,
.leaflet-container a:focus,
a:hover,
a:focus,
.btn-link:hover,
.page-link:hover {
  color: var(--midbrown);
}
.color-blue .leaflet-container a {
  color: var(--pantone);
}
.color-blue .leaflet-container a:hover,
.color-blue .leaflet-container a:focus {
  color: var(--darkpantone);
}
.textwidget img,
article img {
  max-width: 100%;
  height: auto;
}
.bgcover {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
/* video embed */
.embed-youtube,
.embed-vimeo {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  clear: both;
  margin-bottom: 2rem;
}
.embed-youtube iframe,
.embed-vimeo iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
iframe,
object,
embed {
  max-width: 100%;
}
/* calendar */
.widget_calendar .widget-title,
.widget_websoupevents_calendar .widget-title {
  background-color: var(--darkred);
  color: #fff;
  padding: 0.2rem 0.6rem;
}
.widget_calendar caption {
  caption-side: top;
  text-align: center;
  font-weight: bold;
  color: var(--darkred);
  padding-top: 0.125rem;
}
.widget_calendar table {
  width: 100%;
  position: relative;
}
.widget_calendar tbody td,
.widget_calendar thead th {
  border-top: 1px solid #dee2e6;
  padding: 0.3rem;
}
.widget_calendar tfoot #prev {
  position: absolute;
  top: 0;
  left: 0;
}
.widget_calendar tfoot #next {
  position: absolute;
  top: 0;
  right: 0;
}
.widget_calendar tfoot .pad {
  display: none;
}
.widget_calendar thead th,
.widget_calendar tbody td {
  text-align: center;
}
.widget_calendar tbody a {
  background-color: var(--darkred);
  color: #fff;
  border-radius: 50%;
  display: inline-block;
  width: 1.688rem;
}
.widget_calendar tbody td a:hover {
  background-color: var(--darkred);
  text-decoration: none;
}
/* Article */
article header p {
  margin-bottom: 0.5rem;
}
article time {
  font-weight: 600;
}
/* Footer */
footer.footer {
  background-color: var(--darkred);
  color: var(--white);
}
footer.footer a {
  color: var(--white);
}
/* Color validator fix */
#totop {
  width: 30px;
  height: 30px;
  text-align: center;
  background: var(--brown);
  color: #ffffff;
  display: none;
  position: fixed;
  bottom: 9px;
  right: 20px;
  font-size: 26px;
  line-height: 26px;
  z-index: 900;
  box-sizing: content-box;
}
.gallery .gallery-icon {
  text-align: center;
}
div[class*="gallery-columns-"] {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
.gallery > figure {
  display: inline-block;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.gallery-columns-1 > figure {
  width: 100%;
}
.gallery-columns-2 > figure {
  width: 50%;
}
.gallery-columns-3 > figure {
  width: 33.33%;
}
.gallery-columns-4 > figure {
  width: 25%;
}
.gallery-columns-5 > figure {
  width: 20%;
}
.gallery-columns-6 > figure {
  width: 16.66%;
}
.gallery-columns-7 > figure {
  width: 14.28%;
}
.gallery-columns-8 > figure {
  width: 12.5%;
}
.gallery-columns-9 > figure {
  width: 11.11%;
}
.admin-bar .navbar-main.fixed-top {
  top: 32px !important;
}
/**/
.navbar-brand img {
  width: 100px;
}
#main-nav {
  background-color: var(--brown);
}
.preheader {

}
.gap {
  gap: 1rem;
}
.color-blue .preheader {
  background-color: var(--pantone);
}
.preheader a {
  color: #fff;
}
.preheader a:hover,
.preheader a:focus {
  text-decoration: none;
}
.navbar-dark .navbar-nav .nav-link {
  color: var(--white);
}
.entry-title {
  margin-bottom: 0;
}
.entry-content > h2:first-child {
  margin-top: 0;
  margin-bottom: 2rem;
}
blockquote {
  background-color: var(--lightgrey);
  padding: 20px 25px;
  line-height: 1.8em;
  margin-bottom: 2rem;
}
blockquote > p:last-child {
  margin-bottom: 0;
}
.citeicon {
  display: inline-block;
  height: 1.8em;
  width: 2.8em;
  vertical-align: text-bottom;
  background-image: url("../images/cit.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.navbar-dark .navbar-toggler {
  border-color: transparent;
}
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.wp-block-audio {
  margin-bottom: 2rem;
}
.metrocont {
  text-align: center;
  overflow-x: auto;
}
.metroline {
  list-style-type: none;
  position: relative;
  padding: 145px 45px 0 0;
  display: inline-block;
  margin-bottom: 2rem;
  white-space: nowrap;
}
.metroline:before {
  content: "";
  position: absolute;
  left: 12px;
  right: 98px;
  height: 7px;
  bottom: 18px;
  background: var(--lightred);
}
.metroline li {
  transform: rotate(-60deg);
  transform-origin: top left;
  display: inline-block;
  position: relative;
  line-height: 1em;
  padding: 0;
  margin: 0 -40px 0 0;
  font-weight: bold;
  color: var(--lightred);
}
.metroline li:before {
  content: "";
  display: inline-block;
  height: 1em;
  width: 1em;
  background: #fff;
  border-radius: 50%;
  border: 5px solid var(--lightred);
  vertical-align: middle;
  margin-right: 10px;
}
.metroline li a {
  color: var(--lightred);
}
.color-blue .metroline li a {
  color: var(--pantone);
}
.color-blue .metroline li:before {
  border-color: var(--pantone);
}
.metroline small {
  position: absolute;
  bottom: -14px;
  left: 0;
  margin-left: 34px;
  color: var(--text);
}
.lmap {
  height: 450px;
}
.mb-2r {
  margin-bottom: 2rem;
}
.pn {
  background-color: var(--lightgrey);
}
.pn a {
  color: #fff !important;
  background-color: var(--lightred);
  border: 6px solid var(--lightred);
  overflow: hidden;
  font-weight: bold;
  line-height: 1.3em;
}
.pn a:hover,
.pn a:focus {
  text-decoration: none;
  background: var(--darkred);
  border-color: var(--darkred);
}
.pn a small {
  font-weight: 400;
}
.pn > div {
  margin-bottom: 1rem;
}
.pn img {
  width: 80px;
  border-radius: 50%;
}
.pn .float-left a {
  border-radius: 0 46px 46px 0;
}
.pn .float-right a {
  border-radius: 46px 0 0 46px;
}
.pn .fa {
  font-size: 20px;
}
.bglightgrey {
  background-color: var(--lightgrey);
}
.statussidebar {
  padding-top: 22px;
  padding-bottom: 12px;
  padding-left: 30px;
  position: relative;
}
.statussidebar:before {
  content: "";
  position: absolute;
  display: block;
  left: 6px;
  top: 0;
  bottom: 0;
  width: 5px;
  border: 3px dashed #ddd;
}
.statussidebar:after {
  content: "";
  position: absolute;
  display: block;
  left: 5px;
  top: 36px;
  bottom: 46px;
  width: 7px;
  background-color: var(--lightred);
}
.statussidebar > div {
  position: relative;
}
.statussidebar > div:before {
  content: "";
  position: absolute;
  display: block;
  top: 5px;
  left: -30px;
  height: 17px;
  width: 17px;
  background: #fff;
  border-radius: 50%;
  border: 5px solid var(--lightred);
  z-index: 9;
}
.color-blue .statussidebar > div:before {
  border-color: var(--pantone);
}
.statussidebar > div {
  min-height: 75px;
}
.statussidebar > div:last-child {
  min-height: auto;
}
.btn-red {
  color: #fff;
  border-color: var(--lightred);
  background-color: var(--lightred);
}
.btn-red:hover,
.btn-red:focus {
  color: #fff;
  border-color: var(--darkred);
  background-color: var(--darkred);
}
.btn-blue {
  color: #fff;
  border-color: var(--pantone);
  background-color: var(--pantone);
}
.btn-blue:hover,
.btn-blue:focus {
  color: #fff;
  border-color: var(--darkpantone);
  background-color: var(--darkpantone);
}
#estimate {
  font-size: 14px;
}
.bd {
  background-color: #fff;
  border: 2px solid var(--lightred);
  border-radius: 5px;
  padding: 4px 10px 4px 30px;
  font-size: 14px;
  position: relative;
}
.color-blue .bd {
  border-color: var(--pantone);
}
.bd i {
  font-size: 22px;
  color: var(--lightred);
  position: absolute;
  top: 4px;
  left: 5px;
}
.color-blue .bd i {
  color: var(--pantone);
}
.bdnoicon {
  background-color: #fff;
  border: 2px solid var(--lightred);
  border-radius: 5px;
  padding: 4px 10px;
  font-size: 14px;
  position: relative;
}
.color-blue .bdnoicon {
  border-color: var(--pantone);
}
.bdnoicon i {
  color: var(--darkred);
}
.color-blue .bdnoicon i {
  color: var(--pantone);
}
.mapsign {
  padding: 0 1px;
  font-size: 20px;
  margin-top: 8px;
  color: var(--white) !important;
}
#vidmodal .modal-body {
  position: relative;
  padding: 30px 0 0 0;
  outline: none;
  box-shadow: none;
}
#vidmodal .modal-content {
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
}
#vidmodal .close {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 999;
  font-size: 30px;
  font-weight: normal;
  color: #fff;
  opacity: 1;
}
#video {
  text-align: center;
  background-color: #000;
}
#video video {
  display: block;
}
figcaption {
  text-align: center;
  font-size: 85%;
}
.rmore {
  overflow: hidden;
}
.rmore + a {
  display: block;
  margin-top: -18px;
}
.custommarker > span {
  background-color: var(--darkred);
  width: 2rem;
  height: 2rem;
  display: block;
  left: -1rem;
  top: -1rem;
  position: relative;
  border-radius: 2rem 2rem 0;
  transform: rotate(45deg);
  border: 1px solid var(--white);
  position: relative;
}
.custommarker > span:after {
  content: "";
  position: absolute;
  display: block;
  width: 14px;
  height: 14px;
  background-color: var(--white);
  border-radius: 50%;
  top: 8px;
  left: 8px;
}
.prevnext {
  margin-bottom: 3rem;
}
.prevnext a {
  display: inline-block;
  background-color: var(--brown);
  color: var(--white);
  text-decoration: none;
  line-height: 1;
  padding: 0.25rem 0.75rem;
  text-transform: uppercase;
  border-radius: 0.5rem;
  position: relative;
  font-size: 75%;
  font-weight: 500;
}
.prevnext strong {
  display: inline-block;
  border-radius: 0.5rem;
  background: var(--white);
  color: var(--brown);
  padding: 0.25rem 0.5rem;
  font-weight: normal;
  position: absolute;
  top: 0;
}
.goback strong {
  left: 0;
}
.goback a {
  padding-left: 2rem;
}
.gofwd strong {
  right: 0;
}
.gofwd a {
  padding-right: 2rem;
}
.fermttl {
  font-weight: bold;
}
.fermttl strong {
  font-weight: normal;
  display: inline-block;
  color: var(--white);
  background: var(--midbrown);
  font-size: 85%;
  line-height: 1.25rem;
  width: 1.125rem;
  text-align: center;
  border-radius: 0.25rem;
}
.btop {
  height: 2rem;
  border-radius: 2rem 2rem 0 0;
}
.bglightbrown {
  background: var(--lightbrown);
}
.rnd {
  padding: 1rem;
  border-radius: 1rem;
}
audio {
  background: var(--lightbrown);
  border-radius: 1rem;
}
.acco {
  color: var(--white);
  background: var(--brown);
  padding-top: 1rem;
  border-radius: 1.5rem 1.5rem 0 0;
}
.acco h6 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.acco .metroline {
  padding-top: 90px;
}
.acco .metroline li {
  color: var(--white);
  font-size: 85%;
}
.acco .metroline small {
  display: none;
}
.acco .metroline::before {
  background: var(--white);
  height: 3px;
}
.acco .metroline li::before {
  border: 5px solid var(--white);
  background: var(--brown);
}
.acco .metroline > li:nth-child(2)::before {
  border: 5px solid var(--lightred);
  background: var(--white);
}
footer.footer {
  background-color: rgb(61, 61, 61);
}
.fermatablock {
    position: relative;
}
.fermatablock:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -1rem;
    transform: translateY(-50%);
    width: 2px;
    height: 48px;
    background: var(--midbrown);
    display: block;
}
.iconcont {
    position: relative;
    display: inline-block;
    padding: 1px;
}
.iconcont::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 5px solid transparent;
    pointer-events: none;
    z-index: 1;
}
.color-circle {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
}
/* Mobile breakpoints */
@media (max-width: 575.98px) {
  .navbar-brand img {
    width: 50px;
  }
}
@media (min-width: 576px) {
}
@media (max-width: 767.98px) {
}
@media (min-width: 768px) {
}
@media (max-width: 991.98px) {
}
@media (min-width: 992px) {
  .gap {
    gap: 2rem;
  }
}
@media (max-width: 1199.98px) {
}
@media (min-width: 1200px) {
}
