/* Flexbox
--------------------------------------------- */
/* ---------------------------------------- */
/* -- Flexbox ----------------------------- */
/* ---------------------------------------- */
/* ---------------------------------------- */
/* -- Transition -------------------------- */
/* ---------------------------------------- */
:root {
  --fontSize: 1.5rem;
  --primaryColor: #222;
  --colorDark: #222;
  --bgColor: #fffbf3;
}
/* montserrat-300 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/montserrat-v26-latin-300.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-regular - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/montserrat-v26-latin-regular.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-600 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/montserrat-v26-latin-600.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* shadows-into-light-regular - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Shadows Into Light";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/shadows-into-light-v19-latin-regular.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
h2, h3 {
  background: var(--bgColor);
  width: fit-content;
  position: relative;
  z-index: 1;
  margin: 2rem auto !important;
  padding: 0 1rem !important;
}
h1, h2 {
  font-size: 2.375rem;
}
h3 {
  font-size: 1.5rem;
}
.align_headline--right {
  margin-right: 0;
  margin-left: auto;
}
.align_headline--left {
  margin-right: auto;
  margin-left: 0;
}
.align_headline--center {
  margin-right: auto;
  margin-left: auto;
}
.elementor-widget-heading {
  width: 100%;
  display: block !important;
}
.elementor-widget-heading + .elementor-widget-heading h3 {
  margin-top: 0 !important;
}
.elementor-widget-heading + .elementor-widget-heading > *:before {
  top: 15%;
}
.elementor-widget-heading > *:before {
  content: "";
  display: block;
  border: 1px solid #000;
  position: absolute;
  top: 50%;
  width: 100%;
}
.e-con-inner .elementor-element {
  display: grid;
  grid-template-columns: 1rem repeat(10, 1fr) 1rem;
}
.e-con-inner .elementor-element.no-grid, .e-con-inner .elementor-element.no-grid * {
  display: block;
}
.e-con-inner .elementor-element.width_grid--6cols.align--center > * {
  grid-column: 2 / span 10;
}
.e-con-inner .elementor-element.width_grid--6cols.align--left > * {
  grid-column: 2 / span 10;
}
.e-con-inner .elementor-element.width_grid--6cols.align--right > * {
  grid-column: 2 / span 10;
}
.e-con-inner .elementor-element.width_grid--8cols.align--center > * {
  grid-column: 2 / span 10;
}
.e-con-inner .elementor-element.width_grid--10cols.align--center > * {
  grid-column: 2 / span 10;
}
@media screen and (min-width: 1024px) {
  h1, h2 {
    font-size: 4.375rem;
  }
  h2, h3 {
    margin: 4rem auto !important;
  }
  h3 {
    font-size: 2.4375rem;
  }
  .align_headline--left, .align_headline--center, .align_headline--right {
    width: 70%;
  }
  .e-con-inner .elementor-element.width_grid--6cols.align--center > * {
    grid-column: 4 / span 7;
  }
  .e-con-inner .elementor-element.width_grid--6cols.align--left > * {
    grid-column: 1 / span 6;
  }
  .e-con-inner .elementor-element.width_grid--6cols.align--right > * {
    grid-column: 6 / span 10;
  }
  .e-con-inner .elementor-element.width_grid--8cols.align--center > * {
    grid-column: 3 / span 8;
  }
  .e-con-inner .elementor-element.width_grid--10cols.align--center > * {
    grid-column: 2 / span 9;
  }
}
form label {
  font-size: 1rem;
}
form input, form textarea {
  -webkit-appearance: none;
  border: none !important;
  border-bottom: 2px solid var(--colorDark) !important;
  background: transparent;
  border-radius: 0 !important;
  outline: none;
  padding-left: 0 !important;
}
form [type=button], form [type=submit], form button {
  color: var(--colorDark);
  border: none !important;
  font-size: var(--fontSize);
  font-weight: 600;
}
form [type=button]:hover, form [type=button]:focus, form [type=submit]:hover, form [type=submit]:focus, form button:hover, form button:focus {
  background-color: transparent;
  color: var(--colorDark);
}
.menu a {
  text-decoration: none;
}
.site-header.header-stacked .site-navigation-toggle-holder {
  position: fixed;
  z-index: 100000;
  bottom: 0;
  right: 0;
  left: 0;
  padding: 0;
  background: #f6efd6;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  box-sizing: border-box;
  max-width: 100vw;
}
.site-header.header-stacked .site-navigation-toggle-holder button {
  background: none;
  padding: 2rem;
}
.site-navigation-toggle-holder.elementor-active + .site-navigation-dropdown {
  height: 100vh;
  background: var(--bgColor);
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  overflow: scroll;
  position: fixed;
  top: 0;
  right: 0;
  margin-top: 0;
  padding-bottom: 5rem;
  box-sizing: border-box;
}
.site-navigation-dropdown ul.menu {
  position: relative;
  background: none;
}
.site-navigation-dropdown ul.menu li.current-menu-item a {
  color: var(--colorDark);
  background: transparent;
  box-shadow: none;
  font-size: 8vw;
}
@media screen and (min-width: 1024px) {
  .site-header .site-navigation {
    margin-top: 3rem;
  }
  .site-header .site-navigation .menu {
    width: 100%;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: space-between;
  }
  .site-header .site-navigation, .site-footer {
    width: 100%;
    max-width: 1640px;
    margin-left: auto;
    margin-right: auto;
  }
}
body {
  font-size: 1.25rem;
}
p > * {
  display: initial !important;
}
a {
  color: var(--primaryColor);
  font-weight: 600;
}
.site-main a {
  text-decoration: underline !important;
}
@media screen and (min-width: 1024px) {
  font-size: var(--fontSize);
}
