@import url('https://fonts.googleapis.com/css2?family=Spline+Sans:wght@300..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

:root {
	--blue: #368CE7;
	--blue-dark: #1666BA;
	--blue-light: #7AB3EF;

	--red: #FF0000;
	--red-dark: #A70000;
	--red-light: #FF5252;

	--green: #76BA1B;
	--green-dark: #4C9A2A;
	--green-light: #ACDF87;

	--orange: #ff7400;
	--orange-dark: #ff4d00;
	--orange-light: #ff9a00;

	--black: #000;
	--dark: #333;
	--light: #666;

	--white: #fff;
	--white-dark: #ccc;
	--white-light: #eee;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

p {
	margin: 0;
}

a,
button,
input,
textarea {
	outline: 0;
	transition: all .5s ease;
}

a {
	text-decoration: none !important;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: "Spline Sans", sans-serif;
	font-weight: 400;
	font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Bebas Neue", sans-serif;
	font-weight: 700;
}


header,
.banner,
.section,
.h2,
.para,
.flexbox,
footer {
	width: 100%;
	float: left;
}

.logo {
	color: #fff;
	font-family: "Bebas Neue", sans-serif;
	font-size: 28px;
}

.logo img {
	width: 200px;
}

.header {
	padding: 10px 15px;
	position: relative;
	z-index: +9;
	color: #fff;
	transition: all 0.5s;
	background-color: #0c1d1b;
}

.header .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header span {
	font-size: 20px;
	font-weight: 600;
}

.container {
	width: 100%;
	max-width: 1200px;
	padding: 0 15px;
}

.banner {
	background: #0c1d1b;
	background-size: cover;
	padding: 20px 0;
	position: relative;
}

.banner .container {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	color: #fff;}

.btn-box {
	width: 100%;
	float: left;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.btn-cu {
	background-color: transparent;
	color: #fff;
	width: auto;
	text-align: center;
	padding: 10px 20px;
	float: left;
	font-size: 14px;
	border: 2px solid #fff;
}

.btn-cus {
	background-color: #e5b671;
	color: #000;
	border: none;
	width: auto;
	padding: 12px 20px;
	margin: 0 0 20px;
}

h6 {
	background-color: #366251;
	color: #fff;
	font-size: 15px;
	float: left;
	width: auto;
	padding: 10px 20px;
	border-radius: 30px;
	margin: 0 0 15px;
}

.h-low {
	background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url(../img/img-1.jpg);
	background-size: cover;
}

.h-low .container {
	min-height: 100px;
	align-items: center;
	color: #fff;
}

.span {
	font-size: 15px;
	float: left;
	width: 100%;
	font-weight: 500;
	color: #33d34f;
}

.banner h1 {
	font-size: 28px;
	font-weight: 800;
	margin: 0 0 10px;
}

.banner p {
	font-size: 15px;
	line-height: 24px;
}

.section {
	padding: 20px 0;
	position: relative;
}

.section .container {
	position: relative;
	z-index: 2;
}

.h2 {
	font-size: 30px;
	font-weight: 600;
	margin: 0 0 16px;
}

.para {
	font-size: 14px;
	line-height: 23px;
	margin: 0 0 20px;
}

.para:last-child {
	margin: 0;
}

.flexbox {
	display: flex;
	align-items: center;
	margin: 0 0 20px;
}

.flexbox:last-child {
	margin: 0;
}

.flexbox>p,
.flexbody {
	flex: 1;
}

.flexbox>p:first-child,
.flexbody:first-child {
	padding: 0 30px 0 0;
}

.flexbox>p:last-child,
.flexbody:last-child {
	padding: 0 0 0 30px;
}

.flexbox>img {
	width: 100%;
	max-width: 45%;
	object-fit: cover;
	border-radius: 10px;
}

.paracenter {
	text-align: center;
}

.banner .flexbox {
	align-items: stretch;
}

.banner .flexbody {
	background-color: #e2eddc;
	border-radius: 10px;
	padding: 20px !important;
	margin-right: 30PX;
	color: #000;
}

.carousel-indicators [data-bs-target] {
	box-sizing: content-box;
	flex: 0 1 auto;
	width: 15px;
	height: 15px;
	padding: 0;
	border-radius: 50%;
	margin-right: 3px;
	margin-left: 3px;
	text-indent: -999px;
	cursor: pointer;
	background-color: #fff;
	background-clip: padding-box;
	border: 0;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	opacity: .5;
	transition: opacity .6s ease;
}

.carousel-indicators {
	margin-bottom: 0 !important;
}

.carousel-caption {
	position: relative;
	left: 0% !important;
	color: #fff;
	text-align: left;
	text-align: center;
	background-color: #3d3d4a;
	padding: 20px;
	border-radius: 20px;
	float: left;
}

.carousel-item {
	padding: 20px;
	width: 100%;

}

.carousel-caption img {
	width: 120px;
	margin: 10px;
}

.carousel-item>img {
	width: 50%;
	height: 150px;
	object-fit: cover;
	border: 1px solid #1f7ca2;

}

.carousel-indicators .active {
	opacity: 4;
}

.content {
	width: 100%;
	float: left;
	padding: 15px;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-direction: column;
	background-color: #3d3d4a;
	color: #ffff;
	border-radius: 20px;
}

.section2 {
	background-color: #0c1d1b;
	color: #fff;
}

.section1 {
	background-color: #f9f8fb;
}

iframe {
	position: absolute;
	width: 100%;
}

.center {
	width: 100%;
	float: left;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	flex-direction: column;
	margin: 0 0 20px;
}

.center:last-child {
	margin: 0 !important;
}

.center>img {
	width: auto;
	max-width: 100%;
	float: left;
}

.container>img {
	width: 100%;
	float: left;
	margin: 0 0 20px;
}

.flexgroup {
	width: 100%;
	float: left;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.flexgroup>img {
	width: 33%;
	float: left;
	margin: 0 0 20px;
}

.flexgroupbox {
	width: 33%;
	margin: 0 0 20px;
	padding: 15px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
}

.flex {
	width: 49%;
}

.flexgroupbox>img {
	width: 100%;
	float: left;
	margin: 0 0 20px;
}

h4 {
	font-size: 20px;
}

.flex-cus {
	background-color: #415855;
}

.flex-cus span {
	width: 100%;
	float: left;
	display: flex;
	justify-content: flex-start;
	margin: 0 0 20px;
}

.flex-cus span img {
	width: 100px;
	height: 100px;
	border-radius: 50%;
}

.formsection {
	font-size: 16px;
	font-weight: 400;
	background-color: #f5f6f4;
}

.formsection .container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 3;
}

.formbox {
	width: 100%;
	float: left;
	max-width: 600px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.text {
	width: 49%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
}

.text-cu {
	width: 100%;
}

.text span {
	width: auto;
	float: left;
	font-weight: 400;
	color: #000;
	font-size: 14px;
}

.formfield {
	width: 100%;
	height: 50px;
	margin: 0 0 10px;
	padding: 10px;
	border: none;
	background: #e2e3e1;
	color: #000;
	font-size: 15px;
}

.textarea-cu {
	width: 100%;
	height: 150px;
	margin: 0 0 10px;
	padding: 10px;
	border: none;
	background: #e2e3e1;
	color: #000;
	font-size: 15px;
}

.formfield::placeholder,
.textarea-cu::placeholder {
	color: #333;
}

.formbutton {
	width: 40%;
	float: left;
	height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border: none;
	background: #000;
	color: #fff;
	border: none;
	cursor: pointer;
	outline: 0 !important;
}

footer {
	background: #141310;
	text-align: center;
	padding: 10px 0;
	color: #fff;
}

footer .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.footerlinks {
	flex: 1;
	display: flex;
	justify-content: flex-end;
	width: 100%;
	align-items: center;
}

.footerlinks img {
	width: 80px;
	margin-left: 30px;
}

.footerlinks a {
	font-size: 14px;
	color: #fff;
	margin: 0 6px;
}

.footerlinks a:hover {
	text-decoration: underline !important;
}

.copyrights {
	font-size: 14px;
}

.copyrights a {
	text-decoration: underline !important;
	color: #fff;
}

.text-white {
	font-size: 14px;
}

.cookiesection {
	width: 100%;
	float: left;
	min-height: calc(100vh - 126px);
	padding: 40px 0;
	background-color: #ececec;
	color: #000;
}

.cookiesection h2 {
	font-size: 22px;
	font-weight: 600;
}

.cookiesection p {
	font-size: 14px;
	line-height: 20px;
}

.cookiesection p strong {
	font-weight: 600;
}

.cookiesection p .bolder {
	display: block;
	margin: 30px 0 10px;
	font-weight: 600;
	font-size: 16px;
	text-align: center;
}

.backbutton {
	float: left;
	display: inline-flex;
	align-items: center;
	margin: 30px 0 20px;
	padding: 6px 8px;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 600;
	color: var(--blue-dark) !important;
	border: solid 1px var(--blue-dark);
	;
}

.backbutton img {
	width: 15px;
	margin: 0 5px 0 0;
	transition: all .3s ease;
}

.backbutton:hover {
	background: var(--blue-dark);
	;
	color: #fff !important;
}

.backbutton:hover img {
	filter: saturate(0) brightness(10);
}

.alert {
	background: rgba(0, 0, 0, 0.7) !important;
	color: #ffffff !important;
	position: fixed !important;
	bottom: 0px;
	margin-bottom: 0 !important;
	left: 0;
	right: 0;
	border-radius: 0;
	text-align: center;
	width: 100%;
	margin: auto;
	padding: 7px 30px !important;
	display: flex;
	justify-content: space-between;
	border-radius: 0px !important;
	flex-wrap: wrap;
	align-items: center;
}

.alert-dismissible {
	z-index: +3;
}

.alert-close {
	border: 1px solid transparent;
	border-radius: 4px;
	background: #862041;
	color: white;
	padding: 0px !important;
	width: 3rem;
	height: 2rem;
	font-size: 14px;
}

.hide {
	display: none;
}

span {
	font-weight: bold;
}

.alert p {
	font-size: 14px;
}

.hide {
	display: none;
}

.alert-close {
	padding: 0px 9px;
	border: 1px solid transparent;
	border-radius: 4px;
	background: #862041;
	color: white;
	margin: 0 !important;
	font-size: 14px;
}

.modal-content {
	background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url("../img/banner.jpg") center;
	background-size: cover;
}

.btn {
	width: 58%;
	border: 1px solid transparent;
	font-size: 22px;
	background: #8c3737;
	color: white;
	border-radius: 6px;
	margin: auto !important;
}

.btn:hover {
	background-color: #000;
	color: #fff;
}

.mb-3 textarea {
	width: 100%;
	height: 150px;
	padding: 10px 0 0 10px;
}

.modal-header {
	color: #fff;
}

.week-flex {
	width: 265px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	grid-area: 20px;
	float: left;
	margin: 0 0 10px;
	text-align: left ;
}

.flex-o {
	width: 150px;
	float: left;
	font-weight: 600;
	font-size: 15px;
	text-align: left;
}

.flex-t {
	width: auto;
	font-weight: 400;
	font-size: 12px;
	text-align: left;
	float: left;
}

@media (max-width:800px) {
	.banner h1 {
		font-size: 28px;
	}

	.h2 {
		font-size: 20px;
	}

	.para {
		font-size: 14px;
	}

	.flexbox {
		flex-direction: column;
	}

	.flexbox>img {
		max-width: 80%;
		order: 1;
		margin: 0 0 15px;
		height: 200px;
	}

	.flexbody,
	.flexbox>.para {
		padding: 0 !important;
		order: 2;
		width: 100%;
        float: left;
	}

	footer .container {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.flexgroupbox {
		width: 100%;
	}

	.banner {
		padding: 20px 0;
	}

	.formfield {
		width: 100%;
	}

	.banner .container {
		min-height: 200px;
	}

	.formbutton {
		width: 100%;
	}

	.img-size {
		width: 100%;
	}

	.footerlinks {
		justify-content: center;
	}

	.banner .flexbox {
		flex-direction: column-reverse;
	}

	.formsection .flexbox {
		flex-direction: column-reverse;
		gap: 20px;
	}

	.text {
		width: 100%;
	}

	.banner .flexbox>img {
		display: none;
	}

	.copyrights {
		margin: 0 0 20px;
	}

	.flexgroupbox>img {
		height: 200px !important;
		object-fit: cover;
	}

	.img {
		height: 125px;
	}

	.content {
		width: 100%;
		padding: 0px;
	}

	.flex-cu {
		border: 1px solid #6d5099;
	}
}

@media (max-width:456px) {
	.header .container {
		flex-direction: column;
		gap: 10px;
	}

	.btn-box {
		flex-direction: column;
		gap: 10px;
	}
}

@layer base, demo;

@layer demo {
	.carousel {
		--items: 4;
		--carousel-duration: 40s;

		@media (width > 600px) {
			--carousel-duration: 30s;
		}

		--carousel-width: min(80vw,
			800px);
		/* note - it will "break" if it gets too wide and there aren't enough items */
		--carousel-item-width: 400px;
		--carousel-item-height: 280px;
		--carousel-item-gap: 2rem;

		--clr-cta: rgb(0, 132, 209);

		position: relative;
		width: var(--carousel-width);
		height: var(--carousel-item-height);
		overflow: clip;

		&[mask] {
			/* fade out on sides */
			mask-image: linear-gradient(to right,
					transparent,
					black 10% 90%,
					transparent);
		}

		&[reverse]>article {
			animation-direction: reverse;
		}

		/* hover pauses animation */
		&:hover>article {
			animation-play-state: paused;
		}
	}

	.carousel {
		width: 100%;
	}

	.carousel>article {
		position: absolute;
		top: 0;
		left: calc(100% + var(--carousel-item-gap));
		width: var(--carousel-item-width);
		grid-template-rows: 200px auto 1fr auto;
		gap: 0.25rem;
		border: 1px solid light-dark(rgba(0 0 0 / 0.25), rgba(255 255 255 / 0.15));

		padding-block-end: 1rem;
		border-radius: 10px;
		background: light-dark(white, rgba(255 255 255 / 0.05));
		color: light-dark(rgb(49, 65, 88), white);

		/* animation */
		will-change: transform;
		animation-name: marquee;
		animation-duration: var(--carousel-duration);
		animation-timing-function: linear;
		animation-iteration-count: infinite;
		animation-delay: calc(var(--carousel-duration) / var(--items) * 1 * var(--i) * -1);

		&:nth-child(1) {
			--i: 0;
		}

		&:nth-child(2) {
			--i: 1;
		}

		&:nth-child(3) {
			--i: 2;
		}

		&:nth-child(4) {
			--i: 3;
		}
	}

	.carousel {
		position: relative;
		width: 100%;
		float: left;
	}

	.carousel img {
		width: 100%;
		height: 100%;
		object-fit: cover;

		border-radius: 10px;
	}

	.carousel>article>*:not(img) {
		padding: 0 1rem;
	}

	.carousel>article>div {
		grid-row: span 2;
		display: grid;
		grid-template-rows: subgrid;
		font-size: 0.8rem;
	}

	.carousel>article h2 {
		font-size: 1.2rem;
		font-weight: 300;
		padding-block: 0.75rem 0.25rem;
		margin: 0;
	}

	.carousel>article p {
		margin: 0;
	}

	.carousel>article a {
		text-decoration: none;
		text-transform: lowercase;
		border: 1px solid var(--clr-cta);
		color: light-dark(var(--clr-cta), white);
		border-radius: 3px;
		padding: 0.25rem 0.5rem;
		place-self: start;
		transition: 150ms ease-in-out;

		&:hover,
		&:focus-visible {
			background-color: var(--clr-cta);
			color: white;
			outline: none;
		}
	}

	@keyframes marquee {
		100% {
			transform: translateX(calc((var(--items) * (var(--carousel-item-width) + var(--carousel-item-gap))) * -1));
		}
	}
}

/* general styling */
@layer base {
	* {
		box-sizing: border-box;
	}

	:root {
		color-scheme: light dark;

		--bg-dark: rgb(2, 6, 24);
		--bg-light: rgb(229, 229, 229);
		--txt-light: rgb(10, 10, 10);
		--txt-dark: rgb(245, 245, 245);
	}

}