
			/* GLOBAL STYLES */

html {
	scroll-behavior: smooth;
}

body {
    background-color: slategray;
    margin: 0;
    font-size: 20px;
    font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif
}

* {
    box-sizing: border-box;
}

				            /* NAV BAR */
.navbar { /* <ul> */
	list-style-type: none;
	position: fixed;
	margin: 0;
	padding: 0;
    width: 100%;
    z-index: 2;
	background-color: darkslateblue;
	animation: slide-down 2s;
}

.navbar li { float: left; }

@keyframes slide-down {
	from { top: -100vh; }
	to   { top: 0; }
}

.navbar li > a {
    display: inline-block;
    color: antiquewhite;
    /* float: left; */
    padding: 0.5em 1em;
    text-decoration: none;
	transition: color 0.5s, background-color 0.5s;
}

.navbar a.active {
    color: darkslateblue;
    background-color: antiquewhite;
}

.navbar a:hover, .dropdown:hover .dropbtn {
    color: darkslateblue;
    background-color: antiquewhite;
}

li.dropdown { display: inline-block; }

.dropdown:hover .dropdown-content {
	display: block;
}
  
.dropdown-content {
	display: none;
	position: absolute;
	background-color: antiquewhite;
	z-index: 2;
}

.dropdown-content a {
	color: darkslateblue;
	text-decoration: none;
	padding: 0.5em 1em;
	display: block;
	text-align: left;
	transition: color 0.5s, background-color 0.5s;
}

.dropdown-content a:hover {
	color: antiquewhite;
	background-color: darkslateblue;
}

            			/* FIXED BACKGROUND */
#fixed-bg {
    position: fixed;
    left: 0;
    top: 0;
    min-width: 100%;
    z-index: -1;
}

            				/* WELCOME BANNER */
.welcome {
    height: 100vh;
    position: relative;
}

.welcome-text {
    position: absolute;
    width: 100%;
    bottom: 0;
    background-color: black;
    color: white;
    opacity: .7;
	padding: 3em 0;
	/* left: -100%; */
	animation: slide-from-left 2s;
	/* transition: left 2s ease-in-out; */
}

@keyframes slide-from-left {
	from { left: -100vw; }
	to   { left: 0; }
}

.welcome-text h1 {
    text-align: center;
    font-variant: small-caps;
}

.welcome-text blockquote {
    width: 50%;
    margin: auto;
    font-family: serif;
}

								/* GALLERY  */
#gallery {
	display: grid;
	grid-template-columns: 100px 1fr;
	box-sizing: content-box;
	max-height: 420px;
	padding-left: 1em;
	padding-top: 1em;
	background-color: black;
}

.thumbs-pane {
	width: 100px;
	/* padding-top: 1em; */
}

.thumb-container img {
	width: 100px;
	height: 100px;
}

.img-pane {
	background-color: black;
	position: relative;
	/* padding-top: 1em; */
	padding-bottom: 2em;
	/* opacity: .5; */
}

.img-container img {
	height: 380px;
	margin: 0 auto;
	display: none;
}

.img-container:hover {
	opacity: 1;
}

.prev, .next {
	cursor: pointer;
	position: absolute;
	top: 50%;
	width: auto;
	padding: 16px;
	margin-top: -22px;
	color: white;
	font-weight: bold;
	font-size: 2em;
	transition: 0.6s ease;
	border-radius: 0 3px 3px 0;
	user-select: none;
	z-index: 1;
}

/* POSITION NEXT BUTTON TO THE RIGHT */
.next {
	right: 0;
	border-radius: 3px 0 0 3px;
}

.prev:hover, .next:hover {
	background-color: rgba(0,0,0,0.8);
}

.caption {
	position: absolute;
	bottom: -1em;
	width: 500px;
	border-radius: 1em;
	margin-bottom: 1em;
	padding-bottom: .5em;
	text-align: center;
	z-index: 2;
	color: antiquewhite;
	background-color: black;
	opacity: 0.6;
	left: 50%;
	transform: translateX(-50%);
}

		            /* COLUMNS CONTENT */
.row {
    height: 420px;
}

.cols {
    float: left;
    width: 50%;
    height: 100%;
    padding: 1em;
    overflow: hidden;
}

.cols h1 {
    text-transform: uppercase;
    margin-top: 0;
}

.cols > div {
    height: 100%;
    /* border: 1px solid #ccc; */
    border-radius: 35px; /* 1.5em @ 20px */
    padding: 1em;
}

.cols > div:hover {
    box-shadow: 0 0 1em black;
    transition: box-shadow 0.5s;
}

.cols img {
    display: block;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
    height: 100%;
    box-shadow: 0 0 1em black;
}

.col-pic-bg {
    background-color: slategray;
}

.col-content-bg {
    /* background-color: #d7ba7d; */
    background-color: #ce9178;
}

.cols img:hover {
    transform: scale(1.1);
    transition: transform .8s cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

						/* CLEAR FIX */
.row:after {
    content: '';
    display: table;
    clear: both;
}

							/* CONTACT BUTTON */
#contact-btn {
	position: fixed;
	background-color: darkslateblue;
	color: antiquewhite;
	cursor: pointer;
	font-size: 2rem;
	border-radius: 1rem;
	bottom: 1.5rem;
	right: 1.5rem;
	transition: color 0.5s, background-color 0.5s;
	animation: slide-from-right 2s;
}

@keyframes slide-from-right {
	from { right: -100vw; }
	to   { right: 1.5rem;   }
}

#contact-btn:hover {
	background-color: antiquewhite;
	color: darkslateblue;
}

            				/* FORM  */
#form-popup {
	display: none;
	position: fixed;
	z-index: 2;
	bottom: 1rem;
	right: 1rem;
}

form {
	color: black;
	width: 400px;
	margin: 0 auto;
	border: 1px solid #ccc;
	border-radius: 1em;
	background-color: #aaa;
	padding: 1em;
}

form ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

form li + li {
	margin-top: 1em;
}

.validate-msg {
	position: absolute;
	visibility: hidden;
	display: inline-block;
	background-color: antiquewhite;
	border: 1px solid black;
	padding: .25em .5em;
	border-radius: .5em;
	top: 1.5em;
	left: 20%;
	z-index: 3;
	/* margin: 0 0 0 20%; */
}

label {
	width: 20%;
	display: inline-block;
	text-align: right;
}

input, 
textarea {
	width: 70%;
	font: 1em 'calibri', sans-serif;
	letter-spacing: .05em;
	border: 1px solid #333;
	padding: .5em;
}

textarea {
	vertical-align: top;
	height: 5em;
}

#submit-btn {
	font-size: 1.5rem;
	margin-left: 20%;
	padding: .25em .5em;
	background-color: green;
	color: white;
	border: 1px solid white;
	border-radius: 1em;
}

#close-btn {
	font-size: 1.5rem;
	margin-left: 2em;
	padding: .25em .5em;
	background-color: red;
	color: white;
	border: 1px solid white;
	border-radius: 1em;
}

#submit-btn:hover, #close-btn:hover {
	box-shadow: 0 0 1em black inset;
	cursor: pointer;
}
			/* POP-UP FORM */

            /* FOOTER */
body > footer {
    background-color: darkslateblue;
    color: antiquewhite;
    padding: 2em 0;
}

body > footer p {
    margin: 0;
}