﻿/*Globals*/
html
{
	font-size:62.5%;
}
body
{
	min-height:100vh;
	color:var(--basic-900);
	font-size:1.6rem;
	line-height:1.5;
	font-family:Poppins, 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";
	background-color:var(--basic-0);
	margin:0;
}
@media all and (max-width:991px)
{
	html
	{
		font-size:54.6875%;
	}
}

.no-overflow
{
	overflow-y:hidden;
}

/*Bootstrap*/
.container-fluid
{
	max-width:1600px;
}
.relative-fix
{
	position:relative;
	z-index:1;
}

/*Main*/
.main-body-wrap
{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	overflow:hidden;
}
main
{
	min-height:100%;
}

/*Text*/
h1, h2, h3, h4, h5, h6
{
	font-weight:700;
	margin-bottom:16px;
}
h1 
{
	font-size:5.6rem;
	line-height:1.15;
}
h2 
{
	font-size:4rem;
	line-height:1.25;
}
h3 
{
	font-size:3.2rem;
}
h4
{
	font-size:2.4rem;
}
h5
{
	font-size:2rem;
	font-weight:700;
}
p
{
	font-size:1.6rem;
	margin-bottom:1.6rem;
}
strong, b
{
	font-weight:700;
}
a:not(.btn)
{
	color:var(--primary-100);
	text-decoration:none;
}
@media (hover:hover)
{
	a:not(.btn):hover
	{
		color:var(--secondary-100);
	}
}

/*Text - Styles*/
.hero-title
{
	font-size:12rem;
}
.hero-content-title
{
	font-size:6.4rem;
}
.x-large 
{
	font-size:2.4rem;
	margin-bottom:2.4rem;
}
.large
{
	font-size:2rem;
	margin-block:4rem;
}
.small
{
	font-size:1.4rem;
}
.x-small
{
	font-size:1.2rem;
}
.special-large
{
	font-size:2rem;
}
.special
{
	font-size:1.6rem;
	font-weight:700;
	font-style:italic;
}
@media all and (max-width:1499px)
{
	.hero-title
	{
		font-size:10rem;
	}
}
@media all and (max-width:767px)
{
	.hero-title
	{
		font-size:8rem;
	}
	.hero-content-title
	{
		font-size:5.6rem;
	}
}
@media all and (max-width:575px)
{
	.hero-title
	{
		font-size:clamp(4.8rem, 10vw , 6.4rem);
	}
	.hero-content-title
	{
		font-size:4.8rem;
	}
}

/*Colors*/
.c-primary-100
{
	color:var(--primary-100);
}
.c-basic-0
{
	color:var(--basic-0);
}
.c-basic-800
{
	color:var(--basic-800);
}

/*Background Colors*/
.bg-0
{
	background-color:var(--basic-0);
}
.bg-100
{
	background-color:var(--basic-100);
}
.bg-s-100
{
	background-color:var(--secondary-100);
}
.bg-s-200
{
	background-color:var(--secondary-200);
}

/*Padding - Vertical*/
.py-64
{
	padding-block:6rem;
}
.py-80
{
	padding-block:7.2rem;
}
.py-120
{
	padding-block:10rem;
}
.py-200
{
	padding-block:18rem;
}
.py-260
{
	padding-block:24rem;
}
@media all and (max-width:1199px)
{
	.py-64
	{
		padding-block:4.8rem;
	}
	.py-80
	{
		padding-block:6.4rem;
	}
	.py-120
	{
		padding-block:8rem;
	}
	.py-200
	{
		padding-block:12rem;
	}
	.py-260
	{
		padding-block:20rem;
	}
}
@media all and (max-width:767px)
{
	.py-64
	{
		padding-block:3.6rem;
	}
	.py-80
	{
		padding-block:4.8rem;
	}
	.py-120
	{
		padding-block:6.4rem;
	}
	.py-200
	{
		padding-block:8rem;
	}
	.py-260
	{
		padding-block:12rem;
	}
}

/*Padding - Top*/
.pt-48
{
	padding-top:48px;
}
.pt-80
{
	padding-top:80px;
}
.pt-120
{
	padding-top:120px;
}

/*Padding - Bottom*/
.pb-64
{
	padding-bottom:64px;
}

/*Content Title*/
.content-title-wrap
{
	display:flex;
	justify-content:space-between;
}
.content-title-wrap .content-title
{
	flex:1;
}
.content-title-wrap .content-title h2
{
	font-size:6.4rem;
	text-transform:uppercase;
	margin-bottom:16px;
}
@media all and (max-width:767px)
{
	.content-title-wrap
	{
		flex-wrap:wrap;
	}
	.content-title-wrap .content-title
	{
		flex-basis:100%;
	}
	.content-title-wrap .content-title h2
	{
		font-size:4.8rem;
	}
}
@media all and (max-width:575px)
{
	.content-title-wrap .content-title h2
	{
		font-size:3.8rem;
	}
}

/*Fancy Title*/
.fancy-title
{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:40px;
	margin-bottom:80px;
}
.fancy-title::before,
.fancy-title::after
{
	content:'';
	width:100%;
	height:1px;
	background-color:var(--basic-400);
}
.fancy-title span
{
	flex:1 0 auto;
	color:var(--basic-400);
	font-size:1.2rem;
	font-weight:700;
	text-transform:uppercase;
}