/***** Copyright 2026 - Herber eDevelopment - Jaroslav Herber *****/

:root {
	--theme-light: #66d8ff;
	--theme-moderate: #00614a;
	--theme-dark: #0d3949;
	--theme-highlight: var(--theme-moderate);

	--bg-light: #313338;
	--bg-moderate: #2b2d31;
	--bg-dark: #1e1f22;

	--gradient-headline: linear-gradient(45deg, var(--theme-dark), var(--theme-moderate) 200px, var(--theme-light) 500px);
	--button: #444;
	--field-border: #1f0202;
	--radio-checked: #385aff;
	--checkbox-checked: #385aff;
	--checkbox-checked-bg: #0428d7;
	--font-size: 18px;
}

* {
	outline: none;
	box-sizing: border-box;
	font-family: sans-serif !important;
}

html, body {
	width: 100%;
	margin: 0;
}

html {
	background: #222;
}

body {
	overscroll-behavior: none;
	margin: 0;
	padding: 0;
	color: #fff;
	font-size: var(--font-size);
	font-family: sans-serif;
	line-height: 1.5;
}

h2, p {
	margin: 0 0 16px;
}

h2, h3 {
	margin: 32px 0 16px;
}

a {
	color: #fff;
}

input[readonly] {
	color: #ccc;
}

input::placeholder {
	color: #898989;
	font-style: italic;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
}

.input,
input[type="number"], input[type="text"], button, select {
	border: 0;
	padding: 18px 24px;
	margin: 0 0 16px 0;
	font-size: var(--font-size);
	width: 100%;
	line-height: 1.5;
	/*transition: all 0.4s, width 0s; Kills Samsung*/
	background-color: var(--button);
	color: #fff;
	cursor: pointer;
	display: block;
	scroll-margin: 60px;
}

input:focus, input:hover, input.select,
select:focus, select:hover, select.select,
button:hover, button.select {
	box-shadow: 0 0 12px #111;
	background-color: var(--theme-highlight);
	transform: scale(1.06);
}

input[type="text"], input[type="email"], input[type="date"], input[type="number"], .input, select {
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" fill="%2300614a" viewBox="0 0 50 100" width="50" height="100"><polygon points="0,0 30,50 0,100" /></svg>');
	background-repeat: no-repeat;
	background-position: -50px center;
}

input[type="text"]:focus, input[type="email"]:focus, input[type="date"]:focus, input[type="number"]:focus, select:focus {
	background-position: -16px center;
	background-color: #eee;
	color: #333;
}

input[type="range"]:focus {
	background: orange;
}

input[readonly] {
	color: #aaa !important;
}

.RELATIVE {
	position: relative;
}

.ALIGNLEFT {
	text-align: left;
}

.ALIGNCENTER {
	text-align: center;
}

.FLOATLEFT {
	float: left;
}

.FLOATRIGHT {
	float: right;
}

.CLEAR {
	clear: both;
}

.HIDDEN {
	display: none !important;
}

.LINK {
	text-decoration: underline;
	cursor: pointer;
}

.FLEX {
	display: flex;
	gap: 10px;
}

.button {
	font-size: inherit;
	padding: 8px 12px;
	margin: 0 18px 20px 0;
	background: #e2e2ff url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" fill="white" viewBox="0 0 50 100" width="50" height="100"><polygon points="0,0 30,50 0,100" /></svg>') no-repeat -50px center;
	fill: var(--field-border);
	border: 2px solid #e2e2ff;
	border-radius: 10px;
	box-sizing: border-box;
	width: 100%;
	color: #333;
	transition: all 0.4s;
	transform: scale(1);
	cursor: pointer;
}

.button:focus, .button:hover, .button:active {
	border-color: #fff !important;
	box-shadow: 0 0 14px 0 var(--theme-highlight);
	background-position: -20px center;
	background-color: var(--theme-highlight);
	color: #fff;
	transform: scale(1.05);
}

.checkbox {
	margin-right: 12px;
	cursor: pointer;
}

.checkbox-row {
	padding: 0 0 16px 0;
}

#main {
	width: 100%;
	max-width: 600px;
	margin: auto;
	padding: 20px 20px;
}

#interactive_form.hidden {
	display: none;
}

label {
	cursor: pointer;
}

label.required::after {
	content: ' *';
	color: red;
}

.submit-row {
	margin: 40px 0;
}

.error, .success {
	color: #fff;
	background: #0e8300;
	padding: 20px 22px;
	border-radius: 10px;
	border: 2px solid #71cd71;
}

.error {
	border-color: #ff9191;
	background: #c95959;
}