/*NON-LAYOUT STYLE RULES*/
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

:root {					/* Site Color pallete */
	--light-green: #606c38;
	--dark-green: #283618;
	--paper: #fefae0;
	--light-brown: #dda15e;
	--dark-brown: #bc6c25;
	
	/* Alternative palletes
	--light-green: #e9edc9;
	--dark-green: #ccd5ae;
	--paper: #fefae0;
	--light-brown: #faedcd;
	--dark-brown: #d4a373;
	
	--light-green: #b0c4b1;
	--dark-green: #4a5759;
	--paper: #dedbd2;
	--light-brown: #f7e1d7;
	--dark-brown: #edafb8;
	*/
}

html {
    overflow-y: scroll;
    overflow-x: clip;
    scroll-snap-type: y mandatory;
}

body {
	font-family: "Arial", Sans-seriff;
}

#background {
    position: fixed;
    z-index: -2;
    width: 100vw;
    height: 100vh;
    background-image: url('./resources/GabyHarp2.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

#background-overlay {
    position: fixed;
    z-index: -1;
    width: 100vw;
    height: 100vh;
    background: black;
    opacity: 0;
}
    
section {
    width: 100vw;
    height: 100vh;
    scroll-snap-align: start;
}

#gallery {
    position: relative;
    margin: 1em;
    width: calc(100vw - 2em);
}
    
#gallery img {
    position: absolute;
    padding: 0.5rem;
    margin: 0.5rem;
    border: 6px double var(--paper);
    z-index: 1;
}
    
.player {
    display: flex;
    justify-content: center;
    align-items: center;
}

.unfolded {
    height: fit-content;
}

.folded {
    height: max(3rem, 5vh);
}

nav {
    position: fixed;
    z-index: 5;
    width: 100vw;
    background: rgba(0,0,0,0.5);
}
    
nav::after {
    display: block;
    content: "";
    position: absolute;
    bottom: -0.5rem;
    left: 33%;
    width: 33%;
    height: 0.5rem;
    background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, rgba(255,255,255,0) 100%);
}

#burger-menu {
    position: relative;
    right: calc(-100% + 3vmax + 3rem);
    z-index: 8;
    color: var(--paper);
    padding: 0.5rem 1rem;
    font-size: max(2rem, 4vh);
    cursor: pointer;
    width: max(2rem, 4vh);
    height: max(2rem, 4vh);
}

.full-size {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
}

.compressed {
    flex-direction: row;
    justify-content: flex-end;
}
    
.nav-bar {
    position: relative;
    z-index: 6;
    margin: 0 3em;
    display: flex;
    list-style: none;
}
    
.nav-link {
    display: block;
    font-weight: bold;
    text-decoration: none;
    color: var(--paper);
    transition: color 0.5s, background-color 0.5s;
}
    
.nav-link:hover {
    background-color: var(--paper);
    color: black;
}

#nav-divider {
    position: absolute;
    z-index: 5;
    bottom: 0;
    width: 100vw;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
}
    
.top-divider-center {
    width: 4em;
    position: relative;
    bottom: -1.25em;
}
    
.top-divider-bar {
    position: relative;
    bottom: -0.7em;
    width: 50%;
    height: 1em;
}
    
.in-page {
    background-color: var(--paper);
    color: black;
}

.social-icons {
    display: flex;
    align-items: center;
}

.social-link {
    margin: 0 0.25rem;
}

.social-link:hover {
    color: 	var(--light-brown);
    font-size: 1.25rem;
    margin: 0.125rem;
}

.social-link, .social-link:visited, .social-link:active {
    color: var(--paper);
}

.hidden {
    display: none !important;
}

.text-block p {
    font-size: 3.5vmin;
}

#contact {
    display: flex;
    position: relative;
    justify-content: space-evenly;
    align-items: center;
    padding: 0;
}

#contact div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 3rem 1rem;
    background: linear-gradient(90deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.5) 100%);
    height: 100vh;
}

#contact h1 {
    display: block;
}

form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: fit-content;
    color: var(--paper);
    font-size: 4vmin;
}

form button {
    width: 90%;
    height: 6vmin;
    font-size: 4vmin;
    margin-top: 1em;
    color: black;
    background: var(--paper);
    border-radius: 5px;
    cursor: pointer;
}

form button:active {
    color: var(--paper);
    background: var(--dark-brown);
}

label {
    width: 90%;
    height: 6vmin;
    margin-top: 1em;
    display: flex;
    font-weight: bold;
    justify-content: space-between;
}

textarea {
    font-size: 4vmin;
    padding: 8px 1ch;
    background: var(--paper);
    border-radius: 5px;
}

input {
    font-size: 4vmin;
    height: 6vmin;
    padding: 0 1ch;
    background: var(--paper);
    border-radius: 5px;
}

input[name="email"] {
    width: 29ch;
}

input[name="phone"] {
    width: 19ch;
}

.mail-link {
    color: var(--paper);
    text-decoration: none;
}

.mail-link:hover {
    color: var(--dark-green);
    text-decoration: underline;
}

.mail-link:visited {
    color: var(--dark-green);
}



/*-------------- FONT CLASSES -------------*/
.playfair-display-title {
  font-family: "Playfair Display", serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  text-align: center;
}

.playfair-display-buttons {
  font-family: "Playfair Display", serif;
  font-optical-sizing: auto;
  font-weight: bold;
  font-style: normal;
}

.playfair-text {
  font-family: "Playfair", serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}