:root {
	--textColor: #202020;
	--textLinkColor: #9962cc;
	--textAltLinkColor: #d0d0d0;

	--bodyBackground: rgba(136, 96, 204, 0.5);
	--bodyBackgroundAlt: rgba(136, 96, 204, 0.85);
	--bodyBackgroundSolid: rgba(136, 96, 204, 1);
	--bodyBackgroundWhite: rgba(208, 208, 208, 0.85);
	--bodyBackgroundAltWhite: rgba(255, 255, 255, 0.50);
	--bodyBackgroundBlack: rgba(20, 20, 20, 0.85);

	--menuTextColor: #d0d0d0;
	--menuBackground: #333;
	--menuAltBackground: #202020;
}

@media (max-width: 991px) {
	ul#main-menu {
		justify-content: center !important;
	}

	.flip-card-group {
		max-width: 100% !important;
	}
}

html {
	scroll-behavior: smooth;
	position: relative;
	min-height: 100%;
	overflow-x: hidden;
}

body {
	scroll-behavior: smooth;
	background-image: linear-gradient(180deg, var(--bodyBackground) 0%, transparent 33.33%);
	font-size: 0.875rem;
}

#main-wrap {
	position: relative;
	box-shadow: 0 2rem 4rem 0 rgba(32, 32, 32, 0.33);
	background-color: var(--bodyBackgroundAlt);
	background-image: url('../img/pattern.webp');
	background-repeat: repeat;
	background-position: top center;
	background-size: 25%;
	background-blend-mode: soft-light;
	margin: 1.5rem 0;
}

#header-wrap {
	min-height: 12.5rem;
	display: flex;
	align-items: center;
}

#header-wrap[class^="bg-"] {
}

#header-wrap.bg-0 {
	background-image: linear-gradient(90deg, #fff 15%, transparent 100%), linear-gradient(0deg, #fff 0%, transparent 100%), url('../img/bg_header_0.webp');
	background-position: center right;
	background-size: cover;
	background-repeat: no-repeat;
}

#header-wrap.bg-1 {
	background-image: linear-gradient(90deg, #fff 15%, transparent 100%), linear-gradient(0deg, #fff 0%, transparent 100%), url('../img/bg_header_1.webp');
	background-position: center right;
	background-size: cover;
	background-repeat: no-repeat;
}

#header-wrap.bg-2 {
	background-image: linear-gradient(90deg, #fff 15%, transparent 100%), linear-gradient(0deg, #fff 0%, transparent 100%), url('../img/bg_header_2.webp');
	background-position: center right;
	background-size: cover;
	background-repeat: no-repeat;
}

#header-wrap.bg-3 {
	background-image: linear-gradient(90deg, #fff 15%, transparent 100%), linear-gradient(0deg, #fff 0%, transparent 100%), url('../img/bg_header_3.webp');
	background-position: center right;
	background-size: cover;
	background-repeat: no-repeat;
}

#header-wrap.bg-4 {
	background-image: linear-gradient(90deg, #fff 15%, transparent 100%), linear-gradient(0deg, #fff 0%, transparent 100%), url('../img/bg_header_4.webp');
	background-position: center right;
	background-size: cover;
	background-repeat: no-repeat;
}

#header-wrap.bg-5 {
	background-image: linear-gradient(90deg, #fff 15%, transparent 100%), linear-gradient(0deg, #fff 0%, transparent 100%), url('../img/bg_header_5.webp');
	background-position: center right;
	background-size: cover;
	background-repeat: no-repeat;
}

#header-wrap > #header-logo {
	width: 12.5rem;
	height: 12.5rem;
}

#header-logo > a,
#header-logo > a > img {
	width: 100%;
	height: 100%;
}

#header-logo > a:hover > img {
	animation: sway 1s cubic-bezier(0.25, 0.25, 0.25, 0.25) forwards infinite;
}

#menu-wrap {
	height: 3rem;
	background-color: var(--menuBackground);
	background-image: linear-gradient(180deg, transparent 0%, var(--menuAltBackground) 100%);
}

ul#main-menu {
	display: flex;
	justify-content: flex-end;
	height: 100%;
	color: var(--menuTextColor);
	list-style-type: none;
	padding: 0;
	margin: 0;
}

ul#main-menu > li > a {
	padding: 0.75rem 1rem;
	display: block;
	color: var(--textAltLinkColor) !important;
	text-decoration: none;
}

ul#main-menu > li > a:hover {
	background-color: rgba(32, 32, 32, 1);
	filter: contrast(1.25) brightness(1.25) saturate(1.25);
}

#body-wrap {
	min-height: 32rem;
}

#slide-wrap {
	width: 100%;
	min-height: 32rem;
	position: relative;
}

#slide-wrap #slide-btn {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1030;
	margin-top: 1rem;
	margin-right: 1rem;
}

#slide-btn ul.slick-dots {
	display: flex;
	gap: 0 0.75rem;
}

#slide-btn li {
	list-style-type: none;
}

ul.slick-dots > li > a.slick-dots-btn {
	display: block;
	height: 0.75rem;
	width: 0.75rem;
	background-color: var(--bodyBackgroundAlt);
	box-shadow: inset 0 0 0 0.0625rem rgba(255, 255, 255, 1);
	cursor: pointer;
	transform: rotate(45deg);
}

ul.slick-dots > li.slick-active > a.slick-dots-btn {
	background-color: var(--bodyBackgroundWhite);
}

#slides .slide-group {
	min-height: 30rem;
	padding: 1rem;
}

.slide-group .product-image {
	text-align: center;
}

.product-desc > h1,
.product-desc > h2,
.product-desc > h3,
.product-desc > h4,
.product-desc > h5,
.product-desc > h6 {
	color: var(--textAltLinkColor);
	font-weight: 600;
}

#footer-wrap::after {
	content: '';
	width: 100%;
	max-height: 100%;
	position: absolute;
	background-image: url('../img/pattern.webp');
	z-index: -1;
}

#footer-wrap {
	position: relative;
	min-height: 0rem;
	background-color: #fff;
	background-image: linear-gradient(0deg, transparent -33%, #fff 77%), url('../img/pattern.webp');
	background-repeat: repeat;
	background-position: bottom left;
	background-size: 20%;
}

#footer-wrap h5 {
	color: var(--textLinkColor);
	font-weight: 600;
}

#partner-wrap {
	display: flex;
	justify-content: space-around;
	align-items: center;
	gap: 0 0.5rem;
}

#partner-wrap > a {
	width: 4rem;
}

#body-wrap a {
	color: var(--textAltLinkColor) !important;
}

a:not(.tooltip-wrap) {
	color: var(--textLinkColor) !important;
}

a.tooltip-wrap .tooltip-text {
	display: none;
	font-size: 0.75rem;
	color: var(--textAltLinkColor) !important;
	min-width: 1rem;
	min-height: 1rem;
	padding: 0.25rem 0.5rem;
	z-index: -1;
	background-color: var(--bodyBackgroundBlack);
	border-radius: 0.25em;
}

a.tooltip-wrap:hover .tooltip-text {
	position: fixed;
	display: block;
	z-index: 999;
}

code {
	background-color: var(--bodyBackgroundWhite);
	padding: 0.25rem 0.5rem;
	color: var(--textLinkColor);
}

#flip-card-wrap {
	justify-content: center;
	gap: 1rem 2rem;
	padding-bottom: 2rem;
}

.flip-card-group {
	background-color: transparent;
	min-height: 12rem;
	perspective: 1000px;
	max-width: 30%;
}

.flip-card {
	position: relative;
	width: 100%;
	height: 100%;
	text-align: center;
	transition: transform 0.6s;
	transform-style: preserve-3d;
	box-shadow: 0 0.25rem 0.5rem 0 rgba(0,0,0,0.25);
}

.flip-card-group:hover .flip-card {
	transform: rotateY(180deg);
}

.flip-card-front, .flip-card-back {
	position: absolute;
	width: 100%;
	height: 100%;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	border: 0.0625rem solid var(--bodyBackgroundWhite);
}

.flip-card-front {
	background-color: var(--bodyBackgroundWhite);
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}

.flip-card-front > .logo {
	position: absolute;
	max-height: 66.66%;
	max-width: 66.66%;
}

.flip-card-back {
	background-color: var(--bodyBackgroundSolid);
	background-image: url('../img/pattern.webp');
	background-repeat: repeat;
	background-position: top center;
	color: white;
	transform: rotateY(180deg);
	box-shadow: inset 0 0 2rem 0 rgba(0,0,0,0.5),
				inset 0 6rem 0 0 rgba(255,255,255,0.125);
}

.flip-card-front h4,
.flip-card-back h4 {
	text-transform: uppercase;
	font-weight: 700;
}

.flip-card-back > .title-card {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
}

.title-card > i,
.title-card > svg {
	font-size: 2rem;
}

@keyframes sway {
	0% { transform: rotate(0deg); }
	14.28% { transform: rotate(2.5deg); }
	28.56% { transform: rotate(-2.5deg); }
	42.84% { transform: rotate(5deg); }
	57.12% { transform: rotate(-5deg); }
	71.4% { transform: rotate(2.5deg); }
	85.68% { transform: rotate(-2.5deg); }
	100% { transform: rotate(0deg); }
}
