/* ------------------------------------------------------------ *\
	reset
\* ------------------------------------------------------------ */

* {
  padding: 0;
  margin: 0;
  outline: 0;
  box-sizing: border-box;
}

*:before,
*:after {
  box-sizing: inherit;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
main {
  display: block;
}

template {
  display: none;
}

img,
iframe,
video,
audio,
object {
  max-width: 100%;
}

img,
iframe {
  border: 0 none;
}

img {
  height: auto;
  display: inline-block;
  vertical-align: middle;
}

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-size-adjust: none;
}

body.has-open-menu {
  overflow: hidden;
}

b,
strong {
  font-weight: bold;
}

address {
  font-style: normal;
}

svg:not(:root) {
  overflow: hidden;
}

a,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
input[type="file"],
input[type="ge"],
label[for] {
  cursor: pointer;
}

a[href^="tel"],
button[disabled],
input[disabled],
textarea[disabled],
select[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="color"],
textarea,
a[href^="tel"] {
  appearance: none;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  appearance: none;
}

textarea {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
}

button,
select {
  text-transform: none;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

nav ul,
nav ol {
  list-style: none outside none;
}

input::placeholder {
  color: inherit;
  opacity: 1;
}
textarea::placeholder {
  color: inherit;
  opacity: 1;
}

input:-webkit-autofill {
  -webkit-text-fill-color: inherit;
  -webkit-box-shadow: 0 0 0 1000px var(--input-background-color-default) inset;
}

input[type="text"],
input[type="button"],
input[type="tel"],
input[type="email"],
input[type="submit"],
input[type="date"],
input[type="search"],
textarea {
  appearance: none;
}

/* ------------------------------------------------------------ *\
Base
\* ------------------------------------------------------------ */

html {
  scroll-behavior: smooth;
  font-size: 62.5%;
}

body {
  min-width: 320px;
  background: var(--body-background-color);
  font-family: var(--body-text-font);
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.2;
  color: var(--body-text-color);
}

.h1,
h1,
.h2,
h2,
.h3,
h3,
.h4,
h4,
.h5,
h5,
.h6,
h6 {
  margin-bottom: calc(1.2em / 2);
  line-height: 1.2;
  color: var(--header-text-primary);
}

.h1,
h1 {
  font-size: 4.8rem;
}

.h2,
h2 {
  font-size: 4rem;
  letter-spacing: -0.011em;
}

.h3,
h3 {
  font-size: 3.2rem;
  letter-spacing: -0.008em;
}

.h4,
h4 {
  font-size: 2.4rem;
}

.h5,
h5 {
  font-size: 2rem;
}

.h6,
h6 {
  font-size: 1.4rem;
  font-weight: 700;
}

@media only screen and (max-width: 767px) {
  .h1,
  h1 {
      font-size: 3rem;
  }

  .h2,
  h2 {
      font-size: 2.8rem;
      letter-spacing: 0;
  }

  .h3,
  h3 {
      font-size: 2.5rem;
      letter-spacing: 0;
  }

  .h4,
  h4 {
      font-size: 1.9rem;
  }

  .h5,
  h5 {
      font-size: 1.6rem;
  }

  .h6,
  h6 {
      font-size: 1.4rem;
      font-weight: 700;
  }
}

/* ------------------------------------------------------------ *\
Wrapper
\* ------------------------------------------------------------ */

.wrapper {
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}

/* ------------------------------------------------------------ *\
Shell
\* ------------------------------------------------------------ */

.shell {
  max-width: calc(117.2rem + 1.8rem * 2);
  padding: 0rem 16px;
  margin: 0 auto;
}

/*shell-no-padding*/

@media only screen and (max-width: 1023px) {
  .shell-no-padding {
      padding: 0;
  }
}


/* ------------------------------------------------------------ *\
	Button States
\* ------------------------------------------------------------ */

.btn {
  transition: box-shadow 0.4s;
}

@media (hover: hover) {
  .btn:hover {
      box-shadow: 0px 8px 8px var(--button-dropshadow);
  }
  
  .header .btn--blue:hover,
  .btn--blue:hover {
      color: var(--button-text-color);
      transition: all 0.4s;
      background-color: var(--button-background-secondary-hover);
  }
}


.btn:active {
  background-color: var(--button-background-primary-active);
}

.header .btn--blue:active,
.btn--blue:active::after {
  background-color: var(--button-background-secondary-active);
  color: var(--button-text-color);
}

.header .btn--blue:active,
.btn--blue:active {
  background-color: var(--button-background-secondary-active);
  border-color: var(--button-background-secondary-active);
}

/* Iframe footerModalPopUps */
.popup__body .popup__entry {
  height: 100%;
}