:root {
  --dark-gray: #2d2e33;
  --blue: #00759e;
  --green: #b9db01;
  --light-green: #f0f8f7;
  --light-green-semi: rgb(185,219,1,0.25);
  --light-gray: #f5f5f5;
  --white: #fff;
  --border-radius: 3px;
}

.icon-blue path { fill: var(--blue); }
.icon-green path { fill: var(--green); }

body::-webkit-scrollbar { width: 1rem; }
body::-webkit-scrollbar-track {
  background: var(--light-gray);
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.05);
}
body::-webkit-scrollbar-thumb {
  background-color: var(--blue);
  border-radius: 3px;
  border: 1px solid var(--light-gray);
  outline: none;
}

* { text-wrap: pretty; }

/* ---------- links, images & animations ---------- */

a, a img, .uk-link, .uk-button, .copy-success, button { transition: all 200ms ease-in-out; }
a:hover img, a.uk-logo:hover { filter: brightness(1.01); }
a.uk-position-absolute { transition: none; }

.uk-subnav a { text-decoration: none; }

.uk-border-rounded { border-radius: var(--border-radius); }

.fade-in, .fade-in-up, .delay { opacity: 0; }
.fade-in { animation: fadeIn 200ms linear forwards; }
.fade-in-up { animation: fadeInUp 500ms ease-in-out forwards; }
.delay { animation-delay: 1s; }

#tm-main h2 { scroll-margin-top: 100px; }

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ---------- typography ---------- */

em { color: inherit; }
.el-title.uk-text-secondary { color: var(--blue) !important; }

/* ---------- lists ---------- */

.el-content ul {
  line-height: 2;
  margin-bottom: 2rem;
}

/* ---------- hero ---------- */

#slideshow-silouette .uk-slideshow-items {
  position: relative;
  z-index: 0;
}
#slideshow-silouette .uk-slideshow-items:before {
  content: '';
  background: url(/wp-content/uploads/2024/08/overlay-05.png) right center / cover no-repeat;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: block;
}
.hero-slider .uk-transition-fade { opacity: 1.0; }

/* ---------- sections & columns ---------- */

#hero-simple.uk-section-muted, #bottom-cta.uk-section-muted { background-color: var(--light-gray); }
#hero-simple { border-bottom: 1px solid var(--light-gray); }
#bottom-cta { border-top: 1px solid var(--light-gray); }

.uk-section { position: relative; }

.transparent, .transparent .uk-tile { background-color: transparent; }

.photo-column { min-height: 60vh; }
.content-column { min-height: 60vh; }
.content-column .uk-width-1-1 { padding: 4rem 2rem; }
.content-column.uk-first-column .uk-width-1-1 { padding: 4rem 2rem 4rem 0; }

/* ---------- blog ---------- */

.author-box { max-width: 430px; }
.author-box .uk-padding-small { padding: 1rem; }
.author-box .el-meta { text-transform: uppercase; }

/* ---------- tables ---------- */

.comparison-table {
  margin: 3rem auto;
  max-width: 860px;
}
.comparison-table th { width: 33%; }
.comparison-table tr { border-bottom: 2px solid var(--dark-gray); }
.comparison-table tbody tr:last-child { border-bottom: none; }
.comparison-table .uk-background-muted {
  border-left: 2px solid var(--dark-gray);
  border-right: 2px solid var(--dark-gray);
}
.comparison-table th, .comparison-table td { color: var(--blue); }
.comparison-table thead th {
  font-family: Lora;
  font-size: 26px;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
  text-align: center;
}
.comparison-table tbody th {
  font-size: 18px;
  font-weight: 500;
}
.comparison-table tbody td {
  font-size: 18px;
  text-align: center;
}
.comparison-table th img { max-width: 235px; }
.comparison-table td img {
  width: 24px;
  position: relative;
  top: -5px;
  margin-left: 5px;
}

/* ---------- boxes, cards & panels ---------- */

.feed .el-meta {
  color: var(--green) !important;
  font-size: 14px;
  font-weight: 600;
}
.feed .el-title, .feed .el-text-small {
  color: var(--dark-gray) !important;
}
.feed .el-title { font-size: 22px; }
.feed .uk-text-small { font-size: 17px; }

.floating-box {
  background: var(--light-green);
  box-shadow: 0 5px 5px rgba(0,0,0,0.25);
  border-radius: 10px;
  max-width: 300px;
  padding: 1rem;
  box-sizing: border-box;
  display: inline-block;
}

.floating-box h4, .floating-box p {
  color: var(--blue);
  font-weight: 600;
  line-height: 1.2;
}
.floating-box h4 {
  font-size: 32px;
  margin: 0 0 0.25rem 0;
}
.floating-box, .floating-box p {
  font-size: 22px;
  margin: 0;
}

.price-card .el-title {
  position: relative;
  z-index: 2;
}
.price-card .el-title span {
  position: relative;
  display: inline-block;
}
.price-card .el-title span::after {
  background: var(--light-green-semi);
  content: '';
  position: absolute;
  height: 10px;
  width: 100%;
  bottom: 0;
  left: 0;
  display: block;
  z-index: -1;
}

#panel-slider-reviews { padding-top: 10px; }

/* ---------- sliders ---------- */

.uk-slider-items { padding-bottom: 10px; }
.el-slidenav.uk-position-small.uk-position-center-left { margin-left: -25px; }
.el-slidenav.uk-position-small.uk-position-center-right { margin-right: -25px; }

#slider-quotes {
  background-image: url(/wp-content/uploads/2024/07/quotes.svg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100%;
}
#slider-quotes .el-item.uk-panel {
  padding: 40px;
  max-width: 90%;
  margin: 0 auto;
}
#slider-quotes .el-title { font-style: italic; }

/* ---------- accordion ---------- */

.uk-open .uk-accordion-title { color: var(--green); }

.uk-accordion-title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%2332658A' d='M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z'/%3E%3C/svg%3E"); }

.uk-open>.uk-accordion-title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%2373BFB8' d='M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z'/%3E%3C/svg%3E"); }

/* ---------- social sharing ---------- */

.social-sharing {
  margin: 2rem auto;
  text-align: center;
}
.social-sharing-text {
  font-size: 14px;
  font-weight: 500;
  margin-right: 15px;
}
.social-sharing img { max-width: 16px; }
.social-sharing a {
  background: var(--green);
  line-height: 1;
  display: inline-block;
  border-radius: 50%;
  width: 35px;
  height: 35px;
  margin: 0 5px;
  padding: 8px;
  box-sizing: border-box;
  text-align: center;
}
.social-sharing a:hover { background: var(--blue); }
.copy-success {
  color: var(--green);
  text-transform: uppercase;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 1px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

/* ---------- images ---------- */

#hero-circles { z-index: 1; }

.circle-img-offset-right, .circle-img-offset-left {
  top: -40px;
  position: absolute;
}
.circle-img-offset-right { right: -20px; }
.circle-img-offset-left { left: -20px; }

.single figure, .single figure img {
  max-width: 750px;
  border-radius: var(--border-radius);
}
.wp-caption-text {
  font-size: 0.75rem;
  font-weight: 500;
  text-align: center;
  padding: 15px;
}

/* ---------- footer ---------- */

#footer a:not(.uk-button):hover { opacity: 0.7; }
#copyright {
  text-transform: uppercase;
  letter-spacing: 1px;
}

#scroll-arrow {
  position: fixed;
  bottom: 40px;
  right: 40px;
}
.uk-totop, .uk-totop:hover { background-color: transparent; }

#scroll-arrow a {
  background: var(--blue);
  color: var(--white);
  border-radius: 50%;
  line-height: 1;
  display: block;
  padding: 15px 0 0 16px;
  width: 50px;
  height: 50px;
  box-sizing: border-box;
}

#scroll-arrow a:hover { opacity: 0.8; }
#scroll-arrow.uk-visible {
  display: block;
  animation: fadeIn 1s linear forwards;
}
.uk-form-small:not(textarea):not([multiple]):not([size]) {
  height: 31px;
  padding: 0 10px;
  border-radius: 6px 6px 0 0;
}
footer .uk-iconnav svg {
  width: 30px;
  height: auto;
}

/* ---------- scroll arrow ---------- */

#scroll-arrow {
  position: fixed;
  bottom: 40px;
  right: 40px;
}
.uk-totop, .uk-totop:hover { background-color: transparent; }
#scroll-arrow a {
  background: var(--blue);
  color: var(--white);
  border-radius: 50%;
  line-height: 1;
  display: block;
  padding: 15px 0 0 16px;
  width: 50px;
  height: 50px;
  box-sizing: border-box;
}
#scroll-arrow a:hover { opacity: 0.8; }
#scroll-arrow.uk-visible {
  display: block;
  animation: fadeIn 1s linear forwards;
}

/* ---------- responsive ---------- */

@media only screen and (max-width: 1440px) {
  .circle-img-offset-right, .circle-img-offset-left {
    position: relative;
    max-width: 250px;
    top: auto;
    right: auto;
    left: auto;
    margin: 0 auto;
    text-align: center;
  }
}
@media only screen and (max-width: 960px) {

  .author-box {
    max-width: 230px;
    margin: 2rem auto;
    padding: 1rem;
  }

  .uk-section-large {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .photo-column {
    min-height: 550px;
    margin-bottom: 2rem;
  }
  .content-column { min-height: auto; }
  #scroll-arrow {
    bottom: 0;
    right: 10px;
  }
  .panel-icon { padding: 2rem 0; }

  #slideshow-silouette .uk-slideshow-items:before { background: url(/wp-content/uploads/2024/08/overlay-05m.png) 60% center / cover no-repeat; }
  #scroll-arrow {
    bottom: 10px;
    right: 10px;
  }

}