@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap');

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-size: 2.75vw;
}

@media only screen and (min-width: 768px) {
  html {
    font-size: 1.11vw;
  }
}


body {
	font-family: 'Space Grotesk', sans-serif;
	-webkit-font-smoothing: antialiased;
	margin: 0;
	color: #0E0E0E;
}

*:focus {
	outline: none;
}

a {
	color: inherit;
	text-decoration: none;
}

.wrapper {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	position: relative;
	opacity: 0;
	transition: opacity .5s cubic-bezier(.215,.61,.355,1);
}

.wrapper.is-inview {
	opacity: 1;
}

/* Navbar */

nav {
	padding: 2rem 2.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.875rem;
	opacity: 0;
	transition: opacity .8s cubic-bezier(.215,.61,.355,1), transform .8s cubic-bezier(.215,.61,.355,1);
	transform: translateY(-25%);
}

nav.is-inview {
	opacity: 1;
	transform: translateY(0);
}

nav .brand {
	margin-right: 3rem;
}

nav .brand img {
	width: 3.75rem;
}

nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

nav ul li a {
	color: #4B4B4B;
	padding: 1rem 1.75rem;
	display: block;
	transition: color 0.2s cubic-bezier(.215,.61,.355,1);
}

nav ul li a:hover {
	color: #007538;
}

nav .find {
	background-image: url(../image/location.svg);
	background-position: 0 center;
	background-repeat: no-repeat;
	background-size: auto 1.375rem;
	font-weight: 700;
	font-size: 0.9375rem;
	padding: 0.625rem 1.5rem;
	padding-left: 1.75rem;
	margin-right: 1rem;
}

nav .nav-toggler {
	width: 3.5rem;
	height: 2.5rem;
	position: relative;
}

nav .nav-toggler:before,
nav .nav-toggler:after,
nav .nav-toggler span {
    content: "";
    background-color: #003B09;
    width: calc(100% - 1rem);
    height: 2px;
    border-radius: 1rem;
    position: absolute;
    left: 0.5rem;
    transition: all 0.3s ease-in-out;
}

nav .nav-toggler:before {
    top: 0.5rem;
}

nav .nav-toggler span {
    top: calc(50% - 1px);
}

nav .nav-toggler:after {
    top: calc(100% - 2px - 0.5rem);
}

nav .nav-wrapper {
	width: 100%;
	display: none;
	justify-content: space-between;
	align-items: center;
}

/* Content */

.content {
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	padding-top: 2.5rem;
	padding-bottom: 12rem;
	position: relative;
	z-index: 9;
}

.content h1 {
	color: #002702;
	font-size: 4.3125rem;
	line-height: 1.1;
	    perspective: 600px;
    -webkit-perspective: 600px;
}

.content h1 span {
	display: block;
    opacity: 0;
    transform-origin: center top;
    transform-style: preserve-3d;
    transform: translateY(100%) rotateX(-80deg);
    transition: opacity 0s cubic-bezier(.215,.61,.355,1), transform 0s cubic-bezier(.215,.61,.355,1);
}

.content h1.is-inview span {
	transform: none;
    opacity: 1;
    transition-duration: .8s;
}

.content p {
	color: #4B4B4B;
	line-height: 2;
	font-size: 0.875rem;
	max-width: 70%;
	margin-bottom: 2rem;
	opacity: 0;
	transform: translateY(50%);
	transition: all 0.8s 0.2s cubic-bezier(.215,.61,.355,1);
}

.content p.is-inview {
	opacity: 1;
	transform: translateY(0);
}

.content .btn {
	opacity: 0;
	transform: translateY(50%);
	transition: opacity 0.8s 0.4s cubic-bezier(.215,.61,.355,1), transform 0.8s 0.4s cubic-bezier(.215,.61,.355,1);
}

.content .btn.is-inview {
	opacity: 1;
	transform: translateY(0);
}

/* End bar */

.end_bar {
	background-color: #003B09;
	width: 100%;
	box-shadow: 0 -1px rgba(0,0,0,0.05);
	margin-top: auto;

	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: column;
}

.end_bar .more {
	background-color: #fff;
	width: 100%;
	min-width: 19rem;
	height: 100%;
	min-height: 8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	margin-top: 3rem;
}

.end_bar .more span {
	font-size: 0.875rem;
	font-weight: 700;
	position: relative;
}

.end_bar .more span:before {
	content: "";
	background-color: rgba(0,0,0,0.05);
	width: 150%;
	height: 1px;
	position: absolute;
	right: calc(100% + 1.25rem);
	top: 50%;
}

.end_bar .more span:after {
	content: "";
	background-color: #007538;
	width: 0;
	height: 1px;
	position: absolute;
	right: calc(250% + 1.25rem);
	top: 50%;
	transition: all 0.2s cubic-bezier(.215,.61,.355,1);
}

.end_bar .more:hover span:after {
	width: 150%;
	right: calc(100% + 1.25rem);
}

.end_bar .controls {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 16.25rem;
	height: 100%;
}

.end_bar .controls .btn-prev,
.end_bar .controls .btn-next {
	background-color: rgba(255,255,255,0.1);
	background-position: center;
	background-size: auto 1rem;
	background-repeat: no-repeat;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	margin: 0.625rem;
	cursor: pointer;
	transition: background-color 0.2s cubic-bezier(.215,.61,.355,1);
}

.end_bar .controls .btn-prev {
	background-image: url(../image/arrow-left.svg);
}

.end_bar .controls .btn-next {
	background-image: url(../image/arrow-right.svg);
}

.end_bar .controls .btn-prev:hover,
.end_bar .controls .btn-next:hover {
	background-color: rgba(255,255,255,0.3);
}


.swiper {
	width: calc(100% - 2rem);
	margin-top: -10rem;
	padding: 0 1rem;
	padding-bottom: 2.5rem;

	transform: translateY(10%);
	opacity: 0;
	transition: opacity .8s .4s cubic-bezier(.215,.61,.355,1), transform .8s .4s cubic-bezier(.215,.61,.355,1);
}

.swiper.is-inview {
	opacity: 1;
	transform: translateY(0);
}

.swiper-slide figure {
	padding: 1.5rem;
	margin: 0;
}

.swiper-slide .cover {
	padding-bottom: 3rem;
	margin-bottom: 1.75rem;
	text-align: center;
	position: relative;
}

.swiper-slide .cover:before {
	content: "";
	background-color: #FCF0F0;
	width: 100%;
	height: 80%;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
	transition: all 0.5s cubic-bezier(.215,.61,.355,1);
}

.swiper-slide.swiper-slide-active .cover:before {
	height: 70%;
}

.swiper-slide.swiper-slide-next .cover:before {
	height: 94%;
}

.swiper-slide .cover img {
	width: 105%;
}

.swiper-slide .cover .new {
	background-color: #FC233D;
	box-shadow: 0 1rem 2.5rem rgba(252,35,61,0.5), 0 0 0 0.3125rem rgba(252,35,61,0.1);
	width: 3rem;
	height: 3rem;
	line-height: 3rem;
	text-align: center;
	color: #fff;
	text-transform: uppercase;
	font-size: 0.75rem;
	font-weight: 600;
	border-radius: 50%;
	position: absolute;
	right: -1rem;
	top: 7rem;
	transform: rotate(-16deg);
	transition: all 0.3s cubic-bezier(.215,.61,.355,1);
}

.swiper-slide.swiper-slide-next .cover .new {
	right: -1.25rem;
	top: .25rem;
}

.swiper-slide:not(.swiper-slide-active, .swiper-slide-next) .cover .new {
	opacity: 0;
}

.swiper-slide figcaption {
	color: rgba(255,255,255,0.7);
	font-size: 0.875rem;
	max-width: 80%;
	line-height: 2;
}

/* Buttons */

.btn {
	display: inline-block;
	font-size: 0.9375rem;
	font-weight: 700;
	padding: 0.625rem 1.5rem;
	transition: all 0.2s cubic-bezier(.215,.61,.355,1);
}

.btn:hover {
	filter: saturate(4);
}

.btn.join,
.btn.explore {
	background-color: #003B09;
	color: #fff;
}

.btn.sign {
	margin-left: 0.625rem;
}

/* Lines */

.lines {
	z-index: -1;
}

.lines div {
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
}

.lines div:nth-child(1) {
	background-image: url(../image/line-1.svg);
	width: 25.625rem;
	height: 24.125rem;
	top: -8.8125rem;
	right: -7.5rem;
}

.lines div:nth-child(2) {
	background-image: url(../image/line-2.svg);
	width: 6.5rem;
	height: 6rem;
	top: 60%;
	left: 36%;
}

.lines div:nth-child(3) {
	background-image: url(../image/line-3.svg);
	width: 3.625rem;
	height: 2.375rem;
	top: 18%;
	left: 54%;
}

/* Cursor */

.follow {
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid #007538;
	opacity: 0.5;
	border-radius: 50%;
	position: fixed;
	left: -1.125rem;
	top: -1.125rem;
	z-index: 99;
	pointer-events: none;
	transition: width 0.2s cubic-bezier(.215,.61,.355,1), height 0.2s cubic-bezier(.215,.61,.355,1), top 0.2s cubic-bezier(.215,.61,.355,1), left 0.2s cubic-bezier(.215,.61,.355,1);
}

.follow.active {
	width: 4rem;
	height: 4rem;
	left: -2rem;
	top: -2rem;
}

/*! locomotive-scroll v4.0.6 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */

html.has-scroll-smooth {
	overflow: hidden;
}

html.has-scroll-dragging {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.has-scroll-smooth body {
	overflow: hidden;
}

.has-scroll-smooth [data-scroll-container] {
	min-height: 100vh;
}

[data-scroll-direction="horizontal"] [data-scroll-container] {
	white-space: nowrap;
	height: 100vh;
	display: inline-block;
	white-space: nowrap;
}

[data-scroll-direction="horizontal"] [data-scroll-section] {
	display: inline-block;
	vertical-align: top;
	white-space: nowrap;
	height: 100%;
}

.c-scrollbar {
	position: absolute;
	right: 0;
	top: 0;
	width: 11px;
	height: 100%;
	transform-origin: center right;
	transition: transform 0.3s, opacity 0.3s;
	opacity: 0;
}

.c-scrollbar:hover {
	transform: scaleX(1.45);
}

.c-scrollbar:hover, .has-scroll-scrolling .c-scrollbar, .has-scroll-dragging .c-scrollbar {
	opacity: 1;
}

[data-scroll-direction="horizontal"] .c-scrollbar {
	width: 100%;
	height: 10px;
	top: auto;
	bottom: 0;
	transform: scaleY(1);
}

[data-scroll-direction="horizontal"] .c-scrollbar:hover {
	transform: scaleY(1.3);
}

.c-scrollbar_thumb {
	position: absolute;
	top: 0;
	right: 0;
	background-color: black;
	opacity: 0.5;
	width: 7px;
	border-radius: 10px;
	margin: 2px;
	cursor: -webkit-grab;
	cursor: grab;
}

.has-scroll-dragging .c-scrollbar_thumb {
	cursor: -webkit-grabbing;
	cursor: grabbing;
}

[data-scroll-direction="horizontal"] .c-scrollbar_thumb {
	right: auto;
	bottom: 0;
}

/* Breakpoints */

@media (min-width: 768px) {

	nav {
		padding-left: 9rem;
		padding-right: 7.5rem;
	}

	nav .nav-toggler {
		display: none;
	}

	nav .nav-wrapper {
		display: flex;
	}

	.content {
		width: 34vw;
		padding-left: 9rem;
		padding-bottom: 4.5rem;
		padding-right: 0;
	}

	.swiper {
		margin-top: -24rem;
		padding-left: 0;
		padding-right: 5.5rem;
		padding-bottom: 0;
		margin-left: -.75rem;
	}

	.end_bar {
		flex-direction: row;
		height: 18.5rem;
	}

	.end_bar .more {
		margin-top: 0;
		order: 1;
	}

	.end_bar .controls {
		order: 2;
	}

	.end_bar .swiper {
		order: 3;
	}

	.end_bar .more {
		width: 19rem;
	}
	.end_bar .more span {
		transform: rotate(-90deg);
	}

}