:root {
  --ease-interaction: cubic-bezier(0.625, 0.05, 0, 1);
}

html {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  background: var(--e-global-color-primary);
  color: var(--e-global-color-text);
  font-family: var(--e-global-typography-primary-font-family);
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
  padding: 0;
}
* {
  box-sizing: border-box;
}
/* ================================
   Links
   ================================ */
a {
  cursor: pointer;
  transition: all 0.3s var(--ease-interaction);
}
/* ================================
   Buttons
   ================================ */
.btn {
  background-color: transparent;
  padding: 1rem 2rem;
  text-transform: uppercase;
  font-size: 0.875rem !important;
  line-height: 1 !important;
  border-radius: 6.25rem;
  border: solid 1.5px;
  transition: all 0.3s var(--ease-interaction);
}
.btn-primary {
  background-color: var(--e-global-color-accent);
  color: var(--e-global-color-secondary);
  border-color: var(--e-global-color-accent);
}
.btn-secondary {
  background-color: var(--e-global-color-secondary);
  color: var(--e-global-color-primary);
  border-color: var(--e-global-color-secondary);
}
.btn-outlined {
  color: var(--e-global-color-accent);
  border-color: var(--e-global-color-accent);
}
.btn-outlined:hover {
  color: #cfaf64 !important;
  border-color: #cfaf64;
}
.btn-ghost {
  color: var(--e-global-color-primary);
  border-color: var(--e-global-color-primary);
}
.btn-sm {
  padding: 0.75rem 1.5rem;
  font-size: 0.75rem !important;
}
.btn-lg {
  padding: 1.25rem 3rem;
  font-size: 0.938rem !important;
}
/* ================================
   Visibility
   ================================ */
.center-block {
  display: block;
}
.no-scroll {
  overflow: hidden;
}
.hidden {
  display: none !important;
}
.visible {
  display: block !important;
}
/* Media Queries */
@media (max-width: 575.98px) {
  .hidden-xs {
    display: none !important;
  }
  .visible-xs {
    display: block !important;
  }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  .hidden-sm {
    display: none !important;
  }
  .visible-sm {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .hidden-md {
    display: none !important;
  }
  .visible-md {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .hidden-lg {
    display: none !important;
  }
  .visible-lg {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .hidden-xl {
    display: none !important;
  }
  .visible-xl {
    display: block !important;
  }
}
/* ================================
   Elementor
   ================================ */
.elementor-heading-title {
  display: block;
}
.elementor-element p {
  margin: 0;
}
.elementor-widget-image:is(.icon,.custom-logo) img {
  overflow: visible;
}
.elementor-widget-image:not(.icon,.custom-logo) img {
  overflow: hidden;
}