/* ================================================================
   PANEL - BASE STYLES
   ================================================================ */

body.body-home .panel {
	text-align: center;
	font-weight: 300;
	max-width: 100%;
	overflow: hidden 
}

/* ================================================================
   PANEL 1 - HERO SECTION
   ================================================================ */

#panel1 { 
	position: relative;
	overflow: visible;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

#panel1 .hero-top,
#panel1 .hero-bottom {
	font-family: var(--main-font);
	font-weight: bold;
	color: white;
	text-transform: uppercase;
	margin: 0;
	text-align: center;
	opacity: 0.9;
}

#panel1 .hero-top {
	font-size: clamp(1.5rem, 3vw, 3rem);
	line-height: 1;
}

#panel1 .hero-bottom {
	font-size: 1rem;
	/*line-height: 1.3;*/
	margin-top: 4rem;
}

#panel1 .text-container {
	position: relative;
	margin: 1rem 0;
	padding: 0;
}

#panel1 .text-container p {
	color: transparent;
	font-family: var(--main-font);
	font-size: clamp(20px, 7vw, 8rem);
	font-weight: 900;
	text-align: center;
	text-transform: uppercase;
	width: 100%;
	margin: 0;
	padding: 0;
	line-height: 1;
	-webkit-text-stroke-width: 1.5px;
	-webkit-text-stroke-color: white;
}

#panel1 .text-container p.ex {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.3s ease-out;
}

#panel1 .text-container p:first-child {
	position: relative;
	color: white !important;
	-webkit-text-stroke-width: 0;
	z-index: 3;
} 

/* ================================================================
   PANEL 2 - SCALE & ROTATE
   ================================================================ */

#panel2 .panel-content {
	text-align: center;
	z-index: 5;
}

#panel2 article {
	color: #fff;
} 

#panel2 .panel-content,
#panel2 .panel-content p {
	font-size: 1.2rem;
	font-weight: 300;
	line-height: 1.2;
	margin: 0;
	padding: 0;
}

#panel2 .panel-content h2 {
	display: block;
	width: 100%;
	clear: both;
	min-height: 4rem;
	margin: 0 0 1rem 0;
}

#panel2 .panel-content h3 {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	margin: 0 0 .5rem;
	padding: 0;
}

#panel2 .panel-content h2 span.space {
	width: 0.5em;
	border-color: transparent;
}

#panel2 .panel-content article {
	margin: 1rem 0;
	padding: 1rem;
}

#panel2 .panel-content article { 
	background: linear-gradient(to left, rgba(0,0,0,.3) 0%, rgba(0,0,0,0) 100%);
}

#panel2 .panel-content article:nth-child(even) {
	background: linear-gradient(to right, rgba(0,0,0,.3) 0%, rgba(0,0,0,0) 100%);
}
 
#panel2 .panel-content .headline {
	font-size: 1.2rem;
	font-weight: 400;
	margin-bottom: 2rem;
}

/* Gears */
#gears {
	width: 500px;
	height: 100%;
	position: absolute;
	left: -120px;
	bottom: 0;
	overflow: hidden;
	z-index: 0;
}

#gears svg {
	transform-origin: center center;
	position: absolute;
	bottom: 0;
	max-width: inherit;
}

#gears .small-gear {
	right: -38px;
	bottom: -30px;
}

#gears .large-gear {
	left: -582px;
	bottom: -90px;
}

/* ================================================================
   PANEL 3 - CARDS
   ================================================================ */


/* ================================================================
   MEDIA QUERIES - DESKTOP FIRST
   ================================================================ */

/* Desktop (min-width: 1024px) */
@media (min-width: 1024px) {
	#panel2 {
		margin: 3rem 0 1rem;
		position: relative;
	}
	
	#panel2 .panel-content h2 span {
		display: inline-block;
		font-size: clamp(2rem, 6vw, 6rem);
		line-height: 1;
		margin: 0;
		padding: 0;
		vertical-align: top;
		float:left 
	}
	
	#panel2 .panel-content h2 span:last-child {
		float: none;
		clear: both;
	}
	
	#panel2 .panel-content h3 {
		font-size: clamp(1rem, 3vw, 2.4rem);
	}
	
	#panel2 .panel-content p {
		font-size: 1rem;
	}
}

/* Tablet (max-width: 1024px) */
@media (max-width: 1024px) {
	html body.body-home #panel1.panel {
		flex-direction: column;
	}
	
	html body.body-home #panel1 .hero-top {
		font-size: 1.2rem;
		font-weight: 500;
		line-height: 1.3;
		opacity: .8;
	}
	
	html body.body-home #panel1 h1 {
		text-transform: uppercase;
		font-weight: 900;
		line-height: 1;
		margin: 1rem 0;
		padding: 0;
	}
	
	html body.body-home #panel1 h1 span {
		display: block;
		line-height: 1;
	}
		
	html body.body-home #panel1 h1 span.a {
		font-size: clamp(45px, 14vw, 85px);
		padding-bottom: 1.5rem;
		position: relative;
	}
	
	html body.body-home #panel1 h1 span.aa {
		line-height: 1rem;
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translate(-50%, -.5rem);
	}
	
	html body.body-home #panel1 h1 span.b {
		line-height: 1 !important;
		font-size: clamp(40px, 13vw, 80px);
	}
	
	html body.body-home #panel1 .hero-bottom {
		font-size: .85rem;
		font-weight: 400;
		line-height: 1.5;
		margin: 1rem;
		opacity: .8;
	}
	
	html body.body-home #panel1 .hero-heading .btns {
		flex-direction: column;
		margin: 1rem 0;
		padding: .5rem 0;
		transform: none; 
	}
	
	html body.body-home #panel1 .hero-heading .btns .btn {
		margin: .5rem 0;
	}
	
	/* Panel 2 */
	html body.body-home #panel2 h2 span {
		float: left;
		font-size: 2.3rem;
	}
	 
	html body.body-home #panel2 figure#gears {
		opacity: .3;
	}
	
	/* Panel 3 */
	html body.body-home #kind_website { 
		padding: 0 !important;
	}
}

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
	/* Panel 2 */
	html body.body-home #panel2 {
		padding-top: 0;
		padding-left: 0;
		padding-right: 0;
		width: 100%;
		overflow: hidden;
	}
	
	#panel2 h2 {
		display: block;
		width: 100%;
		float: left;
	}
	
	html body.body-home #panel2 h2::after {
		display: table;
		clear: both;
	}
	
	html body.body-home #panel2 h2,
	html body.body-home #panel2 .headline {
		padding: 0 1rem;
		margin: 1rem 0;
	}
	
	html body.body-home #panel2 h2 br {
		clear: both;
	}
	
	html body.body-home #panel2 h2 span {
		float: left;
		font-size: clamp(2.5rem, 13vw, 60px) !important;
	}
	
	/* Panel 3 - Cards */
	html body.body-home #kind_website h2.title,
	html body.body-home #kind_website p {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	/*
	html body.body-home #kind_website .carts:before {
		display: none;
	}
	
	html body.body-home #kind_website .carts {
		width: 100%;
		height: auto;
		aspect-ratio: 370 / 550;
		min-width: 260px;
		min-height: 386px;
		max-width: 370px;
		max-height: 550px;
		container-type: inline-size;
		container-name: card;
	}
	
	html body.body-home #kind_website .carts .cart-header h3 {
		font-size: clamp(1.8rem, 9cqw, 3rem);
		opacity: .7;
	}
	
	html body.body-home #kind_website .carts .cart-header span {
		font-size: clamp(1rem, 5.5cqw, 1.8rem);
	}
	
	html body.body-home #kind_website .carts .cart-body .hero {
		font-size: clamp(3rem, 16cqw, 6rem);
	}
	
	html body.body-home #kind_website .carts {
		margin-top: 0rem;
		margin-bottom: 0rem;
		transform-style: preserve-3d;
		transition: all .3s ease-in-out;
	}
	
	html body.body-home #kind_website #cart-1 {
		background: radial-gradient(ellipse at center, var(--green-color) 0%, var(--dark-color) 100%);
	}
	
	html body.body-home #kind_website #cart-2 {
		background: radial-gradient(ellipse at center, var(--red-color) 0%, var(--dark-color) 100%);
	}
	
	html body.body-home #kind_website #cart-3 {
		background: radial-gradient(ellipse at center, var(--gold-color) 0%, var(--dark-color) 100%);
	}
	
	html body.body-home #kind_website #cart-1,
	html body.body-home #kind_website #cart-3 { 
		transform: perspective(1200px) rotateY(25deg) rotateX(15deg) translateZ(-120px) scale(1, 1) translate(3rem, -43px);
	}
	
	html body.body-home #kind_website #cart-2 {
		transform: perspective(1200px) rotateY(-25deg) rotateX(15deg) translateZ(-120px) scale(1, 1) translate(-3rem, -43px);
	}
	
	html body.body-home #kind_website #cart-2,
	html body.body-home #kind_website #cart-3 {
		margin-top: -4rem;
	}
	*/
	/* Navigation arrow */
	html .body-home .panel a.scroll-down-arrow.nav-link {
		display: none;
	}
}