:root {
    /* Font Family */
    --body-font: 'Gill Sans MT Pro Book', 'sans-serif';
    --bold-font: 'noah-bold', 'sans-serif';
    --black-font: 'noah-black', 'sans-serif';

    /* Font Size */
    --body-font-size: 1.25rem;
    --heading-font-size: 3.5rem;
    --page-title-font-size: 5rem;
    --global-letter-spacing: 0.125rem;

    /* Line Height */
	--body-line-height: 1.7;
	--heading-line-height: 1.3;
	--page-title-line-height: 1.1;

    /* Colors */
    --main-color: #C49D83;
    --main-color-opacity-03: rgba(196, 157, 131, 0.3);
    --white-color: #ffffff;
    --white-color-opacity-03: rgba(255, 255, 255, 0.3);

    /* Spacing */
	--items-spacing: 30px;
	--sections-spacing: 70px;
}

html {
	overflow-x: hidden;
    font-family: var(--body-font);
	line-height: var(--body-line-height);
	scroll-behavior: smooth;
	overscroll-behavior: none;
	-ms-scroll-chaining: none;
    background-color: var(--main-color);
}

/* width */
::-webkit-scrollbar {
	width: 7px;
}

/* Track */
::-webkit-scrollbar-track {
box-shadow: inset 0 0 5px var(--main-color); 
border-radius: 5px;
}

/* Handle */
::-webkit-scrollbar-thumb {
background: var(--main-color-opacity-03); 
border-radius: 5px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
background: var(--main-color); 
}

::-webkit-scrollbar {
    display: none;
}

* {
	text-rendering: optimizeLegibility;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
}

body {
	margin: 0;
	-webkit-text-size-adjust: none;
}

*, ::before, ::after {
	box-sizing: border-box;
}

::selection {
	background-color: var(--main-color);
	color: var(--white-color);
	text-shadow: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button;
}
.bismilLah {
    position: absolute;
    display: block;
    width: 100vw;
    height: fit-content;
    text-align: center;
    top: -100vh;
}
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

body {
	position: relative;
	font-size: var(--body-font-size);
	color: var(--white-color);
	font-weight: normal;
	text-align: left;
	background-color: var(--main-color);
}

a, 
a:hover, 
a:active, 
a:visited, 
a:focus, 
a:focus-visible, 
a:focus-within {
	text-decoration: none;
	outline: none;
}

button {
	cursor: pointer;
	font-family: inherit; 
	font-size: 100%; 
	line-height: 1.15; 
	text-transform: none;
	-webkit-appearance: button;
	outline: none;
	background: none;
	border: 0;
}

img {
    height: auto;
	max-width: 100%;
    border: 0;
	vertical-align: middle;
}

.ben-right {
	text-align: right;
}

.ben-left {
	text-align: left;
}

.ben-center, 
.page-title-ctnr .page-title::before {
	text-align: center;
}

.text-upper {
	text-transform: uppercase;
}

.ben-flex, 
header nav {
	display: flex;
}

.v-align, 
header nav {
	align-items: center;
}

.ben-grid {
	display: grid;
}

.gap-1 {
    gap: 1rem;
}

.gap-2 {
    gap: 2rem;
}

.grid-of-2 {
	grid-template-columns: auto auto;
	grid-template-columns: calc((100% - 1rem) / 2) calc((100% - 1rem) / 2);
}

.grid-of-3 {
	grid-template-columns: auto auto auto;
	grid-template-columns: calc((100% - 2rem) / 3) calc((100% - 2rem) / 3) calc((100% - 2rem) / 3);
}

.grid-of-4 {
	grid-template-columns: 25% 25% 25% 25%;
	grid-template-columns: calc((100% - 3rem) / 4) calc((100% - 3rem) / 4) calc((100% - 3rem) / 4) calc((100% - 3rem) / 4);
}

.grid-of-5 {
	grid-template-columns: calc((100% - 4rem) / 5) calc((100% - 4rem) / 5) calc((100% - 4rem) / 5) calc((100% - 4rem) / 5) calc((100% - 4rem) / 5);
}

.ben-container {
	position: relative;
	width: 100%;
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
}


.main-bg, 
header nav ul li a::before, 
.ben-main-cta::after {
    background-color: var(--main-color);
}

.main-text, 
.nav-on header nav ul li a {
    color: var(--main-color);
}

.white-bg, 
header nav {
    background-color: var(--white-color);
}

.white-text {
    color: var(--white-color);
}

.white-text-03, 
.page-title-ctnr .page-title::before {
	color: var(--white-color-opacity-03);
}

.text-regular {
	font-family: var(--body-font);
}

.text-bold {
	font-family: var(--bold-font);
}

.text-extra-bold, 
.page-title-ctnr .page-title::before {
	font-family: var(--black-font);
}

.letter-spacing-1, 
header nav ul li a {
	letter-spacing: var(--global-letter-spacing);
}

.pr-db-w1 {
	position: relative;
	display: block;
	width: 100%;
}

.ben-ul, 
header nav ul, 
header nav ul li {
	list-style: none;
	padding-left: 0;
	font-size: 0;
}

.ben-ul li {
	font-size: var(--body-font-size);
}


.w30 {
	width: 30%;
}

.w40 {
	width: 40%;
}

.w50 {
	width: 50%;
}

.w60 {
	width: 60%;
}

.w70 {
	width: 70%;
}

.w100, 
header nav ul {
	width: 100%;
}

.h100 {
	height: 100%;
}

.br5 {
	border-radius: 5px;
}

.br10 {
	border-radius: 10px;
}

.br15 {
	border-radius: 15px;
}

.br20, 
header nav ul li a::before {
	border-radius: 20px;
}

.br25 {
	border-radius: 25px;
}

.br100 {
	border-radius: 100%;
}

.ben-before, 
.ben-after, 
body:not(.home) .content {
	position: relative;
}

.ben-before::before, 
.ben-after::after, 
header nav ul li a::before {
	content: '';
	position: absolute;
	display: block;
}

.ben-transition, 
header nav, 
.ben-burger span::before, 
.ben-main-cta::after, 
.ben-main-cta::before, 
header nav ul, 
header nav ul li a, 
header nav ul li a::before {
	-moz-transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
	-o-transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
	-webkit-transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
	transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
}

.translate-y, 
header nav ul li a::before {
	top: 50%;
	-moz-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.translate-x {
	left: 50%;
	-moz-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.site-header .logo-ctnr {
	flex: initial;
}

.site-logo {
	position: relative;
}

.site-logo img {
	width: auto;
	max-width: 63px;
}

header nav .site-logo img {
	opacity: 0;
}

.nav-on header nav .site-logo img {
	opacity: 1;
	transition-delay: 0.7s;
}

.site-name {
	position: absolute;
	display: block;
	left: 75px;
	height: fit-content;
    font-size: 18px;
    line-height: 18px;
}

.site-name a {
    position: relative;
    display: block;
    font-size: 18px;
    line-height: 18px;
}

header nav .site-logo {
    position: absolute;
    top: 50px;
}

.scroll-min .page-wrapper header .site-logo img {
	max-width: 49px;
}

header nav ul li a {
	position: relative;
	display: block;
}

header nav {
	position: fixed;
	top: 50vh;
	left: 120vw;
	width: 50vw;
	height: 100vh;
	padding-left: 7vw;
    padding-right: 7vw;
    clip-path: inset(10% 50% 90% 50% round 100%);
    /* background: #023302; */
    overflow: hidden;
	transition-delay: 0.5s;
	z-index: 6;
}

.nav-on header nav {
	top: 0;
	left: 0;
	clip-path: inset(2vh 2vh 2vh 2vh round 0px);
	transition-delay: 0s;
}

header nav ul {
    transition-delay: 0s;
    opacity: 0;
}

.nav-on header nav ul {
    transition-delay: 0.7s;
    opacity: 1;
}

header nav ul li a {
	font-size: 50px;
	line-height: 54px;
	opacity: 0;
}

.nav-on header nav ul li a {
	width: 100%;
	font-size: 30px;
	line-height: 34px;
	opacity: 1;
	padding-top: 15px;
	padding-bottom: 15px;
}

/* Login page */
#login_article {
	max-width: 350px;
	margin: 25vh auto;
	padding: 30px;
	border: solid 1px rgba(255,255,255,0.12);
}
#login_article .login-logo {
	display: block;
	position: relative;
	width: 100%;
	text-align: center;
}
#login_article .login-logo img {
	display: block;
	max-width: 120px;
	margin: 0 auto 25px;
}
#login_article form {
	display: block;
	position: relative;
	margin: 0 auto;
}
#login_article form input.form-text {
	position: relative;
	display: block;
	width: 100%;
	background: transparent;
	border: 0;
	font-size: 1.2em;
	padding: 5px 10px;
}
#login_article #edit-submit--2 {
	border: none;
	margin: 0 auto;
	display: block;
	padding: 5px 15px;
}
.path-user .description {
	display: none;
}
.path-user .form-text {
	margin-bottom: 25px;
}
.path-user label {
	margin-bottom: 5px;
	position: relative;
	display: block;
	font-family: 'noah-regular', sans-serif;
}
#login_article form input.form-text {
	border: solid 1px rgba(255,255,255,0.12);
	border-radius: 5px;
}
#login_article {
	border-radius: 5px;
	background-color: transparent;
}
#login_article .form-item label, 
#login_article .form-actions input {
	color: var(--white-color) !important;
	font-family: 'noah-regular', sans-serif;
}
#login_article .form-actions {
    padding: 20px 0;
}
#login_article #edit-submit--2 {
	background-color: var(--white-color);
	border: solid 1px var(--white-color);
	color: var(--main-color) !important;
	border-radius: 5px;
}
/* !Login page */

.site-header {
	width: 100%;
	z-index: 7;
}

.home .site-header {
    position: fixed;
    top: 50px;
	left: 0;
}

body:not(.home) .site-header {
	position: relative;
    margin-top: 50px;
	margin-left: 0;
}

.ben-burger {
	position: absolute;
	display: block;
	top: 0;
	left: auto;
	right: 0;
	width: 40px;
	height: 27px;
	padding: 0;
	cursor: pointer;
	padding-top: 5px;
	z-index: 9;
}

.ben-burger span {
    position: absolute;
    display: block;
    width: 100%;
    height: 3px;
    border-radius: 7px;
    overflow: hidden;
}

.ben-burger span::before {
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background-color: var(--main-color);
	background-color: var(--main-color-opacity-03);
	-moz-transition: all 0.3s ease-in-out 0s;
	-o-transition: all 0.3s ease-in-out 0s;
	-webkit-transition: all 0.3s ease-in-out 0s;
	transition: all 0.3s ease-in-out 0s;
}
.ben-burger span:nth-child(2):before {
	left: auto;
	right: 0;
	-moz-transition: all 0.3s ease-in-out 0.2s;
	-o-transition: all 0.3s ease-in-out 0.2s;
	-webkit-transition: all 0.3s ease-in-out 0.2s;
	transition: all 0.3s ease-in-out 0.2s;
}
.ben-burger span:last-child:before {
	-moz-transition: all 0.3s ease-in-out 0.4s;
	-o-transition: all 0.3s ease-in-out 0.4s;
	-webkit-transition: all 0.3s ease-in-out 0.4s;
	transition: all 0.3s ease-in-out 0.4s;
}
 
.nav-on .ben-burger span:last-child {
	width: 70%;
}

.ben-burger span:first-child {
    top: 0;
    left: 50%;
    width: 100%;
    height: fit-content;
    font-size: 14px;
    line-height: 14px;
	border-radius: 0;
}

.ben-burger span:nth-child(2) {
    top: 16px;
    left: 50%;
    width: 100%;
}

.ben-burger span:last-child {
    width: 55%;
    top: auto;
    left: 0;
    bottom: 0;
    will-change: width, transform, left, bottom;
    -webkit-transition: transform .2s ease-in-out .01s, left .2s ease-in .2s, bottom .2s ease-in-out .2s, width .3s ease-in-out .4s;
    transition: transform .2s ease-in-out .01s, left .2s ease-in .2s, bottom .2s ease-in-out .2s, width .3s ease-in-out .4s;
}

.nav-on .ben-burger span:nth-child(2) {
	width: 35%;
	top: 26px;
	transform: rotate(45deg)  translateX(-50%);
	-moz-transform: rotate(45deg)  translateX(-50%);
	-webkit-transform: rotate(45deg) translateX(-50%);
	-o-transform: rotate(45deg)  translateX(-50%);
	will-change: transform, top, width;
}

.nav-on .ben-burger span:last-child {
	width: 35%;
	left: 50%;
	top: auto;
	bottom: 8px;
	transform: rotate(-45deg) translateX(-50%);
	-moz-transform: rotate(-45deg) translateX(-50%);
	-webkit-transform: rotate(-45deg) translateX(-50%);
	-o-transform: rotate(-45deg) translateX(-50%);
	will-change: transform, left, bottom, width;
	-webkit-transition: transform .3s ease-in-out .3s, left .2s ease-in .2s, bottom .2s ease-in-out .2s, width .2s ease-in-out .01s;
	transition: transform .3s ease-in-out .3s, left .2s ease-in .2s, bottom .2s ease-in-out .2s, width .2s ease-in-out .01s;
}

.header-nav-overlay {
    position: fixed;
    display: block;
    width: 0;
    height: 0;
    top: 50vh;
    left: -120vw;
    background-color: var(--main-color-opacity-03);
    filter: blur(1px);
    backdrop-filter: blur(1px);
	opacity: 0;
    z-index: 5;
}

.nav-on .header-nav-overlay {
    top: 0;
	left: 0;
    width: 100vw;
    height: 100vh;
	opacity: 1;
}

header nav ul li a::before {
    top: 50%;
    left: auto;
    width: 3vw;
    height: 0.45vh;
    right: 0;
}

header nav ul li a.is-active::before,
header nav ul li a:hover::before, 
header nav ul li a:active::before,
header nav ul li a:focus::before,
header nav ul li a:focus-visible::before, 
header nav ul li a:focus-within::before {
    width: 1.5vw;
}

.hero {
	height: 100vh;
}

section {
	position: relative;
	width: 100vw;
	padding-top: var(--sections-spacing);
	padding-bottom: var(--sections-spacing);
}

.hero .name {
    position: absolute;
    display: block;
    width: fit-content;
    font-size: 9rem;
    line-height: 9rem;
    left: auto;
    right: 10%;
    opacity: 0.2;
    font-size: 12vh;
    line-height: 12vh;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    top: 26vh;
}

.hero .name::before {
    top: 0;
    left: -52vh;
    width: 50vh;
    height: 100%;
    background: var(--white-color-opacity-03);
}

.for-mobile, 
.page_1 .page-title-ctnr, 
.site-name, 
body.page_.ben_null #block-nee-content {
	display: none;
}

.ben-main-cta {
    display: block;
    width: fit-content;
    height: fit-content;
    font-size: 1.125rem;
    line-height: 1.025rem;
    padding: 15px 0 15px 0;
}

.ben-main-cta::before {
    top: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
	background-color: var(--white-color-opacity-03);
}

.ben-main-cta:hover::before {
    height: 7px;
}

.hero .intro {
    font-size: 1.95rem;
    font-size: 2.1vw;
	margin-bottom: 8vh;
}

.crafting-since {
    position: absolute;
    display: block;
    top: auto;
    left: 0;
    bottom: 50px;
}

.crafting-since-text {
    position: absolute;
    display: block;
    top: auto;
    left: auto;
    right: -65px;
    bottom: 65px;
    transform: rotate(90deg);
    width: fit-content;
    height: fit-content;
    font-size: 14px;
    line-height: 14px;
}

.page-title-ctnr {
    position: relative;
    height: 35vh;
    max-height: 35vh;
    overflow: hidden;
}

.page-title-ctnr .rg, 
.page-title-ctnr .page-title {
    height: -webkit-fill-available;
}

.page-title-ctnr .rg div {
    height: inherit;
}

.page-title-ctnr .page-title {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: auto;
	bottom: 0;
	font-size: 7vw;
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 6vh;
	z-index: 1;
}

/* Temporary */
header nav {
	align-items: end;
	padding-bottom: 15vh;
}
/* !Temporary */

/*** Responsive ***/
@media only screen and (min-width: 1439px) {
	.site-logo img {
		max-width: 92px;
	}
	.site-name {
		left: 110px;
		font-size: 20px;
		line-height: 20px;
	}
}
@media only screen and (max-width: 1360px) {

	.ben-container {
		max-width: 1160px;
	}
}

@media only screen and (max-width: 1239px) {

	.ben-container {
		max-width: 1040px;
	}
}

@media only screen and (max-width: 1200px) {

	
}

@media only screen and (max-width: 1160px) {

	.ben-container {
		max-width: 95%;
	}
}

@media only screen and (max-width: 1041px) {

	
}

@media only screen and (max-width: 941px) {

	.ben-container {
		max-width: 90%;
	}
}

@media only screen and (max-width: 782px) {
	.for-mobile {
		display: block;
	}
	.for-desktop {
		display: none;
	}
	.w30, 
	.w40, 
	.w50, 
	.w60, 
	.w70, 
	.line-of-four li, 
	.line-of-three li, 
	.line-of-two li {
		width: 100%;
	}
	header nav {
		width: 70vw;
		left: -120vw;
	}
	.nav-on header nav {
		top: 0;
		left: 0;
		clip-path: inset(2vh 2vh 2vh 2vh round 0px);
	}
	header nav ul li a::before {
		width: 5vw;
	}
	header nav ul li a.is-active::before, 
	header nav ul li a:hover::before, 
	header nav ul li a:active::before, 
	header nav ul li a:focus::before, 
	header nav ul li a:focus-visible::before, 
	header nav ul li a:focus-within::before {
		width: 2.5vw;
	}
	.hero .intro {
		font-size: 5vw;
	}
	.crafting-since-text {
		font-size: 10px;
		line-height: 10px;
	}
	.hero .name {
		right: -12%;
	}
}