:root {
	--clr-primary: #aa2e0f;
	--clr-primary-hover: #601b0a; /* color-mix(in srgb, var(--clr-primary) 60%, black) */
	--clr-primary-dark: #88250d; /* color-mix(in srgb, var(--clr-primary) 80%, black) */
	--clr-primary-light: #bb573f; /* color-mix(in srgb, var(--clr-primary) 80%, white) */
	--clr-primary-subtle: #d49588;
	--clr-primary-very-subtle: #e6c7c1;
	--clr-secondary: #feb900;
	--clr-secondary-dark: #cb9401; /* color-mix(in srgb, var(--clr-secondary) 80%, black) */
	--clr-secondary-hover: #e4a600; /* color-mix(in srgb, var(--clr-secondary) 90%, black) */
	--clr-secondary-light: #fec733; /* color-mix(in srgb, var(--clr-secondary) 80%, white) */
	--clr-secondary-subtle: #fcd993;
	--clr-secondary-very-subtle: #fae8c6;
	--clr-accent: #e46e1c;
	--clr-accent-dark: #b65816; /* color-mix(in srgb, var(--clr-accent) 80%, black) */
	--clr-accent-light: #e98a49; /* color-mix(in srgb, var(--clr-accent) 80%, white) */
	--clr-accent-subtle: #f0b491;
	--clr-accent-very-subtle: #f6e3da;
	--gradient-secondary-accent-left: linear-gradient(to left, #e4551c, #e45c1b, #e4621b, #e4681b, #e46e1c);
	--gradient-secondary-accent-right: linear-gradient(to right, #e4551c, #e45c1b, #e4621b, #e4681b, #e46e1c);
	--clr-title: #364d59;
	--clr-text: #2e3135;
	--clr-text-lead: #888c92;
	--clr-text-lead-lighter: #a7adb6;
	--clr-bg: #f8f8f8;
	--clr-black: #131315;
	--clr-red: #ff1644;
	--clr-green: #32cd32;
	--clr-blue: #0077b6;
	--clr-orange: #feaf3d;
	--clr-bronze: rgb(205, 127, 50);
	--clr-silver: rgb(192, 192, 192);
	--clr-gold: rgb(255, 215, 0);
	--clr-overlay: rgba(0, 0, 0, 0.25);
	--clr-overlay-darker: rgba(0, 0, 0, 0.5);
	--clr-overlay-very-dark: rgba(19, 19, 21, 0.9);
	--ff-default: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans",
		"Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--ff-roboto: "Roboto", sans-serif;
	--ff-work: "Work Sans", sans-serif;
	--filter-primary: invert(12%) sepia(68%) saturate(6245%) hue-rotate(24deg) brightness(100%) contrast(88%);
	--filter-secondary: invert(62%) sepia(75%) saturate(919%) hue-rotate(2deg) brightness(105%) contrast(103%);
	--filter-white: invert(100%) sepia(95%) saturate(19%) hue-rotate(330deg) brightness(105%) contrast(104%);
	--filter-accent: invert(50%) sepia(71%) saturate(2464%) hue-rotate(353deg) brightness(95%) contrast(88%);
	--filter-red: invert(21%) sepia(82%) saturate(4383%) hue-rotate(339deg) brightness(104%) contrast(106%);
}

@keyframes drawer-fade {
	from {
		transform: translateX(100%);
		opacity: 0;
	}
	to {
		transform: translateX(0);
		opacity: 1;
	}
}
@keyframes drawer-fade-out {
	from {
		transform: translateX(0);
		opacity: 1;
	}
	to {
		transform: translateX(100%);
		opacity: 0;
	}
}
@keyframes popup-fade {
	from {
		transform: translateY(100%);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}
@keyframes popup-slide-from-top {
	from {
		transform: translateY(-100%) translateX(-50%);
		opacity: 0;
	}
	to {
		transform: translateY(0) translateX(-50%);
		opacity: 1;
	}
}
@keyframes popup-fade-out {
	from {
		transform: translateY(0);
		opacity: 1;
	}
	to {
		transform: translateY(100%);
		opacity: 0;
	}
}
@keyframes pulse {
	0%,
	100% {
		transform: scale(0.8);
	}
	50% {
		transform: scale(1.2);
	}
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	text-decoration: none;
	list-style-type: none;
	scroll-behavior: smooth;
}

.contacts .icon {
	width: 20px;
	filter: var(--filter-accent);
}

#home-page {
	padding-top: 0;
}
input,
select,
textarea {
	border: 1px solid #e3e3e3;
	border-radius: 10px;
}
textarea:is(:focus, :active),
input:not([type="radio"]):not([type="checkbox"]):is(:focus, :active) {
	outline: 1.5px solid var(--clr-accent);
	border-color: transparent;
}

input[type="file"] {
	display: none;
}
html {
	font-weight: 300;
	color: var(--clr-text);
	font-family: var(--ff-default);
	cursor: default;
}
html.app {
	overflow: hidden;
}

img {
	display: block;
}

i {
	color: inherit;
}

button {
	all: unset;
}

a {
	all: initial;
	text-decoration: none;
	font: inherit;
	color: inherit;
}

body {
	background-color: var(--clr-bg);
}
/* 

		<main id="notif-popup" class="error">
			<!--? class can be success error -->
			<img src="img/icons/cross.png" alt="" class="close-popup icon" />
			<div class="status">
				<div class="success-icon">
					<div class="success-animation">
						<svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
							<circle class="checkmark_circle" cx="26" cy="26" r="25" fill="none" />

							<path class="checkmark_check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8" />
						</svg>
					</div>
				</div>
				<div class="error-icon">
					<div class="error-animation">
						<svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
							<circle class="checkmark_circle" cx="26" cy="26" r="25" fill="none" />
							<path
								class="checkmark_check"
								fill="none"
								d="M14.1 14.1l23.8 23.8 m0,-23.8 l-23.8,23.8"
							/>
						</svg>
					</div>
				</div>
			</div>
			<div class="popup-content">
				Lorem ipsum, dolor sit <span>amet</span> consectetur <strong>adipisicing</strong> elit.
				Error, voluptate.
			</div>
		</main>

*/
#notif-popup {
	display: none;
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 400px;
	min-height: 100px;
	background-color: white;
	border-top: none;
	box-shadow: 0 0 10px var(--clr-shadow);
	animation: popup-slide-from-top 200ms ease-in-out;
	padding: 20px;
	border-radius: 0 0 6px 6px;
	z-index: 30;
}
#notif-popup.success {
	border: 0.5px solid var(--clr-green);
}
#notif-popup.error {
	border: 0.5px solid var(--clr-red);
}
#notif-popup .close-popup {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 15px;
	cursor: pointer;
}
#notif-popup .close-popup:hover {
	filter: var(--filter-primary);
}
#notif-popup .status {
	display: none;
	padding-bottom: 20px;
}
#notif-popup .success-icon,
#notif-popup .error-icon {
	display: none;
}
#notif-popup.success .status,
#notif-popup.error .status {
	display: block;
}
#notif-popup.success .success-icon {
	display: block;
}
#notif-popup.error .error-icon {
	display: block;
}
#notif-popup .popup-content {
	text-align: center;
	font-weight: 400;
}
#notif-popup .popup-content span {
	color: var(--clr-primary);
}
#notif-popup .popup-content strong {
	font-weight: 600;
}

#popup {
	display: none;
	position: fixed;
	background-color: white;
	width: 80vw;
	height: 80vh;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 6px;
	box-shadow: 0 0 10px var(--clr-shadow);
	animation: popup-fade 200ms ease-in-out;
	z-index: 100;
}
#popup .popup-container {
	height: 100%;
	display: grid;
	grid-template-rows: 10% 1fr 15%;
}
#popup .header {
	border-radius: 6px 6px 0 0;
	display: grid;
	place-content: center;
	position: relative;
	box-shadow: 0 0 10px var(--clr-shadow);
}
#popup .exit-popup {
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	width: 25px;
	cursor: pointer;
}
#popup .exit-popup:hover {
	filter: var(--filter-primary);
}
#popup .title {
	text-align: center;
	font-size: 25px;
	font-weight: 600;
}
#popup .subtitle {
	font-weight: 400;
	color: var(--clr-text-lead);
}
#popup .body {
	height: 100%;
	overflow-y: scroll;
	/* display: grid; */
	width: 100%;
	place-content: center;
}
#popup .body .popup-content {
	padding: 30px;
	width: 100%;
	text-align: center;
}
#popup .body .popup-content .input-container {
	width: 300px;
}
#popup .body .popup-content .message.hidden {
	color: transparent;
}
#popup .body .popup-content .message {
	font-weight: 400;
	font-size: 17px;
	color: var(--clr-red);
}
#popup .body .popup-content span {
	color: var(--clr-primary);
}
#popup .body .popup-content strong {
	font-weight: 500;
}
#popup .footer {
	box-shadow: 0 0 10px var(--clr-shadow);
	border-radius: 0 0 6px 6px;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}
#popup .action {
	display: none;
	min-width: 15ch;
	text-align: center;
	padding: 10px 40px;
	font-weight: 500;
	font-size: 18px;
	border-radius: 10px;
	cursor: pointer;
}
#popup .confirm {
	display: block;
	background: var(--gradient-secondary-accent-left);
	transition: 0.2s;
	color: white;
}
#popup .confirm:hover {
	background: var(--gradient-secondary-accent-right);
	box-shadow: 0px 0px 20px 0px var(--clr-accent-subtle);
	scale: 0.95;
}
#popup .delete {
	background-color: var(--clr-red);
	color: white;
}
#popup .delete:hover {
	background-color: var(--clr-red-dark);
}
#popup .cancel {
	border: 1px solid var(--clr-accent);
	color: var(--clr-accent);
}
#popup .cancel:hover {
	background-color: var(--clr-accent-light);
	color: white;
}

#popup.double-action .confirm,
#popup.double-action .cancel {
	display: block;
}
#popup.delete-popup .delete,
#popup.delete-popup .cancel {
	display: block;
}
#popup.delete-popup .confirm {
	display: none;
}

/********************************************************************************/
/***************************ERROR/SUCCESS ANIMATIONS*****************************/
/********************************************************************************/

.checkmark {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: block;
	stroke-width: 2;
	stroke-miterlimit: 10;
	position: relative;
	margin: 0 auto;
}
.success-animation .checkmark {
	stroke: var(--clr-green);
	box-shadow: inset 0px 0px 0px var(--clr-green);
	animation: fill-green 0.4s ease-in-out 0.4s forwards, scale 0.3s ease-in-out 0.9s both;
}
.error-animation .checkmark {
	stroke: var(--clr-red);
	box-shadow: inset 0px 0px 0px var(--clr-red);
	animation: fill-red 0.4s ease-in-out 0.4s forwards, scale 0.3s ease-in-out 0.9s both;
}
.checkmark_circle {
	stroke-dasharray: 166;
	stroke-dashoffset: 166;
	stroke-width: 2;
	stroke-miterlimit: 10;

	fill: #fff;
	animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}
.success-animation .checkmark_circle {
	stroke: var(--clr-green);
}
.error-animation.checkmark_circle {
	stroke: var(--clr-red);
}
.checkmark_check {
	transform-origin: 50% 50%;
	stroke-dasharray: 48;
	stroke-dashoffset: 48;
	animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}

@keyframes stroke {
	100% {
		stroke-dashoffset: 0;
	}
}

@keyframes scale {
	0%,
	100% {
		transform: none;
	}

	50% {
		transform: scale3d(1.1, 1.1, 1);
	}
}

@keyframes fill-green {
	100% {
		box-shadow: inset 0px 0px 0px 30px var(--clr-green);
	}
}
@keyframes fill-red {
	100% {
		box-shadow: inset 0px 0px 0px 30px var(--clr-red);
	}
}

#loading-page {
	position: fixed;
	inset: 0;
	z-index: 100;
	background: white;
	display: grid;
	place-items: center;
}

#loading-page img {
	width: 150px;
	animation: pulse 2s ease-in-out infinite;
}

#language-select {
	display: flex;
	gap: 10px;
	flex-direction: column;
}
#language-select img {
	width: 25px;
	cursor: pointer;
}
