/**
====================
|| Grid templates ||
====================
 */

.grid {
  display: grid;
  gap: 20px;
  padding: 0;
}

.grid-1 {
  grid-template-columns: repeat(1, 1fr);
}

.grid-2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid-4 {
  grid-template-columns: repeat(4, 1fr);
}

.grid-5 {
  grid-template-columns: repeat(5, 1fr);
}

.grid-6 {
  grid-template-columns: repeat(6, 1fr);
}

/* Breakpoints */
@media (min-width: 576px) {
  .grid-sm-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid-sm-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-sm-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-sm-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid-sm-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid-sm-6 {
    grid-template-columns: repeat(6, 1fr);
  }
}

@media (min-width: 768px) {
  .grid-md-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid-md-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-md-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-md-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid-md-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid-md-6 {
    grid-template-columns: repeat(6, 1fr);
  }
}

@media (min-width: 992px) {
  .grid-lg-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid-lg-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-lg-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-lg-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid-lg-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid-lg-6 {
    grid-template-columns: repeat(6, 1fr);
  }
}

@media (min-width: 1200px) {
  .grid-xl-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid-xl-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-xl-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-xl-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid-xl-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid-xl-6 {
    grid-template-columns: repeat(6, 1fr);
  }
}

.gap-10 {
  gap: 10px;
}
.gap-20 {
  gap: 20px;
}
.gap-30 {
  gap: 30px;
}
.gap-40 {
  gap: 40px;
}
.gap-50 {
  gap: 50px;
}

.column-gap-10 {
  column-gap: 10px;
}
.column-gap-20 {
  column-gap: 20px;
}
.column-gap-30 {
  column-gap: 30px;
}
.column-gap-40 {
  column-gap: 40px;
}
.column-gap-50 {
  column-gap: 50px;
}

.row-gap-10 {
  row-gap: 10px;
}
.row-gap-20 {
  row-gap: 20px;
}
.row-gap-30 {
  row-gap: 30px;
}
.row-gap-40 {
  row-gap: 40px;
}
.row-gap-50 {
  row-gap: 50px;
}

/* 
 * Breadcrumbs
 */
#breadcrumbs {
  font-size: 1rem;
  color: var(--e-global-color-text);
}

#breadcrumbs .yoast-breadcrumb {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}

#breadcrumbs .yoast-breadcrumb li:not(:last-of-type)::after {
  content: "/";
  margin: 0 0.5rem;
  font-size: 0.875rem;
}

#breadcrumbs .yoast-breadcrumb li a {
  font-size: 1rem;
  color: var(--e-global-color-text);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

.highlight #breadcrumbs {
  color: #ffffff;
}

.highlight #breadcrumbs .yoast-breadcrumb li a {
  color: #ffffff;
}

/* 
 * Accordion
 */
.elementor-widget-n-accordion .e-n-accordion {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item-title {
  font-weight: 700;
  border-color: var(--e-global-color-text);
  border-radius: 6px;
}

.elementor-widget-n-accordion
  .e-n-accordion
  .e-n-accordion-item-title
  .e-n-accordion-item-title-icon
  span {
  height: 20px;
}

.elementor-widget-n-accordion
  .e-n-accordion-item
  > .e-n-accordion-item-title
  .e-n-accordion-item-title-icon
  svg {
  width: 20px;
  height: 20px;
}

.elementor-widget-n-accordion
  .e-n-accordion-item[open]
  > .e-n-accordion-item-title {
  color: #ffffff !important;
  background-color: var(--e-global-color-primary);
  border-bottom-color: var(--e-global-color-primary);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.elementor-widget-n-accordion
  .e-n-accordion-item[open]
  > .e-n-accordion-item-title
  .e-n-accordion-item-title-icon
  svg {
  fill: #ffffff !important;
}

.elementor-widget-n-accordion .e-n-accordion-item[open] div[role="region"] {
  width: 100%;
  border-color: var(--e-global-color-text);
  border-top-color: var(--e-global-color-primary);
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}

/*
 * Formidable Forms
 */
.frm_forms .frm_primary_label {
  color: var(--e-global-color-text);
  font-size: var(--e-global-typography-c913faf-font-size);
  font-weight: 700;
  line-height: var(--e-global-typography-c913faf-line-height);
}

.frm_forms input[type="text"],
.frm_forms input[type="password"],
.frm_forms input[type="email"],
.frm_forms input[type="number"],
.frm_forms input[type="url"],
.frm_forms input[type="tel"],
.frm_forms input[type="phone"],
.frm_forms input[type="search"],
.frm_forms select,
.frm_forms textarea {
  color: var(--e-global-color-text);
  font-size: var(--e-global-typography-c913faf-font-size);
  padding: 10px 14px !important;
  border-radius: 6px;
  border-width: 2px;
  border-color: var(--e-global-color-text);
}

.frm_forms input[type="text"]:focus,
.frm_forms input[type="password"]:focus,
.frm_forms input[type="email"]:focus,
.frm_forms input[type="number"]:focus,
.frm_forms input[type="url"]:focus,
.frm_forms input[type="tel"]:focus,
.frm_forms input[type="phone"]:focus,
.frm_forms input[type="search"]:focus,
.frm_forms select:focus,
.frm_forms textarea:focus {
  box-shadow: 0 0 0 2px var(--e-global-color-2471422) !important;
  border-color: var(--e-global-color-text) !important;
  color: var(--e-global-color-text) !important;
}

.frm_forms .frm_description {
  font-size: 0.875rem !important;
  color: var(--e-global-color-text) !important;
}

.frm_forms .frm_checkbox label {
  display: flex !important;
  align-items: flex-start;
  gap: 0.25rem;
  min-height: 44px;
  font-size: var(--e-global-typography-c913faf-font-size) !important;
  color: var(--e-global-color-text) !important;
}

.frm_forms .frm_checkbox input[type="checkbox"]:not([disabled]):checked {
  background-color: var(--e-global-color-text) !important;
}

.frm_forms .frm_checkbox input[type="checkbox"]:not([disabled]):checked {
  border-color: var(--e-global-color-text) !important;
  box-shadow: none !important;
}

.frm_forms .frm_checkbox input[type="checkbox"]::before {
  display: none !important;
}

.frm_forms .frm_checkbox input[type="checkbox"] {
  appearance: auto;
  width: 20px !important;
  height: 20px !important;
  accent-color: var(--e-global-color-primary);
  margin-top: 0.25rem;
}

.frm_forms .frm_checkbox input[type="checkbox"]:focus {
  box-shadow: 0 0 0 2px var(--e-global-color-2471422) !important;
}

.frm_forms .frm_submit .frm_button_submit {
  padding: 0.5rem 21px !important;
  color: var(--e-global-color-primary) !important;
  font-size: var(--e-global-typography-c913faf-font-size) !important;
  line-height: var(--e-global-typography-c913faf-line-height) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 2px solid var(--e-global-color-primary) !important;
  border-radius: 6px !important;
  background-color: transparent !important;
}

.frm_forms .frm_submit .frm_button_submit:hover {
  color: #fff !important;
  background-color: var(--e-global-color-primary) !important;
  border-color: var(--e-global-color-primary) !important;
}

.frm_forms .frm_submit .frm_button_submit:focus {
  box-shadow: 0 0 0 2px var(--e-global-color-2471422) !important;
}

.frm_form_field :invalid {
  border-color: var(--e-global-color-primary) !important;
  border-width: 2px !important;
}

.frm_required {
  color: var(--e-global-color-text) !important;
}

.frm_forms .frm_blank_field input[type="text"],
.frm_forms .frm_blank_field input[type="password"],
.frm_forms .frm_blank_field input[type="email"],
.frm_forms .frm_blank_field input[type="number"],
.frm_forms .frm_blank_field input[type="url"],
.frm_forms .frm_blank_field input[type="tel"],
.frm_forms .frm_blank_field input[type="phone"],
.frm_forms .frm_blank_field input[type="search"],
.frm_forms .frm_blank_field select,
.frm_forms .frm_blank_field textarea,
.frm_forms .frm_blank_field .frm_checkbox input[type="checkbox"] {
  border-width: 2px !important;
  border-color: var(--e-global-color-primary) !important;
}

/*
 * Pagination
 */
.elementor-pagination {
  margin-top: 60px;
}

.elementor-pagination .page-numbers {
  padding: 12px 16px;
  color: var(--e-global-color-text);
  border: 1px solid var(--e-global-color-text);
  border-radius: 6px;
}

.elementor-pagination a.page-numbers {
  font-weight: 400;
}

.elementor-pagination .page-numbers.current {
  background-color: #f2f2f5;
  border-width: 2px;
}

.elementor-pagination .page-numbers:not(:last-child) {
  margin-right: 0 !important;
}

.elementor-pagination .page-numbers:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--e-global-color-2471422) !important;
}

/*
 * Content links
 */
.elementor-widget-theme-post-content p a,
.elementor-widget-text-editor a {
  color: var(--e-global-color-text) !important;
  text-decoration: underline !important;
  text-underline-offset: 5px;
}

.elementor-widget-theme-post-content p a:hover,
.elementor-widget-text-editor a:hover {
  color: var(--e-global-color-primary) !important;
  text-decoration-thickness: 2px !important;
  transition: 0.3s;
}

/*
 * Sitemap
 */
.adene-sitemap ul {
  list-style: none;
  padding: 0;
}

.adene-sitemap ul:not(:last-child) {
  margin-bottom: 2.5rem;
}

.adene-sitemap ul li a,
.adene-sitemap ul li p {
  font-size: 1.25rem;
}

.adene-sitemap ul li:not(:last-child) {
  margin-bottom: 1.5rem;
}

.adene-sitemap ul ul {
  margin-top: 1.5rem;
  padding-left: 2rem;
}

.adene-sitemap ul ul li a,
.adene-sitemap ul ul li p {
  font-size: 1.25rem;
}

.adene-sitemap ul ul li a {
  font-size: 1rem;
}

.adene-sitemap p {
  font-weight: 600;
}

.adene-sitemap a {
  color: var(--e-global-color-text) !important;
  text-decoration: underline !important;
  text-underline-offset: 5px;
}

.adene-sitemap a:hover {
  color: var(--e-global-color-primary) !important;
  text-decoration-thickness: 2px !important;
  transition: 0.3s;
}