/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi/
Template: Divi
Author: Elegant Themes
Author URI: http://www.elegantthemes.com
Description: Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
Version: 4.24.3.1712669299
Updated: 2024-04-09 15:28:19

*/

/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi/
Template: Divi
Author: Elegant Themes
Author URI: http://www.elegantthemes.com
Description: Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
Version: 4.23.4.1705500881
Updated: 2024-01-17 14:14:41

*/

/* barlow-semi-condensed-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Barlow Semi Condensed";
  font-style: normal;
  font-weight: 300;
  src: url("fonts/barlow-semi-condensed-v15-latin-300.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-semi-condensed-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Barlow Semi Condensed";
  font-style: normal;
  font-weight: 400;
  src: url("fonts/barlow-semi-condensed-v15-latin-regular.woff2")
    format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-semi-condensed-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Barlow Semi Condensed";
  font-style: normal;
  font-weight: 600;
  src: url("fonts/barlow-semi-condensed-v15-latin-600.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-semi-condensed-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Barlow Semi Condensed";
  font-style: normal;
  font-weight: 700;
  src: url("fonts/barlow-semi-condensed-v15-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

body,
p,
.et_pb_toggle_content p,
.et_pb_toggle_content ul li {
  font-family: "Barlow Semi Condensed", Arial, Helvetica, sans-serif;
  font-size: clamp(15px, calc(0.9375rem + ((1vw - 3.6px) * 0.3261)), 18px);
  color: #36505e;
  line-height: 1.35em;
}

.ticker {
  background-color: #71a79c;
  color: white;
  padding: 5px 10px;
}

.ticker-item {
  display: flex;
  gap: 20px;
  border-bottom: 2px solid white;
  padding: 10px 0;
  font-size: clamp(18px, calc(1.125rem + ((1vw - 5.8px) * 0.2985)), 22px);
  line-height: 1.25em;
}

.ticker-item:last-of-type {
  border-bottom: none;
}

.ticker-date {
  font-weight: 600;
  width: 80px;
  min-width: 80px;
}

.news-item {
  border-bottom: 2px solid #36505e;
  font-size: clamp(18px, calc(1.125rem + ((1vw - 5.8px) * 0.2985)), 22px);
  padding-bottom: 20px;
  margin-bottom: 20px;
  line-height: 1.25em;
}

.news-item:last-of-type {
  border-bottom: none;
}

.news-date,
.news-headline {
  font-weight: 600;
}

.btn-load-more {
  position: relative;
  font-size: 18px;
  color: white;
  background-color: #71a79c;
  border-radius: 25px;
  padding: 3px 12px 5px;
  text-decoration: none !important;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
  border: none;
  width: 110px;
  height: 31px;
}

.btn-load-more:hover {
  background-color: #36505e;
}

.button-loading::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  border: 4px solid transparent;
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: button-loading-spinner 1s ease infinite;
}

@keyframes button-loading-spinner {
  from {
    transform: rotate(0turn);
  }

  to {
    transform: rotate(1turn);
  }
}

a {
  color: #36505e;
  text-decoration: none;
  font-weight: 600;
}

a:hover {
  text-decoration: underline;
}

.et_pb_button:hover {
  text-decoration: none !important;
}

.et_pb_preload,
.et_pb_section.et_pb_section_video.et_pb_preload {
  background-color: #ffffff !important;
}

.et_pb_preload:before {
  display: none !important;
}

#page-container h1 {
  font-size: clamp(34px, calc(2.125rem + ((1vw - 5.8px) * 1.194)), 50px);
  min-height: 0vw;
  color: #71a79c;
  line-height: 1.26em;
  font-weight: 600;
}

#page-container .subpage-headline h1 {
  color: #36505e;
}

.intro,
#page-container h2 {
  font-size: clamp(22px, calc(1.375rem + ((1vw - 5.8px) * 0.8955)), 34px);
  min-height: 0vw;
  font-weight: 600;
  line-height: 1.22em;
  color: #36505e;
}

.team-toggle h2.et_pb_toggle_title {
  font-size: clamp(
    20px,
    calc(1.25rem + ((1vw - 5.8px) * 1.1429)),
    28px
  ) !important;
  min-height: 0vw;
  font-weight: 600;
  line-height: 1.22em;
  color: #36505e;
}

.team-name {
  font-size: clamp(20px, calc(1.25rem + ((1vw - 5.8px) * 0.5714)), 24px);
  min-height: 0vw;
  text-align: center;
}

.intro-copy {
  font-size: clamp(18px, calc(1.125rem + ((1vw - 5.8px) * 0.2985)), 22px);
  min-height: 0vw;
}

.et_pb_button {
  transition: none !important;
}

a[href^="tel:"] {
  text-decoration: none;
}

header a,
.menu-title {
  font-size: 18px;
  color: #71a79c;
  font-weight: 600;
}

.intro-copy a,
.news-link a {
  color: #71a79c;
  font-weight: 600;
}

.intro-copy a[href^="tel:"] {
  color: #36505e;
  font-weight: 800;
}

#menu,
#menu-mobile {
  cursor: pointer;
}

.hamburger-line {
  margin-left: 5px;
  width: 32px;
  height: 4px;
  margin-bottom: 3px;
  background-color: #36505e;
}

.menu-open,
.menu-mobile-open {
  display: flex;
  width: 250px;
  flex-direction: column;
  align-items: flex-end;
  padding: 10px;
}

.vertical-menu {
  list-style: none !important;
  padding: 10px 10px !important;
}

.vertical-menu li a {
  font-size: 50px;
  line-height: 1.4em;
  color: white;
  text-decoration: none;
}

.vertical-menu li a:hover {
  color: #35485f;
}

#close-menu,
#close-mobile-menu {
  width: 100% !important;
  text-align: right;
  cursor: pointer;
  font-size: 50px;
  color: white;
  padding: 10px;
}

#service-bar {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

@media only screen and (max-width: 520px) {
  #service-bar {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #hero-image {
    margin-top: 50px;
  }
}

@media (min-width: 981px) {
  .gallery-grid .et_pb_gallery_item {
    width: 33% !important;
    clear: none !important;
  }
}

@media (max-width: 767px) {
  .gallery-grid .et_pb_gallery_item {
    width: 50% !important;
    clear: none !important;
  }
}

@media (max-width: 479px) {
  .gallery-grid .et_pb_gallery_item {
    width: 100% !important;
    clear: none !important;
  }
}

.gallery-grid span.et_overlay {
  display: none;
}

.gallery-zoom img {
  transition: all 0.2s;
  -moz-transition: all 0.2s;
  -webkit-transition: all 0.2s;
}

.gallery-zoom img:hover {
  transform: scale(1.1);
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
}

.gallery-grid div.et_pb_gallery_image,
.gallery-grid div.et_pb_gallery_items {
  overflow: hidden !important;
}

.et_pb_toggle_close .et_pb_toggle_title:before,
.et_pb_toggle_open .et_pb_toggle_title:before {
  font-size: clamp(
    20px,
    calc(1.25rem + ((1vw - 4.2px) * 0.4651)),
    24px
  ) !important;
  left: -30px;
}

.dtq-cf7-styler .wpcf7 select {
  max-width: 130px;
  font-weight: 600;
}

.ba_cf7_styler_0.ba_cf7_styler .dtq-cf7-styler .wpcf7 select {
  background-color: #adaea9 !important;
  border: none;
}

.wpcf7-list-item-label {
  margin-right: 10px;
}

.wpcf7-list-item {
  margin: 0;
}

.small {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.43em !important;
}

footer,
footer a {
  color: #36505e;
  font-size: clamp(14px, calc(0.875rem + ((1vw - 4.2px) * 0.2326)), 16px);
  line-height: 1.25em;
  font-weight: 400;
}

footer .legal-link {
  padding: 0 30px;
  text-transform: uppercase;
}

footer a:hover {
  text-decoration: underline;
}

table.contact-times-phone * td,
table.contact-times-phone * th {
  padding: 0 2px;
}

.opening-times-wrapper {
  display: flex;
  flex-direction: row;
}

@media only screen and (max-width: 440px) {
  .opening-times-wrapper {
    display: flex;
    flex-direction: column;
  }
}

.opening-times {
  margin-right: 30px;
  max-width: 240px;
}

table.opening-times,
table.opening-times * td,
table.opening-times * th {
  padding: 0 2px;
  border: none;
}
