:root {
    --background: #ecf0f4;
    --molecule-bg: #fff;
    --color: #222;
    --primary: #ff0046;
    --secondary: #28282d;
    --contrast: #f0f0f0;
    --border: #dce1ea;
    --shadow: #d2d7e1;
    --success: #76ff5b;
    --warning: #ffb555;
    --error: #ff5874;
    --info: #656d79;
    --muted: #ededf0;
    --gap: 20px;
    --space: 8px;
    --radius: 8px;
    --topBarHeight: 64px;
    --container-padding: 20px;
    --container-width: calc(100% - var(--container-padding)* 2);
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
    box-sizing: border-box;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

body {
    background-color: var(--background);
    font-family: "Arial", sans-serif;
    font-size: 16px;
    color: var(--color);
    line-height: 1.6;
    scroll-behavior: smooth;
}

a {
    color: var(--primary);
}

header, 
footer {
    background-color: #111111;
    color: #fff;
}

header {
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--topBarHeight);
}

header h1 {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
}

footer {
    height: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.container {
    box-sizing: border-box;
    width: 100%;
    padding-left: calc(50% - var(--container-width) / 2);
    padding-right: calc(50% - var(--container-width) / 2);
}

.skin-container {
    width: 100%;
    height: 1000px;
    min-height: calc(820px - var(--topBarHeight));
    background-color: #e8d8d8;
    margin: auto;
    position: relative;
}

.skin-inside {
    position: absolute;
    background-color: #fff;
    width: 1000px;
    max-width: 100%;
    top: 220px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 4;
    padding: 20px 24px;
}

.error-list,
.success {
    margin-top: 14px;
}

.error-list > li + li {
    margin-top: 6px;
}

.error-list > li,
.success {
    border-radius: 4px;
    padding: 2px 10px;
}

.error-list > li.warning {
    background-color: var(--warning);
}

.error-list > li.error {
    background-color: var(--error);
}

.success {
    background-color: var(--success);
}

#preview-container {
    position: relative;
    z-index: 2;
}

.preview {
    display: block;
    object-fit: none;
    width: 100%;
    max-width: 1800px;
    height: 1000px;
    object-position: top center;
    margin: auto;
}

.optimum-zone {
    position: absolute;
    top: 0;
    width: 1280px;
    max-width: 100%;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    z-index: 4;
    border-right: 1px solid var(--primary);
    border-left: 1px solid var(--primary);
    background-color: #ff00460f;
    color: var(--primary);
    text-align: center;
}

.header-line,
.fold-line {
    position: absolute;
    border-top: 1px solid var(--primary);
    right: 0;
    left: 0;
    z-index: 5;
    text-align: center;
    color: var(--primary);
}

.header-line {
    top: calc(var(--topBarHeight) + 220px)
}

.fold-line {
    top: 820px;
}

input {
    position: absolute;
    inset: 0;
    z-index: 99;
}

h2 {
    font-weight: bold;
    text-align: center;
}


@media only screen and (min-width: 1040px) {
    :root {
        --container-width: 1000px;
    }
}