/* ------------------------------------------------------------ *\
	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;
}

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="image"],
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 {
    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 1.6rem;
    margin: 0 auto;
}

/*shell-no-padding*/

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

.hot-corner {
    all: unset;
    position: absolute;
    right: 16px;
    cursor: pointer;
    width: 16px;
    height: 16px;
}

.hidden {
    display: none;
}

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

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

.btn.btn--blue {
    background-color: var(--button-background-secondary);
}

@media (hover: hover) {
    .btn:hover {
        box-shadow: 0px 8px 8px var(--button-dropshadow);
        background-color: var(--button-background-primary-hover);
    }
    
    .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);
}

/* I frame pop up css */
.popup__body .popup__entry {
    height: 100%;
}