/*# Front-end Style Guide

## Layout

The designs were created to the following widths:

- Mobile: 375px
- Desktop: 1440px

## Colors

### Primary

- Dark Gray: hsl(0, 0%, 63%)
- Black: hsl(0, 0%, 0%)
- White: hsl(0, 0%, 100%)
- Very Dark Gray: hsl(0, 0%, 27%)

## Typography

### Body Copy

- Font size: 12px

### Font

- Family: [League Spartan](https://fonts.google.com/specimen/League+Spartan)
- Weights: 500, 600, 700*/

/* variables 
----------------------*/

:root{
	--dark-grey: hsl(0, 0%, 63%);
	--black: hsl(0, 0%, 0%);
	--white: hsl(0, 0%, 100%);
	--very-dark-grey: hsl(0, 0%, 27%);
}

/* typography
----------------------*/

@font-face{
	font-family: 'League Spartan';
	src: url('./fonts/League_Spartan/static/LeagueSpartan-Regular.ttf');
}

.weight-5{
	font-weight: 500;
}

.weight-6{
	font-weight: 600;
}

.weight-7{
	font-weight: 700;
}

.space-5 {
    letter-spacing: .25em;
    word-spacing: .75em;
}

body{
	font-size: 14px;
	font-family: 'League Spartan';
	margin: 0;
}

p{
	font-weight: 600;
	line-height: 1.35em;
	color: var(--dark-grey);
}

h1{
	font-size: 38px;
	margin-bottom: 0.5em;
	margin-top: 0;
	font-weight: 900;
	line-height: 1.1;
}

h2{
	font-size: 14px;
}

.uppercase{
	text-transform: uppercase;
}

a.link-button {
    letter-spacing: 1em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--black);
    font-weight: 700;
    transition:  color 150ms linear;
}

a.link-button:hover{
	color: var(--dark-grey);
}

/* Layout
-----------------*/

*{
	max-width: 100%;
	box-sizing: border-box;
}

.grid-18{
	display: grid;
/*    grid-template-rows: repeat(12, 1fr);*/
    grid-template-columns: repeat(18, 1fr);	
}

.grid-center{
	align-items: center;
	justify-content: center;
}

.grid-col-all{
	grid-column: 1 / -1;
}

.site {
    width: 100vw;
}

.width-full{
	width: 100%;
}

.about-section {
	grid-row: 3;
    background-color: var(--white);
}

.slide-image-mobile,
.slide-content,
.about-text,
.about-image{
	grid-column: 1 / -1;
	width: 100%;
}

.slide-image{
	grid-row: 1 / span 1;
}

.slide-content{
	margin-inline: auto;
	width: min(100% - 4em, 26em);
	padding: 4em 0;
}

.about-text{
    width: min(100% - 4em, 34em);
    margin-inline: auto;
    padding: 2em 0em;
}

/*.about-text {
    width: min(100% - 2em, 31em);
    margin-inline: auto;
}*/

.slides {
    grid-row: 1 / 3;
}

.slide{
	grid-row: 1 / span all;
	grid-template-rows: repeat(2, 1fr);
}

.slide-content-container {
    position: relative;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    align-items: center;
    justify-content: center;
    grid-column: 1 / -1;
}


.arrows {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-column: 6 / span 2;
    flex-grow: 1;
    flex-basis: fit-content;
    position: absolute;
    top: calc(100vw / -7);
    right: 0;
    width: 100%;
}


button.arrow{
	width: 100%;
	aspect-ratio: 1 / 1;
	background-color: var(--black);
	color: var(--white);
	outline: none;
	border: 0;
	padding: 0;
	transition: background-color 150ms linear;
}

button.arrow:hover{
	background-color: var(--very-dark-grey);
}

.slide-image{
	display:none;
}

@media screen and (min-width: 880px) {

	.about-image:first-child {
	    grid-column: 1 / span 5;
	}

	.about-image:last-child {
	    grid-column: 14 / span 5;
	}

	.about-image{
		height: 100%;
		width: 100%;

	}

	.about-text {
	    grid-column: 6 / span 8;
	}

	img.slide-image {
		display:inline-block;
		grid-row: 1 / -1;
	    grid-column: 1 / span 11;
	    width: 100%;
	}
	
	.slide-content-container{
		grid-row: 1 / -1;	
	    grid-column: 12 / -1;
	}

	.slide-content {

	    margin-inline: auto;
	    width: min(100% - 2em, 26em);
	}

	.arrows {
		grid-column: 1 / span 2;
		top: unset;
		bottom: 0;
		left: 0;
	}

	img.slide-image-mobile{
		display: none;
	}
}

/* Header
-----------------*/

header {
    position: absolute;
    width: 100%;
    top: 0;
    z-index: 500000;
    padding: 3rem;
    display: flex;
    align-items: center;
}

nav.main-nav {
    display: inline;
    padding: 0 2rem;
}

.main-nav a {
    color: var(--white);
    padding: .5rem 1rem;
    text-decoration: none;
    font-weight: 500;
    background-image: linear-gradient(0deg, var(--white), var(--white));
    background-size: 0px 3px;
    background-position: bottom center;
    background-repeat: no-repeat;
    transition: background-size 150ms linear;
}

.main-nav a:hover{
	background-size: 20px 3px;
}

#close-button,
#open-menu{
	display: none;
}

@media screen and (max-width: 880px){
	header{
		padding: 2em 0;
		align-items: center;
		justify-content: center;
	}

	nav.main-nav{
		position: absolute;
		top: -10em;
		background-color: var(--white);
		padding: 1.75em 1em;
		color: var(--black);
		width: 100%;
		display: flex;
	}

	nav.main-nav a{
		color: inherit;
		padding-block: 0;
		font-weight: 700;
	}

	.show-menu{
		top: 0 !important;
	}

	#close-button,
	#open-menu{
		display: inline-block;
		background-color: transparent;
		outline: none;
		border: 0;
	}
	#open-menu{
		position: absolute;
		top: 1.75em;
		left: 1em;

	}

}

/*************
TRANSITIONS AND ANIMATIONS
*/

.opacity-0{
	opacity: 0;
}

.opacity-1{
	opacity: 1;
}

.fader *{
	transition: opacity linear 250ms;
}