
/**************************\
Custom Normalize
\**************************/
html {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    height: 100%;
    width: 100%;
}

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

/**************************\
Headline
\**************************/
h1,
h2,
h3,
h4,
h5,
h6 {
    padding: 0;
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
}

/* ==============================
Paragraph
 ================================ */
p {
    padding: 0;
    margin: 0;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

/**************************\
Lists
\**************************/
ul,
ol {
    padding: 0;
    margin: 0;
    list-style: none;
}

/**************************\
Table
\**************************/
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/**************************\
Image
\**************************/
img {
    height: auto;
    max-width: 100%;
    vertical-align: middle;
    border: none;
}

/**************************\
Links
\**************************/
a {
    text-decoration: none;
    transition: all 0.3s ease;
}

/*a:focus {*/
/*    outline: 2px solid #80b3ff;*/
/*    outline-offset: 2px;*/
/*}*/

/**************************\
Form elements
\**************************/
button,
input,
optgroup,
select,
textarea {
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background-color: transparent;
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
}

button,
input {
    overflow: visible;
    transition: all 0.3s ease;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    cursor: pointer;
    -webkit-appearance: none;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border: none;
    padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: none;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

[type="search"] {
    outline: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

/**************************\
Select
\**************************/
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

select::-ms-expand {
    display: none;
}

/**************************\
Textarea
\**************************/
textarea {
    resize: none;
    overflow-y: auto;
    overflow-x: hidden;
}

/**************************\
Fieldset
\**************************/
fieldset {
    padding: 0;
    margin: 0;
    border: none;
}

legend {
    display: block;
    padding: 0;
    white-space: normal;
}

/**************************\
Placeholder
\**************************/
::-webkit-input-placeholder {
    color: inherit;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transition: opacity 0.3s;
}

::-moz-placeholder {
    color: inherit;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transition: opacity 0.3s;
}

:-moz-placeholder {
    color: inherit;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transition: opacity 0.3s;
}

:-ms-input-placeholder {
    color: inherit;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transition: opacity 0.3s;
}

:focus::-webkit-input-placeholder {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

:focus::-moz-placeholder {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

:focus:-moz-placeholder {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

:focus:-ms-input-placeholder {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

label,
button,
input,
select {
    cursor: pointer;
}

/**************************\
SVG
\**************************/
svg {
    fill: currentColor;
    transition: all 0.3s ease;
}

/**************************\
Disable class
\**************************/
:disabled,
.disabled {
    cursor: not-allowed;
}

/**************************\
Selection
\**************************/
::-moz-selection {
    color: #fff;
    background-color: #004fe4;
}
::selection {
    color: #fff;
    background-color: #004fe4;
}

/**************************\
Visually hidden class
\**************************/
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    border: 0;
    padding: 0;
    white-space: nowrap;
    -webkit-clip-path: inset(100%);
    clip-path: inset(100%);
    clip: rect(0 0 0 0);
    overflow: hidden;
}