/* Fluid sizing for the source templates; preserve imagery, typefaces and brand. */
.at-layout-fix {
  --at-gutter: clamp(16px, 3vw, 40px);
}
.at-layout-fix .e-con,
.at-layout-fix .e-con-inner,
.at-layout-fix .elementor-widget {
  min-width: 0;
}
.at-layout-fix header.elementor-location-header > .e-con {
  --content-width: 1200px;
  padding-inline: var(--at-gutter) !important;
}
.at-layout-fix header .elementor-element-ec80f76 > .e-con-inner {
  width: 100%;
  max-width: 1200px;
}
.at-layout-fix header .elementor-element-8d85fc8 {
  width: 100% !important;
  max-width: 100%;
  padding: 18px 24px !important;
  gap: 22px;
  flex-wrap: nowrap !important;
}
.at-layout-fix header .elementor-element-77a6fea {
  flex: 0 0 clamp(160px, 15vw, 200px) !important;
  width: auto !important;
}
.at-layout-fix header .elementor-element-7e71f55 img {
  width: 100%;
  max-width: 100% !important;
}
.at-layout-fix header .elementor-element-9cd4d29 {
  flex: 1 1 auto !important;
  width: auto !important;
}
.at-layout-fix header .elementor-element-f709b30 {
  flex: 0 0 auto !important;
  width: auto !important;
}
.at-layout-fix header .elementor-nav-menu--main .elementor-item {
  padding-inline: clamp(8px, 1vw, 16px) !important;
  font-size: 14px;
  white-space: nowrap;
}
.at-layout-fix header .ue_neon_btn {
  padding: 14px 22px !important;
  font-size: 14px;
  white-space: nowrap;
}
/* The cover grows with its content instead of hiding it behind the header. */
.at-layout-fix .at-intro-section {
  padding-inline: clamp(12px, 1.7vw, 24px) !important;
}
.at-layout-fix .at-page-cover {
  min-height: clamp(540px, 75svh, 760px) !important;
  height: auto !important;
  padding: 160px clamp(24px, 4vw, 64px) 56px !important;
  justify-content: center !important;
}
.at-layout-fix .at-page-cover > .e-con-inner {
  width: 100%;
  max-width: 1200px;
  padding: 0 !important;
}
.at-layout-fix .at-cover-content {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.at-layout-fix .at-cover-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 64px) !important;
  align-items: center !important;
}
.at-layout-fix .at-cover-columns > .e-con {
  width: 100% !important;
  max-width: 100% !important;
}
.at-layout-fix .at-cover-copy {
  gap: clamp(22px, 3vw, 40px) !important;
}
.at-layout-fix .at-cover-title {
  font-size: clamp(30px, 3.2vw, 46px) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.035em !important;
  overflow-wrap: break-word;
}
.at-layout-fix .at-cover-title > span {
  font-size: clamp(32px, 3.9vw, 56px) !important;
  line-height: 1.15 !important;
}
.at-layout-fix .at-cover-aside .elementor-counter-number-wrapper,
.at-layout-fix .at-cover-aside h1 {
  font-size: clamp(40px, 5vw, 64px) !important;
  line-height: 1.15 !important;
}
.at-layout-fix .at-cover-aside .heading-title {
  font-size: clamp(22px, 2.3vw, 32px) !important;
  line-height: 1.3 !important;
}
/* Blog cards fill the row and stack when their reading width becomes too small. */
.at-route-blog .elementor-widget-loop-grid {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: var(--at-gutter);
}
.at-route-blog .elementor-loop-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(20px, 3vw, 36px) !important;
}
.at-route-blog .e-loop-item {
  width: 100% !important;
  min-width: 0 !important;
}
.at-route-blog .e-loop-item .elementor-heading-title {
  font-size: clamp(18px, 2vw, 27px) !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere;
}
/* Shared footer: four real columns, rather than fixed nested column widths. */
.at-layout-fix footer .elementor-element-4465dd62 {
  padding: 64px clamp(12px, 1.7vw, 24px) 16px !important;
}
.at-layout-fix footer .elementor-element-74eeb08d {
  padding: clamp(40px, 6vw, 80px) var(--at-gutter) 28px !important;
}
.at-layout-fix footer .elementor-element-74eeb08d > .e-con-inner {
  width: 100% !important;
  max-width: 1200px;
  gap: 48px !important;
  padding: 0 !important;
}
.at-layout-fix footer .elementor-element-315f12e5 {
  width: 100% !important;
  padding: 0 !important;
}
.at-layout-fix footer .elementor-element-315f12e5 > .e-con-inner {
  width: 100%;
  max-width: none;
  display: grid !important;
  grid-template-columns:
    minmax(0, 1fr) minmax(0, 0.75fr) minmax(0, 1.3fr)
    minmax(0, 1.25fr);
  gap: clamp(20px, 2.5vw, 40px) !important;
  align-items: start;
}
.at-layout-fix footer .elementor-element-3d07270c {
  display: contents !important;
}
.at-layout-fix
  footer
  :is(
    .elementor-element-2596519d,
    .elementor-element-2c5d283f,
    .elementor-element-69674703,
    .elementor-element-9715434
  ) {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
.at-layout-fix footer .elementor-element-2596519d {
  gap: 32px !important;
}
.at-layout-fix footer .elementor-element-2a5ed1e9 {
  width: 100%;
  max-width: 230px;
}
.at-layout-fix footer .elementor-element-4ea9aa59 {
  width: 100% !important;
  max-width: 100% !important;
}
.at-layout-fix footer .elementor-heading-title,
.at-layout-fix footer .elementor-icon-list-text {
  overflow-wrap: anywhere;
}
.at-layout-fix footer .elementor-element-4ea9aa59 .elementor-heading-title,
.at-layout-fix footer .elementor-icon-list-text,
.at-layout-fix
  footer
  :is(
    .elementor-element-3fcab3e0,
    .elementor-element-adac74a,
    .elementor-element-9af0438
  )
  .elementor-heading-title {
  font-size: 14px !important;
  line-height: 1.65 !important;
}
.at-layout-fix
  footer
  :is(.elementor-element-2e520309, .elementor-element-349078e)
  .elementor-heading-title {
  font-size: clamp(20px, 1.7vw, 24px) !important;
  line-height: 1.25 !important;
}
.at-layout-fix
  footer
  :is(
    .elementor-element-1bcb96ed,
    .elementor-element-596ed1b9,
    .elementor-element-6058590c
  ) {
  gap: 12px !important;
  align-items: flex-start !important;
}
.at-layout-fix
  footer
  :is(
    .elementor-element-1bcb96ed,
    .elementor-element-596ed1b9,
    .elementor-element-6058590c
  )
  .elementor-widget-heading {
  flex: 1;
  max-width: 100%;
  width: auto;
}
.at-layout-fix footer .elementor-widget-google_maps,
.at-layout-fix footer .elementor-custom-embed {
  width: 100%;
}
.at-layout-fix footer iframe {
  width: 100% !important;
  height: 280px !important;
  max-width: 100%;
}
.at-layout-fix footer .elementor-element-2c91b2f4 {
  width: 100% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.at-layout-fix footer .elementor-element-2c91b2f4 > .elementor-widget-heading {
  width: auto !important;
  max-width: 100%;
  flex: 1 1 350px;
}
.at-layout-fix footer .elementor-element-2c91b2f4 .elementor-heading-title {
  font-size: 13px !important;
  line-height: 1.6 !important;
}
.at-layout-fix
  footer
  :is(.elementor-element-54388277, .elementor-element-d9cdb3f) {
  width: auto !important;
  max-width: 100%;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
.at-layout-fix footer .elementor-element-a8649f6 {
  width: 110px !important;
  max-width: 110px !important;
}
@media (max-width: 1180px) {
  .at-layout-fix header .elementor-element-8d85fc8 {
    padding: 14px 22px !important;
  }
  .at-layout-fix header .elementor-nav-menu--main {
    display: none !important;
  }
  .at-layout-fix header .elementor-menu-toggle {
    display: flex !important;
  }
  .at-layout-fix header .elementor-element-9cd4d29 {
    margin-left: auto;
    flex: 0 0 48px !important;
    order: 3;
  }
  .at-layout-fix header .elementor-element-f709b30 {
    margin-left: auto;
  }
  .at-layout-fix
    header
    .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    position: absolute;
    right: 0;
    left: auto !important;
    width: min(340px, calc(100vw - 48px)) !important;
    max-width: none !important;
    top: 100%;
    margin-top: 22px !important;
  }
  .at-layout-fix header .elementor-element-8d85fc8 {
    overflow: visible !important;
  }
  .at-layout-fix footer .elementor-element-315f12e5 > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 38px !important;
  }
  .at-layout-fix footer .elementor-element-2596519d {
    max-width: 320px !important;
  }
  .at-layout-fix footer .elementor-element-2c91b2f4 {
    justify-content: flex-start !important;
  }
  .at-layout-fix .at-cover-columns {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: 28px !important;
  }
  .at-layout-fix .at-cover-title {
    font-size: clamp(30px, 3.4vw, 40px) !important;
  }
  .at-layout-fix .at-cover-title > span {
    font-size: clamp(32px, 4vw, 46px) !important;
  }
  .at-layout-fix .as-changing-widget .elementor-heading-title {
    font-size: clamp(30px, 4vw, 48px) !important;
    line-height: 1.15 !important;
  }
}
@media (max-width: 900px) {
  .at-layout-fix .at-page-cover {
    min-height: 0 !important;
    padding-top: 150px !important;
    padding-bottom: 40px !important;
  }
  .at-layout-fix .at-cover-columns {
    grid-template-columns: 1fr;
    gap: 32px !important;
  }
  .at-layout-fix .at-cover-aside {
    max-width: 620px !important;
    justify-self: center;
  }
}
@media (max-width: 767px) {
  .at-layout-fix header.elementor-location-header > .e-con {
    padding-inline: 20px !important;
    padding-top: 20px !important;
    --content-width: 100%;
  }
  .at-layout-fix header .elementor-element-8d85fc8 {
    padding: 12px 18px !important;
    gap: 16px;
    min-height: 70px;
  }
  .at-layout-fix header .elementor-element-77a6fea {
    flex: 0 1 180px !important;
  }
  .at-layout-fix header .elementor-element-9cd4d29 {
    flex-basis: 40px !important;
  }
  .at-layout-fix header .elementor-menu-toggle {
    margin: 0 !important;
  }
  .at-layout-fix header .elementor-element-f709b30 {
    display: none !important;
  }
  .at-layout-fix .at-page-cover {
    padding: 132px 22px 32px !important;
  }
  .at-layout-fix .at-cover-title {
    font-size: clamp(26px, 6vw, 36px) !important;
    letter-spacing: -0.02em !important;
  }
  .at-layout-fix .at-cover-title > span {
    font-size: clamp(28px, 6.5vw, 38px) !important;
  }
  .at-layout-fix .at-cover-aside .elementor-counter-number-wrapper,
  .at-layout-fix .at-cover-aside h1 {
    font-size: 42px !important;
  }
  .at-layout-fix footer .elementor-element-315f12e5 > .e-con-inner {
    grid-template-columns: 1fr;
    gap: 34px !important;
  }
  .at-layout-fix footer .elementor-element-2596519d {
    max-width: none !important;
    gap: 24px !important;
  }
  .at-layout-fix footer .elementor-element-44838dc2 {
    align-items: flex-start !important;
  }
  .at-layout-fix footer .elementor-element-2a5ed1e9,
  .at-layout-fix footer .elementor-element-4ea9aa59 {
    text-align: left !important;
  }
  .at-layout-fix footer .elementor-element-976126f {
    text-align: left !important;
  }
  .at-layout-fix footer .elementor-element-74eeb08d {
    padding: 36px 24px 72px !important;
  }
  .at-layout-fix footer .elementor-element-2c91b2f4 {
    gap: 18px !important;
  }
  .at-layout-fix
    footer
    .elementor-element-2c91b2f4
    > .elementor-widget-heading {
    flex-basis: 100%;
    text-align: left !important;
  }
  .at-layout-fix
    footer
    :is(.elementor-element-54388277, .elementor-element-d9cdb3f) {
    justify-content: flex-start !important;
  }
  .at-layout-fix
    footer
    :is(.elementor-element-54388277, .elementor-element-d9cdb3f)
    .elementor-widget {
    text-align: left !important;
  }
  .at-layout-fix .as-changing-widget .elementor-heading-title {
    font-size: clamp(25px, 6vw, 36px) !important;
  }
}
@media (max-width: 640px) {
  .at-route-blog .elementor-loop-container {
    grid-template-columns: 1fr !important;
  }
  .at-route-blog .elementor-widget-loop-grid {
    padding-inline: 20px;
  }
}
/* Remove the source header's negative-margin dependence on viewport height. */
.at-layout-fix header.elementor-location-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}
.at-layout-fix header.elementor-location-header > .e-con {
  padding-top: 24px !important;
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
}
.at-layout-fix header .elementor-element-ec80f76 > .e-con-inner {
  padding: 0 !important;
}
.at-layout-fix .at-intro-section {
  padding-top: 12px !important;
  margin-top: 0 !important;
}
.at-layout-fix.at-has-nav:not(.at-has-cover) main,
.at-layout-fix.at-has-nav:not(.at-has-cover)
  [data-elementor-type="single-post"] {
  padding-top: 150px;
  padding-inline: var(--at-gutter);
}
.at-layout-fix footer .elementor-element-44838dc2 {
  align-items: flex-start !important;
}
.at-layout-fix footer .elementor-element-2a5ed1e9 {
  width: 230px !important;
  max-width: 100% !important;
  text-align: left !important;
}
.at-layout-fix
  footer
  :is(.elementor-element-3fcab3e0, .elementor-element-adac74a)
  .elementor-heading-title {
  white-space: pre-line;
}
@media (max-width: 767px) {
  .at-layout-fix header.elementor-location-header > .e-con {
    padding-top: 20px !important;
  }
  .at-layout-fix.at-has-nav:not(.at-has-cover) main,
  .at-layout-fix.at-has-nav:not(.at-has-cover)
    [data-elementor-type="single-post"] {
    padding-top: 120px;
  }
}
@media (max-width: 1180px) {
  .at-layout-fix
    header
    .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    display: block !important;
  }
  .at-layout-fix
    header
    .elementor-menu-toggle.elementor-active
    + .elementor-nav-menu__container {
    max-height: calc(100dvh - 130px) !important;
    overflow-y: auto !important;
  }
}
