/* ===== Global ===== */

:root {
	--body-color: #210847;
	--primary-color: #f23f5e;
	--highlight-color: #24252a;
	--body-font: 'proxima-nova', Proxima Nova, Arial, Helvetica, sans-serif;
	--title-font: 'benton-modern-display', serif;
	--size: clamp(10rem, 1rem + 40vmin, 30rem);
	--gap: calc(var(--size) / 5);
	--duration: 90s;
	--duration-longer: 220s;
	--scroll-start: 0;
	--scroll-end: calc(-100% - var(--gap));
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: var(--body-font);
	font-weight: 300;
	font-style: normal;
	font-size: 16px;
	color: var(--body-color);
	background-color: #fff;	
	height: auto;	
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	font-family: var(--title-font);
	font-weight: 700;
	font-weight: normal;
	line-height: 1;
	color: var(--body-color);
	margin-top: 0;
	letter-spacing: -1px;
}

h1, .h1 {
	font-size: clamp(2.18rem, 0.4091rem + 7.4545vw, 6rem);
	font-weight: 900;
	margin: 0 0 30px;
	color: #210847;	
}

h2, .h2 {
	font-size: clamp(1.8rem, 0.4091rem + 7.4545vw, 3.75rem);
	color: #ffffff;
	margin: 0 0 20px;
}

h3, .h3 {
	font-size: 1.65rem;
	margin: 0 0 20px;
	color: #ffffff;
}

h4, .h4 {
	font-size: 1.475rem;
	margin: 0 0 20px;
	color: #ffffff;
}

h4, .h4, h5, .h5, h6, .h6 {
	font-size: 1.15rem;
}

p {
	font-family: var(--body-font);
	font-size: 1rem;
	line-height: 1.4rem;
	margin: 0 0 1.5rem;
}

p:last-child {
	margin: 0;
}

a {
	font-weight: 700;
}

a, a:visited {
	color: var(--primary-color);
	text-decoration: none;
}

#main-content a:hover:not(.btn), #main-content a:focus:not(.btn) {
	text-decoration: none;
}

#main-content a {
	position: relative;
	z-index: 3;
}

a.skip_nav {
	background: var(--primary-color);
	color: #fff;
	height: 20px;
	left: 50%;
	padding: 8px;
	position: absolute;
	transform: translateY(-200%);
	transition: transform 0.3s;
}

a.skip_nav:focus {
  transform: translateY(0%);
}

b, strong {
	font-family: var(--body-font);
	font-weight: 600;
	font-style: normal;
}

ul {
	text-align: left;   
	padding-left: 1rem;
}

ul {
  list-style-type: none;
}

img {
	width: 100%;
	height: auto;
}

.grid {
	max-width: 1450px;
	margin: 0 auto;
	position: relative;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 20px;
}

.btn {
	color: var(--body-color);
	transition: 0.3s;
	background: none;
	border: 2px solid  var(--primary-color);
	display: block;
	font-family: var(--body-font);
	font-style: normal;
	font-weight: 900;
	font-size: 0.875rem;
	letter-spacing: 3.5px;
	border-radius: 4px;
	text-transform: uppercase;
	text-decoration: none;
	padding: 16px 26px;
	transition: all 0.2s ease-in-out;
	user-select: none;
	text-align: center;
}

.btn:hover, .btn:focus {
  border-color: var(--primary-color);
  color: #fff;
}


.btn_outline:hover,
.btn_outline:focus {
  box-shadow: inset 0 0 0 2em var(--primary-color);
}

main .btn_outline {
	background: none;
	border: 2px solid #fff;
	color: #fff;
	display: inline-block;
}

main .btn_outline:hover,
main .btn_outline:focus {
	background: #fff;
	border: 2px solid #fff;
	color: var(--body-color);
	display: inline-block;
	box-shadow: inset 0 0 0 2em #fff;
}

.ib {
	display: inline-block;
}

.fade_in {
  opacity:0;
  transition: all 2s ease-out;
}

.fade_in2 {
  transition-delay: 0.2s;
}

.fade_in3 {
  transition-delay: 0.4s;
}

.fade_active {
  opacity: 1;
}

.fade_down {
  opacity:0;
  transform: translateY(-20px);
  transition: all 0.8s cubic-bezier(.17,.67,.83,.67);
}

.fade_down2 {
  transition-delay: 0.2s;
}

.fade_down_active {
  transform: translateY(0);
  opacity: 1;
}

.highlight {
	color: var(--primary-color); 
}

.body {
	color: var(--body-color); 
}

.bounce {
	animation: bounce 2s ease infinite;
	animation-delay: 0.8s;
}

.body_bg_wrapper {
	overflow: hidden;
	height: 100%;
	width: 100%;
}

svg.body_bg {	
	position: fixed;
}

svg.body_bg .path1{    
	animation: scale-path 10s ease-in-out infinite;
}

@keyframes scale-path {
	50% {
		
		d:path('M.19,131.542c0-2.542,0-5.084.039-7.722.44-.411.835-.737,1.245-1.039,1.41-1.037,3.003-1.704,4.501-2.566,1.427-.821,2.682-1.828,3.338-3.494.695-1.764.107-3.021-1.634-3.438-1.696-.406-3.409-.361-5.128-.177-.783.084-1.574.086-2.361.125,0-1.077,0-2.155.046-3.285.573.145,1.077-.117,1.592-.151,1.875-.122,3.744-.327,5.521-1.038,2.088-.836,2.547-1.338,3.035-3.729.18-.883.181-2.787-.514-3.542-.667-.725-1.441-1.249-2.281-1.679-2.858-1.462-4.849-2.649-7.399-4.74,0-6.595,0-13.19.04-19.88,2.125-1.722,4.448-2.862,6.797-3.964,1.136-.533,2.299-1.05,3.274-1.904.428-.375,1.956-1.705,2.068-2.357.33-1.912-.328-3.503-1.542-4.821-1.529-1.661-4.552-1.108-6.608-1.449-1.338-.221-2.703-.167-4.028-.488,0-1.077,0-2.155.044-3.272.19.018.335.12.483.127,2.144.098,4.284.326,6.433.024,2.23-.314,3.016-1.835,1.995-3.961-.103-.215-.225-.419-.346-.624-.76-1.289-1.963-1.991-3.158-2.679-1.851-1.067-3.831-1.889-5.451-3.384,0-2.542,0-5.084.038-7.723.592-.518,1.129-.969,1.703-1.356,1.29-.869,2.713-1.471,4.045-2.257,1.367-.807,1.604-1.775,2.292-3.362.782-1.802.19-3.082-1.598-3.576-1.661-.459-2.347-.309-4.01-.21-.81.048-1.693-.154-2.47.321,0-1.126,0-2.252.05-3.432.441.12.803-.138,1.186-.148,1.698-.041,2.907-.684,4.548-1.151,2.439-.693,5.213.312,6.015-2.049.26-.764-.373-4.096-.813-4.755-.537-.806-1.325-1.366-2.171-1.816-2.111-1.122-4.306-2.059-6.37-3.282-.871-.516-1.724-1.07-2.443-1.824V0c1.457,0,2.915,0,4.416.045-.358.862-.84,1.627-1.22,2.461-.685,1.504-.544,2.896.285,4.28.358.598.765,1.153,1.203,1.668,1.977,2.324,4.438,3.284,7.338,2.793,1.842-.312,2.082-1.774,3.652-2.721,2.183-1.316,4.654-.293,7.129-.663,1.851-.277,4.784-.05,6.564-.767,1.607-.648,2.049-3.774,1.331-5.441-.247-.574-.682-1.032-.835-1.655,1.139,0,2.278,0,3.504.042.834.818,1.565,1.614,2.333,2.366,1.092,1.07,2.25,2.07,3.755,2.349,2.112.392,4.226.032,6.339-.088.736-.042,1.491-.195,2.206.165,0,.784,0,1.569-.054,2.405-1.327-.119-2.582.049-3.829.298-2.384.476-4.383,1.635-5.812,3.807-.954,1.451-1.804,2.976-2.473,4.591-.422,1.018-.255,2.384.791,3.018.938.568,1.959.878,2.976,1.202,2.863.91,5.735,1.792,8.401,3.283,0,2.249,0,4.498-.034,6.777-.389-1.08-1.02-1.984-1.832-2.753-.408-.386-2.066-.913-2.48-1.292-1.799-1.651-2.157-3.339-4.545-3.431-1.923-.074-4.088,1.532-5.802,2.308-2.963,1.342-6.216,2.722-9.499,2.682-1.611-.02-3.003-.243-4.603.152-2.016.498-3.751,1.435-4.955,3.301-.516.799-1.021,1.611-1.467,2.457-.862,1.637-2,2.884-3.641,3.668-1.425.681-2.916,1.193-4.284,2.036-2.666,1.642-2.81,4.395-.264,6.25,1.022.745,2.171,1.206,3.317,1.664,1.981.791,3.724,1.883,4.763,3.986.413.835.931,1.611,1.401,2.413,1.072,1.83,2.647,2.871,4.559,3.431,1.85.542,3.747.614,5.639.701.974.045,1.944.098,2.907.241,2.197.326,4.233,1.215,6.265,2.113,1.298.573,2.589,1.185,4.008,1.323,3.279.318,5.956-1.07,8.303-3.4.916-.91,1.72-1.901,2.241-3.132,0,2.249,0,4.498-.039,6.814-.148.097-.266.107-.364.161-2.028,1.098-4.186.812-6.345,1.534-2.064.69-2.943.055-4.663,1.748-.351.345-.69,1.587-.818,2.095-.237.94-.018,2.733.4,3.592.629,1.292,1.297,1.546,2.059,2.753,1.421,2.249,3.434,3.434,5.859,3.968,1.296.285,2.607.238,3.912.334,0,.833,0,1.666-.054,2.551-.257.033-.459-.003-.662-.002-1.561.01-3.112-.175-4.668-.27-1.7-.104-3.424-.102-4.954.877-1.649,1.055-3.008,1.846-3.676,3.806.802,2.851,2.004,3.093,3.526,4.159,1.772,1.24,3.782,1.065,5.737.933,1.588-.107,3.166-.096,4.75-.044,0,.784,0,1.569-.054,2.406-.915-.064-1.765.029-2.625.127-3.089.351-4.649,1.629-6.375,4.543-.732,1.236-2.323,2.546-2.969,3.828-.606,1.203-.343,2.709.748,3.314.603.334,1.234.603,1.888.813,3.184,1.023,6.402,1.944,9.386,3.572,0,2.249,0,4.498-.033,6.776-.25-.422-.365-.917-.654-1.339-.665-.972-1.498-1.752-2.348-2.522-2.019-1.829-4.312-2.818-6.977-2.709-1.427.058-2.774.5-4.043,1.148-3.734,1.907-7.663,2.702-11.783,2.688-1.412-.005-2.821.317-4.189.798-1.568.551-2.831,1.507-3.764,2.956-.425.661-.835,1.339-1.188,2.046-1.099,2.2-2.676,3.75-4.925,4.531-1.401.487-2.731,1.185-3.957,2.087-1.614,1.187-1.828,3.339-.484,4.854.492.555,1.069.986,1.702,1.316.856.446,1.704.946,2.607,1.243,2.457.81,4.112,2.538,5.268,4.937,1.128,2.341,2.754,4.08,5.198,4.799,1.781.524,3.605.694,5.434.745,1.361.038,2.707.138,4.047.392,2.322.44,4.431,1.529,6.598,2.447,2.817,1.194,5.623,1.278,8.331-.316,2.168-1.276,4.027-2.939,5.16-5.382,0,2.249,0,4.498-.052,6.824-.224.135-.407.171-.567.257-1.809.964-3.708,1.669-5.634,2.303-.512.169-1.079.186-1.52.577-3.503,0-7.006,0-10.544-.038.7-.749-.684-1.505-1.378-2.119-.781-.691-.667-2.222-1.656-2.431-.999-.212-2.058-.112-3.073-.189-1.064-.081-2.127-.171-3.187-.102-1.053.069-2.13,1.103-3.112,1.616-.978.511-1.263,1.478-.748,2.498.128.254.253.51.379.765-2.003,0-5.006,0-7.093-.047.334-1.08,1.804-3.04-2.699-4.361-1.501-.561-3.065.228-4.64.043-.824-.097-1.681.029-2.477-.323,0-1.028,0-2.057.053-3.136.596-.019,1.14,0,1.682.048,1.958.175,3.914,1.35,5.855.828,1.53-.411,4.135-1.516,3.638-3.128-.535-1.733-3.783-3.774-5.198-4.613-2.036-1.208-4.251-2.085-6.03-3.768M27.188,79.35c-1.766-.264-3.544-.451-5.285-.879-2.42-.595-4.551-1.885-6.655-3.239-1.113-.716-2.264-1.39-3.585-1.479-3.028-.205-5.481,1.027-7.336,3.597-.722,1-1.39,2.016-1.378,3.407.011,1.234.575,2.207,1.121,3.165.485.852.662,1.568.004,2.361-.074.09-.127.201-.186.305-.878,1.55-1.396,3.155-.438,4.878.806,1.45,1.727,2.811,3.131,3.678,2.632,1.625,5.294,2.003,8.023.24,1.087-.702,2.199-1.359,3.31-2.015,2.536-1.497,5.33-1.949,8.149-2.317,1.37-.179,2.743-.392,4.002-1.054,1.006-.53,1.283-1.277,1.059-2.464-.122-.645-.405-1.189-.745-1.701-.317-.478-.359-.882-.015-1.377.38-.548.626-1.18.776-1.854.202-.908-.005-1.569-.707-2.106-.937-.717-2.059-.835-3.246-1.143M18.717,65.858c1.118.346,2.259.519,3.419.42,1.327-.114,2.651.732,3.975.58,1.125-.129,1.24-.325,2.296-.792.844-.373,1.039-2.134.469-2.915-.632-.867-1.529-1.3-2.481-1.558-2.37-.642-3.797-.652-6.215-.564-.863.032-1.759.12-2.584.526-1.062.523-1.367,1.374-.873,2.488.394.889,1.064,1.432,1.994,1.814M27.175,23.641c.887-.318,1.998.007,2.68-.724.91-.975.984-2.809-.223-3.297-.854-.345-1.638-.594-2.54-.713-2.173-.285-2.616.923-4.812,1.154-1.062.112-3.856-.145-4.565.762-1.115,1.425-1.45,2.073-.008,2.782.849.417,1.76.467,2.655.494,2.243.068,4.485-.005,6.813-.458M20.324,109.221c2.016.022,4.035.046,6.031-.305,1.289-.227,2.521-.66,3.43-1.759.702-.849.581-1.455-.373-1.936-.347-.175-2.125-.108-2.498-.19-2.76-.608-3.027-2.254-5.837-2.085-1.061.064-3.192,1.609-3.955,2.523-1.129,1.352-.747,2.888.867,3.386.718.221,1.457.33,2.335.367M21.832,95.545c-.164.083-.342.144-.49.252-.692.505-1.491.965-1.448,2.031.043,1.056.873,1.385,1.62,1.621,2.351.742,4.595-.423,7.048-.834,1.34-.225,2.709.833,3.449-.541.674-1.253.356-2.432-.887-2.989-.393-.176-1.741-.817-2.161-.881-2.714-.419-4.43.484-7.132,1.341M30.913,75.263c1.919-.731,1.636-1.634.68-2.728-1.247-1.427-2.878-2.661-4.538-2.671-1.098-.006-2.206.141-3.298.357-1.157.228-2.327.404-3.319,1.168-.604.465-.738,1.08-.359,1.767.642,1.164,1.732,1.591,2.856,1.91.937.266,1.903.386,2.865.524,1.694.243,3.367.284,5.113-.326M32.244,12.372c.212-1.281-.02-1.81-1.064-2.364-.699-.371-1.842.121-2.618.078-1.841-.104-3.27-.576-5.068-.185-1.133.246-2.249.611-3.095,1.549-.82.91-.675,1.922.367,2.509.378.213.749.615,1.185.53,2.047-.4,3.99.723,6.186.454,1.644-.201,3.349-.7,4.105-2.57Z');		
	}
}

svg.body_bg .path13{    
	animation: scale-path2 5s ease-in-out infinite;
}

@keyframes scale-path2 {
	50% {
		d:path('M21.544,36.111c-1.045.083-2.021.271-2.908-.357-1.319-.933-1.122-2.593-.029-3.567,1.216-1.084,2.687-1.503,4.219-1.613,3.124-.225,6.191-.772,9.222-1.605,1.688-.464,3.393-.894,5.158-.748,1.568.129,3.009.603,3.865,2.164.73,1.331.428,2.724.046,4.098-.53,1.908-1.273,3.749-1.588,5.726-.023.143-.06.287-.06.431-.01,2.817-.007,5.625,1.11,8.276.457,1.085.706,2.252.902,3.429.285,1.715-.723,3.463-2.37,4.116-1.803.715-3.617.495-5.422.083-2.453-.561-4.876-1.279-7.365-1.649-1.14-.169-2.294-.224-3.44-.35-1.499-.165-2.95-.489-4.191-1.503-.731-.597-1.212-1.877-.853-2.638.345-.731.945-1.233,1.667-1.53,1.332-.548,2.674-1.067,4-1.628,2.072-.876,4.338-1.083,6.115-2.556,1.29-1.069.995-3.274-.24-4.35-2.317-2.017-1.755-3.789-7.838-4.229M36.14,49.492c.253-1.69-1.165-3.553-2.728-3.558-1.903-.007-3.437,1.906-4.752,3.295-.8.845-.658,2.632.33,3.214,1.492.879,3.093.196,4.777.082,1.24-.084,2.104-1.806,2.373-3.032M33.811,39.166c.744-.139,2.291-.632,2.703-1.25,1.071-1.609-.037-4.518-2.14-5.203-.653-.212-1.313-.172-1.958-.117-1.293.111-2.554.415-3.638,1.25-.648.5-.841,1.164-.405,1.675,1.43,1.678,3.141,3.758,5.438,3.645Z');
		}
}

svg.body_bg .path14{    
	animation: scale-path4 5s ease-in-out infinite;
}

@keyframes scale-path4 {
	50% {
		d:path('M14.746,44.395c-.461-.365-.821-.759-1.17-1.178-.431-.517-.351-.877.055-1.37,1.001-1.216,2.241-1.534,3.725-1.947,2.536-.706,5.8-1.923,8.846-.052.099.061,1.937,2.916-1.001,4.635-.794.878-2.666,1.018-3.543,1.451-2.073,1.022-3.238-.337-5.487-.905-.493-.124-.937-.362-1.424-.633Z');
		}
}

svg.body_bg .path5{    
	animation: scale-path5 5s ease-in-out infinite;
}

@keyframes scale-path5 {
	50% {
		d:path('M47.888,18.722c-1.726-.515-5.04-1.05-6.594-2.119-2.133-1.467-.592-4.87.97-6.195,1.44-1.222,3.867-.613,5.723-.517.057,2.928-.099,5.856-.099,8.832Z');
		}
}

@keyframes bounce {
	0%,
	20%,
	50%,
	80%,
	100% {
		transform: translateY(0);
	}
	40% {
		transform: translateY(-25px);
	}
	60% {
		transform: translateY(-15px);
	}
}

@media screen and (min-width:768px) {
	h1, .h1 {
		margin: 0 0 50px;
	}
	h2, .h2 {
		margin: 0 0 40px;
	}
	p {
		font-size: 1.375rem;
        line-height: 1.775rem;
	}
}

@media screen and (min-width:992px) {
	h1, .h1 {
		font-size: clamp(2.8rem, 0.4091rem + 7.4545vw, 4rem);
	}
	.home h1, .home.h1 {
		font-size: 6rem;
		line-height: 6rem;
	}

	h3, .h3 {
		font-size: 2.25rem;
		line-height: 2.375rem;
	}
	h4, .h4 {
		font-size: 1.25rem;
		line-height: 1.4rem;
	}
	ul {
		text-align: center;
	}
	#main-content li {
		font-size: 1.375rem;
		line-height: 2rem;
	}
	#main-content ul.columns {
		max-width: 700px;
		margin: 0 auto 2rem;
		text-align: left;
	}
	#main-content ul.columns li {
		display: inline-block;
        width: 40%;
        padding-right: 1%;
        margin-left: 2%;
		margin-bottom: 10px;
	}
	.grid {
		grid-gap: 35px;
	}
}

/* ===== Header ===== */

#site-head {
	background-color: rgba(36,37,42,0.9);
	position: fixed;
    width: 100%;
    top: 0;
    z-index: 100;
}

#site-head.fixed {      
	background-color: rgba(36,37,42,0.9);
	z-index: 200;
}

#site-head.fixed a, #site-head.fixed a:visited {
    color: #ffffff !important;
}

#site-head.fixed a:hover:not(.btn) {
	text-decoration: none;
    color: var(--primary-color);
}

#site-head.fixed a.btn_outline:hover {
	border: 2px solid var(--primary-color);
    color: #fff;
}
	
.site-head-content .logo {
    position: relative;
}

.site-head-content .logo .logo-dark {
	display: none;
}
	
.site-head-content .logo .logo-light {
    position: relative;
    top: auto;
    left: auto;
	z-index: 2;
}

#site-head.fixed .site-head-content .logo .logo-light {
	z-index: 3;	
}

.site-head-content {
	padding: 22px 20px;
}

.site-head-content .logo {
	text-align: center;
}

.site-head-content .logo img {
	width: 100px;
	height: 32px;
}

.site-head-content .menu {
    list-style-type: none;
    margin: 0;
    padding: 40px 20px 20px;
}

.site-head-content .menu .btn_outline {
	font-size: 0.875rem;
	color: #fff;
}

.site-head-content .menu .btn_outline:visited {
	color: #ffffff !important;
}

.site-head .header_link { 
	color: #fff;
	font-family: var(--title-font);
	font-size: 0.875rem;
	letter-spacing: 3px;
	font-weight: 900;
	text-align: center;
	transition: color 0.2s ease-in-out;
	position: relative;
	text-transform: uppercase;
}

.site-head-content .menu li {
  position: relative;
}

.site-head input[type="checkbox"]  {
	display: none; 
}

.dropdown-menu a {
	font-family: var(--title-font);
	color: #fff;
	text-transform: uppercase;
}

.dropdown-menu a:hover {
	color: var(--primary-color);
	text-decoration: none;
}

.site-head .header_link:hover {
	text-decoration: none;
}

@media screen and (min-width:599px) {
	#site-head {
		background-color: transparent;
	}
	.site-head-content .logo .logo-dark {
		z-index: 3;
		position: relative;
		display: block;
	}
	.site-head-content .logo .logo-light {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
	}	
	.site-head-content {
		padding: 30px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.site-head-content .menu .btn_outline:visited {
		color: var(--body-color);
	}
	.site-head-content .menu .btn_outline:hover {
		color: #fff;
	}
	.site-head-content .menu li {
	   display: inline-block;
	}
	.site-head-content .logo {
		text-align: left;
		margin-bottom: 0;
	}	
	.site-head-content .logo img {
		width: 131px;
		height: 42px;
	}
}

@media screen and (min-width:1041px) {
	.site-head-content .menu li:nth-last-child(2) {
		margin-right: 20px;
	}
	 .site-head-content .menu li.dropdown-menu-item {
		padding: 14px;
	}
	.site-head-content {
		padding: 30px 40px;
	}
	.site-head-content .menu {
		padding: 0;
	}	
	.site-head-content .menu .btn_outline:visited {
		color: var(--body-color) !important;
	}
	.site-head-content .menu .btn_outline:hover {
		color: #fff !important;
	}
	.site-head.fixed .site-head-content .menu .btn_outline:visited {
		color: #fff !important;
	}
	.site-head-content .menu .btn_outline {
		color: var(--body-font);
	}
}

@media screen and (min-width:1600px) {
	.site-head-content {
		max-width: 1450px;
		margin: 0 auto;
		padding: 30px 40px;
	}
}


/* ===== Responsive Nav  ===== */

.responsive-menu .menu-mobile-navicon {
	display: none;
	position: absolute;
	top: -1px;
	right: 0;
	padding: 26px 24px;
	line-height: 1;
	cursor: pointer;
	user-select: none;
	-webkit-transition: .25s;
	-moz-transition: .25s;
	-o-transition: .25s;
	transition: .25s;
	z-index: 1001;
}
.responsive-menu .menu-mobile-navicon .bars {
	display: inline-block;
	width: 32px;
	height: 2px;
	background: #fff;
	transition: 0.3s;
	position: relative;
}
.responsive-menu .menu-mobile-navicon .bars:before,
.responsive-menu .menu-mobile-navicon .bars:after {
	display: inline-block;
	width: 32px;
	height: 2px;
	background: #fff;
	border-radius: 0.28571rem;
	-webkit-transition: .25s;
	-moz-transition: .25s;
	-o-transition: .25s;
	transition: .25s;
	position: absolute;
	left: 0;
	content: '';
	-webkit-transform-origin: 0.28571rem center;
	transform-origin: 0.28571rem center;
}

.responsive-menu .menu-mobile-navicon .bars:before {
	top: 10px;
}
.responsive-menu .menu-mobile-navicon .bars:after {
	top: -10px;
}
/* icon close state */
.responsive-menu .menu-mobile-navicon.navicon-close {
	-webkit-transform: scale3d(0.8,0.8,0.8);
	transform: scale3d(0.8,0.8,0.8);
}
.responsive-menu .menu-mobile-navicon.navicon-close .bars {
	background: transparent;
}
.responsive-menu .menu-mobile-navicon.navicon-close .bars:before,
.responsive-menu .menu-mobile-navicon.navicon-close .bars:after {
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
	top: 2px;
	width: 42px;
}
.responsive-menu .menu-mobile-navicon.navicon-close .bars:before {
	-webkit-transform: rotate3d(0,0,1,45deg);
	transform: rotate3d(0,0,1,45deg);
}
.responsive-menu .menu-mobile-navicon.navicon-close .bars:after {
	-webkit-transform: rotate3d(0,0,1,-45deg);
	transform: rotate3d(0,0,1,-45deg);
}

@media (min-width: 599px) {
	.responsive-menu .menu-mobile-navicon .bars {
		background: var(--body-color);
	}
	.responsive-menu .menu-mobile-navicon .bars:before,
	.responsive-menu .menu-mobile-navicon .bars:after {
		background: var(--body-color);
	}
	#site-head.fixed .responsive-menu .menu-mobile-navicon .bars {
		background: #fff;
	}
	#site-head.fixed .responsive-menu .menu-mobile-navicon.navicon-close .bars  {
		background: transparent;
	}
	#site-head.fixed .responsive-menu .menu-mobile-navicon .bars:before,
	#site-head.fixed .responsive-menu .menu-mobile-navicon .bars:after {
		background: #fff;
	}
	.responsive-menu .menu-mobile-navicon {
		padding: 40px 24px 48px;
	}
}

@media (max-width: 1040px) {
	.responsive-menu .menu-brand {
		padding: 16px 20px;
		font-size: 1.2em;
	}
	.responsive-menu .menu-mobile-navicon {
		display: inline-block;
	}
	.responsive-menu .menu-nav {
		position: fixed;
		top: 76px;
		right: 0;
		bottom: 0;
		left: 0;
		height: 0;
		padding: 0;
		background: rgba(48, 45, 59, 1);
		overflow: hidden;
		z-index: 1000;
	}
	.mobile-menu-open {
		overflow: hidden;
	}
	.mobile-menu-open .responsive-menu {
		background: #000;
	}
	.mobile-menu-open .responsive-menu .menu-nav {
		height: 100%;
		text-align: left;
	}
	.mobile-menu-open .responsive-menu .menu-nav ul {
		float: none;
		font-size: .9em;
	}
	.mobile-menu-open .responsive-menu .menu-nav ul > li {
		display: block;
		text-align: center;
		margin-bottom: 30px;
	}
	.mobile-menu-open .responsive-menu .menu-nav ul > li.dropdown-menu-item {
		margin-bottom: 0;
	}
	.mobile-menu-open .responsive-menu .menu-nav ul > li > a {
		padding: 16px;
		font-size: 0.95rem;
	}
}


/* ===== Intro ===== */

.intro_wrapper {
	height: 100vh;
	height: 100svh;
}

#intro {
	height: 100vh;
	height: 100svh;
	padding-top: 45px;
	display: flex;
	align-items: center;
	z-index: 0;
}

#intro .intro_content {
	grid-column: 2/12;
	position: relative;
	z-index: 3;
}

#intro .intro_content p {
	padding: 0;
	color: #210847;
	font-weight: 300;
	margin-bottom: 40px;
}

#intro svg.arrow_right {
	position: relative;
    top: 6px;
	fill: #f23f5e;
	transition: fill 0.2s ease-in;
}

#intro svg.arrow_right:hover {
	fill: var(--body-color);
}

#intro svg.arrow_down {
	margin-bottom: 0;
	width: 46px; 
	height: 46px;
	stroke: var(--primary-color);
	position: relative;
	z-index: 3;
	transition: stroke 0.2s ease-in;
}

#intro svg.arrow_down:hover {
	stroke: var(--body-color);
}

#intro svg.arrow_down path:last-child {
   transition: fill 0.2s ease-in;
}

#intro svg.arrow_down:hover path:last-child {
    fill: var(--body-color);
}



@media screen and (min-width:599px) {
	#intro {
	}
}

@media screen and (min-width:768px) {
	#intro .intro_content p {
		margin-bottom: 140px;
	}
	#intro .intro_content p {
		font-size: 1.265rem;
		line-height: 1.775rem;
	}
	#intro svg.arrow_down {
		margin-bottom: 20px;
	}
	
}

@media screen and (min-width:1042px) {
	.intro_wrapper {
		display: block;
	}
	#intro {
		justify-content: center;
		display: flex;
		align-items: flex-end;
		padding-top: 0;
		height: 100vh;
	}
}

@media screen and (min-width:1400px) {
	#intro .intro_content {
		grid-column: 2/10;
	}
}

@media only screen and (min-width:1530px) {
	#intro .intro_content {
		grid-column: 1/9;
	}
}

/* ===== Video ===== */
#video {
	height: auto;
}

#video .video_content {
	height: auto;
	width: 90%;
	max-width: 1450px;
	margin: 0 auto;
	text-align: center;
	z-index: 3;
}

#video .video_content video {
	padding: 50px 0;
}

.object-center {
    -o-object-position: center;
    object-position: center;
}

.object-cover {
    -o-object-fit: cover;
    object-fit: cover;
}

.w-full {
    width: 100%;
}

.h-full {
    height: 100%;
}

#video .video_content {
	width: 100%;
	max-width: 100%;
	scale: .76;
	animation: scale linear forwards;
	animation-timeline: view();
	animation-range: 200px 500px;
}

@keyframes scale {
	to { scale: 1; }
}

@media screen and (min-width:768px) {
	#video {
		display: flex;
		align-items: center;
	}
}
				
@media screen and (min-width:1200px) {
	#video .video_content {
		animation-range: 400px 800px;
	}

	@keyframes scale {
		to { scale: 1;  }
	}
}

/* ===== Logo scroller ===== */
.marquee {
  display: flex;
  overflow: hidden;
  user-select: none;
  gap: var(--gap);
  mask-image: linear-gradient(
	var(--mask-direction, to right),
	hsl(0 0% 0% / 0),
	hsl(0 0% 0% / 1) 20%,
	hsl(0 0% 0% / 1) 80%,
	hsl(0 0% 0% / 0)
  );
}

.marquee_group {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: calc(var(--size) / 5);
  min-width: 100%;
  animation: scroll-x var(--duration) linear infinite;
}

.marquee_group.marquee_group_long {
  animation: scroll-x var(--duration-longer) linear infinite;
}

.marquee img {
	height: 111px;
	width: auto;
}

.logo_wrapper {
	max-width: 100%;
	margin: 0 auto;
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .marquee__group {
	animation-play-state: paused;
  }
}


@keyframes scroll-x {
  from {
	transform: translateX(var(--scroll-start));
  }
  to {
	transform: translateX(var(--scroll-end));
  }
}


/* ===== brands ===== */

#brands {
	background-color: var(--primary-color);
	mix-blend-mode: multiply;
	padding: 0;
	padding-top: 100px;
	padding-bottom: 200px;
}

#brands .brands_header {
	grid-column: 2/12;
	padding}

#brands .brands_header p {
	color: #fff;
	margin-bottom: 30px;
}

#brands .logo_wrapper {
	background-color: transparent;
	position: relative;
	z-index: 3;
	padding-top: 50px;
}
	
#brands .logo_wrapper .marquee img {
    height: 90px;
    width: auto;
}


@media screen and (min-width:768px) {
	#brands {
		padding: 480px 0 0;
		padding-bottom: 400px;
	}
	#brands .brands_header p {
		margin-bottom: 50px;
		padding-right: 80px;
	}	
	#brands .logo_wrapper {
		padding-top: 100px;
		padding-bottom: 150px;
	}	
	#brands .logo_wrapper .marquee img {
		height: 160px;
	}
	
}


@media screen and (min-width:992px) {
	#brands .brands_header h2 {
		max-width: 690px;
	}
}

@media screen and (min-width:1500px) {
	#brands .brands_header {
		grid-column: 1/10;
		padding: 0 40px 0 0;
	}
}


/* ===== esps ===== */

#esps {
	padding: 80px 0 80px;
	background-color: #d8f7ae;
	mix-blend-mode: difference;
	position: relative;
	padding-top: 300px;	
	margin-top: -300px;	
	background: none;
	mix-blend-mode: normal;
}

#esps:after {
	content: "";
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgb(33 8 71 / 80%);
    position: absolute;
    mix-blend-mode: multiply;
    z-index: 0;
    background-color: #160036a8;
    mix-blend-mode: difference;
    background-color: #d8f7ae;
	-webkit-backface-visibility: visible;
    transform: translate3d(0, 0, 0);
}

#esps .esps_header {
	grid-column: 2/12;
	padding: 0;
	z-index: 3;
}

#esps .esps_header p {
	color: #fff;
}

#esps .logo_wrapper {
	background-color: var(--highlight-color);
	background-color: transparent;
	position: relative;
	z-index: 3;
}

.logo_scroller {
	max-width: 100%;
	margin: 0 auto 30px;
	overflow: hidden;
}

#esps .logo_wrapper .marquee img {
    height: 70px;
    width: auto;
}

#esps .btn {
	margin-bottom: 60px;
}

@media screen and (min-width:599px)  {
	#esps .esps_content .box {
		grid-template-columns:  repeat(2, 1fr);
	}
}

@media screen and (min-width:768px) {
	#esps {
		margin-top: -740px;
        padding-top: 480px;
	}
	#esps .esps_content {
		padding: 50px 0 50px 0;
	}
	#esps .logo_wrapper .marquee img {
		height: 111px;
	}
	#esps .esps_header {
		margin-bottom: 60px;
	}
	#esps .esps_header h2 {
		padding-right: 130px;
		color: #fff;
	}
}

@media screen and (min-width:992px) {
	#esps .esps_content {
		padding: 60px 0 60px 0;
	}
	#brands .logo_scroller {
		margin-bottom: 50px;
	}
	#esps .esps_header h2 {
		padding-right: 200px;
	}
}

@media screen and (min-width:1200px) {	
	#esps {
		margin-top: -640px;
        padding-top: 300px;
	}	
	#esps .esps_content .box {
		grid-template-columns:  repeat(4, 1fr);
	}
	#esps .esps_header {
		padding: 0;
		padding-top: 170px;
		margin-bottom: 120px;
	}
	#esps .esps_header h2 {
        padding-right: 280px;
    }
	#esps .esps_header p {
		padding-right: 130px;
		margin-bottom: 50px;
	}
	
}

@media screen and (min-width:1500px) {	
	#esps .esps_header {
	grid-column: 1 / 10;
	}
}

@media screen and (min-width:1600px) {
	#esps {
        padding: 160px 0 160px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
		position: relative;
		padding-top: 448px;
		margin-top: -640px;
	}
	#esps .esps_content {
		grid-column: 1/13;
	}

}

/* ===== Portfolio ===== */
#portfolio {
	position: relative;
	top: -130px;
    background: none;
    mix-blend-mode: normal;
	padding: 0 0 0 20px;
}

.portfolio_slider_wrapper {
	display: grid;
	grid-template-columns: [full-start] minmax(1em, 1fr) [main-start] minmax(0, 1450px) [main-end] minmax(1em, 1fr) [full-end];
	position: relative;
	z-index: 3;
}

.portfolio_slider_wrapper * {
	grid-column: main;
}


.portfolio_slider_wrapper .portfolio_slider {
	grid-column: full;
}

.portfolio_slider_wrapper figure img {
  display: block;
}
	
@media (min-width: 768px) {
	#portfolio {
		top: -400px;
	}
}
	
@media (min-width: 1600px) {
  .portfolio_slider_wrapper .portfolio_slider {
    align-items: end;
    display: inherit;
    grid-template-columns: inherit;
  }
  
  /* Wrapping div required for Firefox */
  .portfolio_slider_wrapper > .portfolio_slider > div {
    grid-column: main / full;
  }
}

#portfolio .portfolio_slider {
	padding: 0;
}

#portfolio .portfolio_item_content {
	margin: 0 10px;
}

.portfolio_card {
  height: 50%;
  position: relative;
  display: flex;
  align-items: flex-end;
  transition: 0.4s ease-out;
}

.portfolio_card:hover:before {
  opacity: 1;
}

.portfolio_card:hover {
	cursor: pointer;
}
	
.portfolio_card:hover .info {
  opacity: 1;
  transform: translateY(0px);
}

.portfolio_card:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	z-index: 2;
	transition: 0.5s;
	opacity: 0;
}

.portfolio_card .portfolio_item_img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	 object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}

.portfolio_card .info {
	position: relative;
	z-index: 3;
	color: white;
	opacity: 0;
	transform: translateY(30px);
	transition: 0.5s;
	height: 300px;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-end;
}

.portfolio_card .info p {
	padding: 50px 20px 20px 20px;
	font-size: 0.9rem;
	line-height: 1.1rem;
}
.portfolio_card.portfolio_card6 .info p {
	color: var(--body-color);
}

.portfolio_item_logo {
	width: 60px;
	height: 60px;
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 3;
}

.portfolio_card.portfolio_card1:before {
	background: rgba(255, 102, 0, 0.9);
}

.portfolio_card.portfolio_card2:before {	
	background: rgba(0, 87, 161, 0.9);
}

.portfolio_card.portfolio_card3:before {
	background: rgba(0, 69, 135, 0.9);
}

.portfolio_card.portfolio_card4:before {
	background: rgba(107, 187, 174, 0.9);
}

.portfolio_card.portfolio_card5:before {
	background: rgba(0, 72, 150, 0.9);
}

.portfolio_card.portfolio_card6:before {
	background: rgba(192, 253, 132, 0.9);
	/*background: rgba(72, 90, 202, 1);*/
}

.slider {
    width: 100%;
    margin: 0 auto;
}

.slick-prev, .slick-next {
	width: 64px;
    height: 64px;
	z-index: 100 !important;
	display: none !important;
}

.slick-next {
    right: 130px;
	display: none !important;
}

.slick-prev {
    left: 130px;
	display: none !important;
}

.slick-disabled {
  display: none !important;
}

@media screen and (min-width:768px) {
	#portfolio {
		padding-top: 100px;
	}
	#portfolio .portfolio_item_content {
		margin: 0 20px;
	}	
	.portfolio_card .info p {
		padding: 50px 200px 50px 40px;
		font-size: 1.2rem;
		line-height: 1.8rem;
	}
	.portfolio_item_logo {
		width: 150px;
		height: 150px;
		top: 40px;
		left: 40px;
	}
	.portfolio_card .info {
		height: 640px;
	}
}

@media screen and (min-width:1200px) {
	#portfolio {
		padding-top: 150px;
		padding-top: 0;
	}
}

@media screen and (min-width:1600px) {
	#portfolio .portfolio_item_content {
		margin: 0 40px 0 0;
	}
	.portfolio_card .info p {
		padding: 50px 480px 50px 40px;
	}
}


/* ===== Contact ===== */

#contact {
	padding-top: 100px;
	padding-bottom: 100px;
	height: auto;
}

#contact .grid {
	z-index: 3;
}

#contact .contact_content {
	grid-column: 2/12;
	padding: 0;
}

#contact h2 {
	color: var(--body-font);
}

#contact .contact_content p {
	font-size: 1.2rem;
}

#contact .contact_content > p {
	padding-bottom: 10px;
}

#contact .contact_form {
	grid-column: 1/13;
	padding: 0;
	width: 90%;
	margin: 0 auto;
}

#contact .contact_content p span {
	color: var(--primary-color);
}

#contact .contact_content_details {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 20px;
}

#contact .contact_content_details p, #contact .contact_content_details a, #contact .contact_content_details a:visited {
	color:  var(--body-color);
}

#contact .contact_content_details a:hover, #contact .contact_content_details a:focus {
	text-decoration: none;
	color: var(--body-color);
	opacity: 0.8;
}

#contact .contact_content_details img {
	width: 48px;
	margin-right: 10px;
}

#contact fieldset {
	border: none;
	text-align: left;
	padding: 0;
}

#contact form input:not([type="checkbox"]):not(:last-child) {
	padding: 13px 25px;
	background-color: #fff;
	border: 1px solid #dcdcdc;
	border-radius: 6px;
	margin-bottom: 16px;
	width: 100%;
	box-sizing: border-box;
	font-family: var(--body-font);
	color: var(--highlight-color);
	font-size: 1rem;
	font-weight: 600;
}

#contact form input:last-child {
	/*border: none;*/
	margin-top: 20px;
	cursor: pointer;
	opacity: 1;
	transition: all 0.2s ease-in-out;
	border: 2px solid var(--primary-color);
	background-color: transparent;
	color: var(--font-color);
}

#contact form input:last-child:hover,
#contact form input:last-child:focus {
	border: 2px solid var(--primary-color);
	background-color: var(--primary-color);
	color: #fff;
	box-shadow: inset 0 0 0 2em var(--primary-color);
	opacity: 1;
}

#contact form input:last-child:hover, #contact form input:last-child:visited, #contact form input:last-child:focus {
	cursor: pointer;
	outline: none;
}

#contact form textarea {
	padding: 13px 25px;
	background-color: #fff;
	border: 1px solid #dcdcdc;
	border-radius: 6px;
	margin-bottom: 16px;
	width: 100%;
	box-sizing: border-box;
	font-family: var(--body-font);
	color: var(--highlight-color);
	font-size: 1rem;
	font-weight: 600;
}

#contact-form [name="middlename"] {
    display: none;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  	font-family: var(--body-font);
	color: var(--highlight-color);
	font-size: 1rem;
  opacity: 1; /* Firefox */
}


:-ms-input-placeholder { /* Internet Explorer 10-11 */
  	font-family: var(--body-font);
	color: var(--highlight-color);
	font-size: 1rem;
}

::-ms-input-placeholder { /* Microsoft Edge */
  	font-family: var(--body-font);
	color: var(--highlight-color);
	font-size: 1rem;
}


#contact form p, #contact form label {
	font-family: var(--body-font);
	font-size: 14px;
	line-height: 22px;
}

#contact form input[type="checkbox"] {
	position: relative;
	top: 1px;
	margin-right: 4px;
}

#contact form p {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

#contact form p.privacy {
	margin-top: 1rem;
}

#contact form a {
	color: var(--highlight-color);
}

#contact .btn_primary, #contact .btn_primary:visited {
	background-color: #fff;
	color: var(--highlight-color);
}

@media screen and (min-width:768px) {
	#contact {
		padding-top: 70px;
		padding-bottom: 100px;
	}
	#contact .contact_content {
		grid-column: 2/7;
		padding: 0;
	}
	#contact .contact_content p {
		font-size: 1.5rem;
	}
	#contact .contact_form {
		grid-column: 7/12;
		width: 100%;
		padding: 0 30px;
	}	
	#contact .contact_content > p {
		padding-bottom: 90px;
	}
}

@media screen and (min-width:992px) {
	#contact {
		padding: 160px 0 120px;
	}

	#contact .contact_form {
		padding: 0;
	}	
}

@media screen and (min-width:1400px) {
	#contact .contact_content p {
		padding-right: 20px;
	}
	
	#contact .contact_form {
		grid-column: 7/13;
	}
	#contact form {
		width: 100%;
	}
}

@media screen and (min-width:1500px) {
	#contact .contact_content {
		grid-column: 1/7;
	}
}

/* ===== Footer ===== */

#site-foot {	
	background-color: #000000;
	padding-top: 70px;
	padding-bottom: 70px;
	position: relative;
	z-index: 3;
}

#site-foot .grid {	
	grid-row-gap: 20px;
}

.site-foot p {
	font-size: 1rem;
	line-height: 1.625rem;
	margin-bottom: 2px;
	color:#a8aab5;
}

.site-foot h4 {
	color: #a8aab5;
	margin-bottom: 10px;
	font-family: var(--body-font);
	font-weight: 700;
}

.site-foot-content > .site-foot-info a, .site-foot-content > .site-foot-info a:hover, .site-foot-content > .site-foot-info a:visited, .site-foot-content > .site-foot-info a:focus {
	color: #a8aab5; 
	cursor: default;
	text-decoration: none;
	font-weight: 300;
}

.site-foot-info, .site-foot-contact-left, .site-foot-contact-right {
	grid-column: 2 / 12;
	padding: 0;
}

.site-foot .site-foot-contact-right a[href^="tel:"] {
	display: block;
	margin-bottom: 18px;
	color: #a8aab5;
	font-weight: 400;
}

.site-foot .site-foot-contact-right a[href^="mailto:"] {
	color: #a8aab5;
	font-weight: 400;
}
	
.site-foot img {
   width: 80px;
	height: 25px;
	padding: 0;
	grid-column: 2 / 12;
}

@media screen and (min-width:768px) {
	.site-foot-contact-left {
		grid-column: 2 / 5;
	}
	.site-foot-contact-right {
		grid-column: 7 / 13;
		padding-left: 30px;
		border-left: 1px solid #676f8c;
	}
}

@media screen and (min-width:992px) {
	.site-foot-info {
	     grid-column: 1 / 7;
	}
	.site-foot-contact-left {
		grid-column: 7 / 10;
		padding-left: 30px;
		border-left: 1px solid #676f8c;
	}
	.site-foot-contact-right {
		grid-column: 10 / 13;
		padding-left: 30px;
		border-left: 1px solid #676f8c;
	}
	#site-foot .grid {	
		grid-row-gap: 20px;
	}
	.site-foot-info {
        grid-column: 2 / 7;
    }
	.site-foot img {
		grid-column: 2 / 12;
	}
}