:root {
  --cc-green: #80bc00;      --cc-green-rgb: 128 188 0;
  --cc-dark-green: #547c31; --cc-dark-green-rgb: 84 124 49;
  --cc-gray-0: #ffffff;     --cc-gray-0-rgb: 255 255 255;
  --cc-gray-1: #f8f9fa;     --cc-gray-1-rgb: 248 249 250;
  --cc-gray-2: #e9ecef;     --cc-gray-2-rgb: 233 236 239;
  --cc-gray-3: #dee2e6;     --cc-gray-3-rgb: 222 226 230;
  --cc-gray-4: #ced4da;     --cc-gray-4-rgb: 206 212 218;
  --cc-gray-5: #adb5bd;     --cc-gray-5-rgb: 173 181 189;
  --cc-gray-6: #6c757d;     --cc-gray-6-rgb: 108 117 125;
  --cc-gray-7: #495057;     --cc-gray-7-rgb: 73 80 87;
  --cc-gray-8: #343a40;     --cc-gray-8-rgb: 52 58 64;
  --cc-gray-9: #212529;     --cc-gray-9-rgb: 33 37 41;
  --cc-gray-10: #000000;    --cc-gray-10-rgb: 0 0 0;

  --cc-border-radius: .3rem;
  --cc-gap: 1.5rem;
  --cc-text-gap: 1rem;
  --cc-container-pt: 2rem;
  --cc-container-pb: 2.5rem;
  --cc-box-shadow: 0 8px 24px 0 rgb(149 157 165 / .2);
  --cc-box-shadow-hover: 0 8px 15px 0 rgb(0 0 0 / .35);

  --bs-body-color: var(--cc-gray-9);
  --bs-body-color-rgb: var(--cc-gray-9-rgb);
  --bs-body-bg: var(--cc-gray-0);
  --bs-body-bg-rgb: var(--cc-gray-0-rgb);
  --bs-body-text-align: left;

  --swiper-navigation-size: 44px;
  --swiper-theme-color: var(--cc-green);
}

/* ================== */

html, body {
  width: 100%;
  height: 100%;
}

main {
  padding-bottom: var(--cc-container-pb);
}

pre {
  white-space: pre-wrap;
  overflow-wrap: break-word;
}

iframe {
  background-color: var(--cc-gray-2);
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  color: inherit;
}

p {
  margin-bottom: 0;
}

cc-scripts {
  display: none;
}

/* ================== */

.navbar-toggler:focus:not(:focus-visible) {
  box-shadow: none;
}

/* ================== */

.cc-green, .cc-hover-green:hover { color:white!important; background-color:var(--cc-green)!important }
.cc-text-green, .cc-hover-text-green:hover { color:var(--cc-green)!important }
.cc-border-green, .cc-hover-border-green:hover { border-color:var(--cc-green)!important }

.cc-dark-green, .cc-hover-dark-green:hover { color:white!important; background-color:var(--cc-dark-green)!important }
.cc-text-dark-green, .cc-hover-text-dark-green:hover { color:var(--cc-dark-green)!important }
.cc-border-dark-green, .cc-hover-border-dark-green:hover { border-color:var(--cc-dark-green)!important }

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

/* ================== */

.cc-container,
.cc-container-wide,
.cc-container-narrow {
  width: 100%;
  padding-bottom: var(--cc-container-pb);
}
.cc-container,
.cc-container-narrow {
  padding-right: 1rem;
  padding-left: 1rem;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width:  576px) { .cc-container { max-width:  540px; } }
@media (min-width:  768px) { .cc-container { max-width:  720px; } }
@media (min-width:  992px) { .cc-container { max-width:  960px; } }
@media (min-width: 1200px) { .cc-container { max-width: 1140px; } }
@media (min-width: 1400px) { .cc-container { max-width: 1320px; } }
@media (min-width:  576px) { .cc-container-narrow { max-width: 540px; } }
@media (min-width:  768px) { .cc-container-narrow { max-width: 720px; } }
.cc-container-pt {
  padding-top: var(--cc-container-pt);
}

.cc-v-stack,
.cc-text-stack {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}
.cc-v-stack {
  row-gap: var(--cc-gap);
}
.cc-text-stack {
  row-gap: var(--cc-text-gap);
}

.cc-gallery {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-left: calc(var(--cc-gap) * -.5);
  margin-right: calc(var(--cc-gap) * -.5);
  margin-top: calc(var(--cc-gap) * -1);
}
.cc-gallery > .cc-gallery__item {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: calc(var(--cc-gap) * .5);
  padding-right: calc(var(--cc-gap) * .5);
  padding-top: var(--cc-gap);
}

/* ================== */

.cc-title {
  margin: 0;
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  color: var(--cc-gray-8);
}

/* ================== */

.cc-link {
  color: var(--cc-green);
  text-decoration: none;
}

.cc-link:hover {
  color: var(--cc-dark-green);
}

/* ================== */

.cc-navigation {
  color: #333;
  padding-top: .75rem;
  padding-bottom: .75rem;
  margin-bottom: 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

@media (max-width: 767px) {
  .cc-navigation .navbar-nav {
    padding-top: .75rem;
  }
}

@media (min-width: 768px) {
  .cc-navigation {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}

.cc-navigation .navbar-brand {
  font-weight: bold;
  color: inherit;
}

.cc-navigation .navbar-brand:hover {
  color: #222;
}

.cc-navigation .navbar-toggler {
  color: #888;
  border-color: #ddd;
}

.cc-navigation .navbar-toggler:hover,
.cc-navigation .navbar-toggler:focus {
  background: none;
}

.cc-navigation .navbar-nav {
  user-select: none;
}

.cc-navigation .navbar-nav .nav-link {
  color: #465765;
  padding-left: 18px;
  padding-right: 18px;
  text-align: right;
}

.cc-navigation .navbar-nav .nav-link:focus,
.cc-navigation .navbar-nav .nav-link:hover {
  color: #37434d;
  background-color: transparent;
}

.cc-navigation .navbar-nav .nav-link.active,
.cc-navigation .navbar-nav .nav-link.active:focus,
.cc-navigation .navbar-nav .nav-link.active:hover {
  color: #8f8f8f;
  box-shadow: none;
  background: none;
  pointer-events: none;
}

/* ================== */

#return-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: var(--cc-gray-10);
  background: rgb(var(--cc-gray-10-rgb) / .7);
  width: 50px;
  height: 50px;
  text-decoration: none;
  z-index: 100;
  cursor: pointer;
  border-radius: 35px;
}

#return-to-top.cc-fade-show {
  visibility: visible;
  opacity: 1;
  transition: opacity 200ms linear;
}

#return-to-top.cc-fade-hide {
  visibility: hidden;
  opacity: 0;
  transition:
    opacity 200ms linear,
    visibility 0ms linear 200ms;
}

#return-to-top > i {
  color: var(--cc-gray-0);
  margin: 0;
  position: relative;
  left: 15px;
  top: 11px;
  font-size: 20px;
  transition: all 300ms linear;
}

#return-to-top:hover {
  background: rgb(var(--cc-gray-10-rgb) / .9);
}

#return-to-top:hover > i {
  color: var(--cc-gray-0);
  top: 5px;
}
