/*======================================
  #General
======================================*/
html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: var(--navbar-height);
}

body {
  font-family: var(--font-family-body);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-standard-body);
  color: var(--color-font-body);
  -webkit-text-stroke: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-break: break-word;
  width: 100%;
  overflow-x: hidden;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

iframe {
  max-width: 100%
}

a {
  color: var(--color-links);
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  cursor: pointer;
}

a.link-inherit {
  color: var(--color-body);
}

    a:not([class]):hover,
    a.link-inherit:hover {
      color: var(--color-links-alt);
      text-decoration: underline;
    }

    a:focus,
    a.link-inherit:focus {
      color: var(--color-links-alt);
      text-decoration: underline;
    }

  a.text-decoration-none:hover,
  a.text-decoration-none:focus {
    text-decoration: underline !important;
  }

  a[data-fancybox]:hover {
    cursor: zoom-in;
  }

/**:focus {
  outline: none !important;
}*/

/*======================================
  #Typography
======================================*/
* p:last-child,
* ul:last-child,
* ol:last-child {
  margin-bottom: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-title);
}

@media (min-width: 768px) {
  h1,
  .h1 {
    font-size: var(--font-size-h1);
  }

  h2,
  .h2 {
    font-size: var(--font-size-h2);
  }

  h3,
  .h3 {
    font-size: var(--font-size-h3);
  }

  h4,
  .h4 {
    font-size: var(--font-size-h4);
  }

  h5,
  .h5 {
    font-size: var(--font-size-h5);
  }

  h6,
  .h6 {
    font-size: var(--font-size-h6);
  }

  .lead {
    font-size: var(--font-size-lead);
  }

  small {
    font-size: 80%;
  }
}

b,
bold,
strong {
  font-weight: var(--font-weight-bold-body);
}

em,
i {
  font-style: italic;
}

hr {
  border: none;
  height: 1px;
  background: var(--border-color);
  margin: 20px 0;
}

ul,
ol {
  padding-left: 1.3rem;
}

ul {
  list-style: none;
}

main ul:not([class]) li:before,
.mce-content-body ul:not([class]) li:before {
  content: "";
  position: absolute;
  background: #31b754;
  width: 10px;
  height: 10px;
  margin-left: -20px;
  border-radius: 50%;
  margin-top: 9px;
}

main ul:not([class]) ul li:before,
.mce-content-body ul:not([class]) ul li:before {
  background-color: transparent;
  border: 2px solid #31b754;
}

ol {
  list-style: decimal;
}

/************************************
Bootstrap diverse
************************************/

.container {
  max-width: 1300px
}

.container-sm {
  max-width: 850px;
}

/* Text */
.text-primary {
  color: var(--color-primary) !important;
}

/* Badges */
.badge-primary {
  background-color: var(--color-primary);
}
/*
.badge {
  padding: 0.09em .4em .32em .4em;
}*/

.badge {
  font-size: 0.70rem;
}

a.badge {
  text-decoration: none;
  color: #fff;
}

  a.badge.bg-primary:hover {
    background-color: var(--color-primary-alt) !important;
  }

.btn .badge {
  top: -3px;
}

/* Dropdown */
.dropdown-menu {
  border: 0;
  background: #fff;
  box-shadow: var(--shadow-default);
  border-radius: var(--border-radius);
} 

/* Backgrounds */
.bg-primary {
  background-color: var(--color-primary) !important;
}
.bg-secondary {
  background-color: var(--color-secondary) !important;
}
.bg-info {
  background-color: var(--info-color) !important;
}

/* Borders */
.border-top {
  border-top: 1px solid var(--border-color) !important;
}

.border-right {
  border-right: 1px solid var(--border-color) !important;
}

.border-bottom {
  border-bottom: 1px solid var(--border-color) !important;
}

.border-left {
  border-left: 1px solid var(--border-color) !important;
}

/* Column hack 5 col */
@media (min-width: 992px) {
  .col-lg-2-3 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
  }
}

@media (min-width: 768px) {
  .col-md-2-3 {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
  }
}

.list-group-item.active {
  color: #fff;
  background-color: var(--color-theme);
  border-color: var(--color-theme);
}


/* List group accordion */
.list-group-item-action[data-bs-toggle="collapse"] {
  display: flex;
  align-items: center;
}
  .list-group-item-action[data-bs-toggle="collapse"]::after {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: auto;
    content: "";
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: 1.25rem;
    transition: transform .2s ease-in-out;
  }

  .list-group-item-action[aria-expanded="true"]::after {
    transform: rotate( -180deg );
  }


/* Tabs */
.nav-tabs .nav-link {
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
}
}
.tab-content {
  border-top-right-radius: var(--border-radius);
  border-bottom-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
}
/************************************
ACCORDION
************************************/
.accordion-item:first-of-type {
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
}

  .accordion-item:first-of-type .accordion-button {
    border-top-left-radius: calc(var(--border-radius) - 1px);
    border-top-right-radius: calc(var(--border-radius) - 1px);
  }

.accordion-item:last-of-type {
  border-bottom-right-radius: var(--border-radius);
  border-bottom-left-radius: var(--border-radius);
}

  .accordion-item:last-of-type .accordion-button.collapsed {
    border-bottom-right-radius: calc(var(--border-radius) - 1px);
    border-bottom-left-radius: calc(var(--border-radius) - 1px);
  }

.accordion-button:not(.collapsed) {
  color: var(--color-primary);
  background-color: #ffffff;
}

.accordion-button:hover {
  color: var(--color-primary);
}
  .accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  }

.accordion-no-collapse button:hover,
.accordion-no-collapse button:focus,
.accordion-no-collapse button:active {
  outline: none;
  cursor: default;
  border-color: none !important;
  box-shadow: none !important;
}
.accordion-no-collapse .accordion-button::after {
  visibility:hidden;
}

.accordion-no-collapse .accordion-button:hover {
  color: inherit;
}


/************************************
ALERTS
************************************/
.alert {
  border-radius: var(--border-radius);
  margin-bottom: 0;
}

/* Alert success */
.alert.alert-success {
  color: var(--color-success-text);
  background-color: var(--color-success);
  border-color: var(--color-success);
}

.alert-success a {
  color: var(--color-success-text);
}

  .alert-success a:hover,
  .alert-success a:focus {
    color: var(--white-color);
  }

/* Alert warning */
.alert-warning {
  color: var(--color-warning-text);
  background-color: var(--color-warning);
  border-color: var(--color-warning);
}

  .alert-warning a {
    color: var(--color-warning-text);
  }

    .alert-warning a:hover,
    .alert-warning a:focus {
      color: var(--white-color);
    }

/* Alert danger */
.alert.alert-danger {
  color: var(--color-danger-text);
  background-color: var(--color-danger);
  border-color: var(--color-danger);
}

.alert-danger a {
  color: var(--color-danger-text);
}

  .alert-danger a:hover,
  .alert-danger a:focus {
    color: var(--white-color);
  }

/************************************
BUTTONS
************************************/
.btn {
  font-weight: var(--font-weight-btn);
  letter-spacing: 1px;
  text-decoration: none !important;
  border-width: 2px;
  border-radius: var(--border-radius);
}

/* Primary button */
.btn-primary {
  color: #fff;
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

  .btn-primary:not(:disabled):not(.disabled):active,
  .btn-primary:hover,
  .btn-primary.focus,
  .btn-primary:focus {
    background-color: var(--color-primary-alt);
    border-color: var(--color-primary-alt);
  }

  .btn-primary:not(:disabled):not(.disabled).active,
  .btn-primary:not(:disabled):not(.disabled):active,
  .show > .btn-primary.dropdown-toggle {
    background-color: var(--color-primary-alt-2);
    border-color: var(--color-primary-alt-2);
  }

  .btn-primary.disabled,
  .btn-primary:disabled {
    color: #fff;
    background-color: var(--color-primary-alt-2);
    border-color: var(--color-primary-alt-2);
  }

.btn-outline-primary {
  color: var(--color-primary) !important;
  border-color: var(--color-primary);
}

  .btn-outline-primary:not(:disabled):not(.disabled):active,
  .btn-outline-primary:hover,
  .btn-outline-primary.focus,
  .btn-outline-primary:focus {
    color: #fff !important;
    background-color: var(--color-primary);
    border-color: var(--color-primary);
  }

  .btn-outline-primary:not(:disabled):not(.disabled).active,
  .btn-outline-primary:not(:disabled):not(.disabled):active,
  .show > .btn-outline-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--color-primary-alt);
    border-color: var(--color-primary-alt);
  }

  .btn-outline-primary.disabled,
  .btn-outline-primary:disabled {
    background-color: var(--color-primary-alt-2);
    border-color: var(--color-primary-alt-2);
  }

/* Secondary button */
.btn-secondary {
  color: #fff;
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
}

  .btn-secondary:not(:disabled):not(.disabled):active,
  .btn-secondary:hover,
  .btn-secondary.focus,
  .btn-secondary:focus {
    background-color: var(--color-secondary-alt);
    border-color: var(--color-secondary-alt);
  }

  .btn-secondary:not(:disabled):not(.disabled).active,
  .btn-secondary:not(:disabled):not(.disabled):active,
  .show > .btn-secondary.dropdown-toggle {
    background-color: var(--color-secondary-alt-2);
    border-color: var(--color-secondary-alt-2);
  }

  .btn-secondary.disabled,
  .btn-secondary:disabled {
    background-color: var(--color-secondary-alt-2);
    border-color: var(--color-secondary-alt-2);
  }

.btn-outline-secondary {
  color: var(--color-secondary) !important;
  border-color: var(--color-secondary);
}

  .btn-outline-secondary:not(:disabled):not(.disabled):active,
  .btn-outline-secondary:hover,
  .btn-outline-secondary.focus,
  .btn-outline-secondary:focus {
    color: #fff;
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
  }

  .btn-outline-secondary:not(:disabled):not(.disabled).active,
  .btn-outline-secondary:not(:disabled):not(.disabled):active,
  .show > .btn-outline-secondary.dropdown-toggle {
    color: #fff;
    background-color: var(--color-secondary-alt);
    border-color: var(--color-secondary-alt);
  }

  .btn-outline-secondary.disabled,
  .btn-outline-secondary:disabled {
    background-color: var(--color-secondary-alt-2);
    border-color: var(--color-secondary-alt-2);
  }

/* Link button */
.btn-link {
  color: var(--dark-color);
}

  .btn-link.active,
  .btn-link:hover {
    color: var(--color-primary);
  }