:root {
	--primary-color: #243C82;
	--primary-rgb: 219, 19, 27;
	--primary-hover: #09286f;
	--primary-light: #fff4f4;

	--secondary-color: #2581c4;
	--secondary-rgb: 37, 129, 196;
	--secondary-hover: #1c679d;

	--gray-900: #111111;
	--gray-800: #232323;
	--gray-700: #343434;
	--gray-600: #4b5563;
	--gray-500: #6b7280;
	--gray-400: #9ca3af;
	--gray-300: #d1d5db;
	--gray-200: #e5e7eb;
	--gray-100: #f3f4f6;

	--bg-light: #EFF3FA;

	--bg-primary: #1d3e55;
	--bg-primary-light: #26506d;
	--bg-primary-dark: #132a3b;

	--transition-default: .3s all ease-in-out;
	--transition-cubic: .3s all cubic-bezier(.19, 1, .22, 1);
	--font-theme: 'Roboto', sans-serif;
}

html {
	font-size: 16px;
}

body {
	position: relative;
	width: 100%;
	background-color: var(--bs-white);
	color: var(--gray-800);
	font: 400 14px/1.4 var(--font-theme);
	font-style: normal;
	font-stretch: normal;
	font-display: auto;
}

a, a:hover, a:focus {
	outline: none;
	text-decoration: none;
	cursor: pointer;
	-o-transition: var(--transition-default);
	transition: var(--transition-default);
	-webkit-transition: var(--transition-default);
}

button, button:hover, button:focus {
	-webkit-box-shadow: none;
	box-shadow: none;
	outline: none;
	text-decoration: none;
	cursor: pointer;
	-o-transition: var(--transition-default);
	transition: var(--transition-default);
	-webkit-transition: var(--transition-default);
}

input,
select,
textarea {
	-o-transition: var(--transition-default);
	transition: var(--transition-default);
	-webkit-transition: var(--transition-default);
}

input:focus,
select:focus,
textarea:focus {
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	outline: none !important;
}

.transition-default {
	-o-transition: var(--transition-default);
	transition: var(--transition-default);
	-webkit-transition: var(--transition-default);
}

.transition-cubic {
	-o-transition: var(--transition-cubic);
	transition: var(--transition-cubic);
	-webkit-transition: var(--transition-cubic);
}

.background-cover {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.background-contain {
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}

.image-cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.image-contain {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.object-fit-cover {
	-o-object-fit: cover;
	object-fit: cover;
}

.object-fit-contain {
	-o-object-fit: contain;
	object-fit: contain;
}

.hidden-effect {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.hidden-effect:hover {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.pseudo:before,
.pseudo:after {
	position: absolute;
	content: "";
	display: block;
}

.z-index-0 {
	z-index: 0;
}

.z-index-1 {
	z-index: 1;
}

.z-index-2 {
	z-index: 2;
}

.z-index-3 {
	z-index: 3;
}

.z-index-4 {
	z-index: 4;
}

.z-index-5 {
	z-index: 5;
}

.z-index-10 {
	z-index: 10;
}

.text-1-line {
	overflow: hidden;
	-o-text-overflow: ellipsis;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: inline-block;
	max-width: 100%;
}

.text-2-line {
	overflow: hidden;
	-o-text-overflow: ellipsis;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	-webkit-box-orient: vertical;
}

.text-3-line {
	overflow: hidden;
	-o-text-overflow: ellipsis;
	text-overflow: ellipsis;
	-webkit-line-clamp: 3;
	display: -webkit-box;
	-webkit-box-orient: vertical;
}

.text-4-line {
	overflow: hidden;
	-o-text-overflow: ellipsis;
	text-overflow: ellipsis;
	-webkit-line-clamp: 4;
	display: -webkit-box;
	-webkit-box-orient: vertical;
}

img[src=""],
img:not([src]) {
	opacity: 0;
}
