/* Fonts */
@font-face {
    font-family: Tommaso;
    src: url("../fonts/Tommaso.ttf");
}

@font-face {
	font-family: Jost;
	src: url("../fonts/Jost.ttf");
}

/* Color Variables */
:root {
    --main-color: #008080;			/* Teal  var(--main-color); */
    --secondary-color: #00C7EB;		/* Cyan  var(--secondary-color); */
    --foreground-color: #000000;	/* Black var(--foreground-color); */
    --background-color: #FFFFFF;	/* White var(--background-color); */
	--alt-color: #DDDDDD;			/* Grey  var(--alt-color); */
}

/* Global */
* {
    margin:0;
	box-sizing: border-box;
	padding:0;
}

body {
	position: relative;
	min-height: 100vh;
    background-color: var(--background-color);
	font-family: Jost;
    font-size: 20px;
}

/* Typography */

h1 {
	font-size: 80px;
    font-family: Tommaso;
	font-weight: 400;
	text-align: center;
	text-transform: uppercase;
    color: var(--secondary-color); 
}

h2 {
	font-size: 50px;
	font-family: Tommaso;
	font-weight: 400;
	text-align: center;
	text-transform: uppercase;
    color: var(--secondary-color);
}

p {
	margin-bottom: 20px;
	text-align: center;
	text-wrap: pretty;
    color: var(--foreground-color); 
}

mark {
	background-color: transparent;
	font-size: 25px;
	font-family: Tommaso;
	text-transform: uppercase;
	color: var(--foreground-color);
}

hr {
	margin-bottom: 20px;
	border: none;
	padding: 1px;
    background-image: linear-gradient(to right,rgba(255, 255, 255, 0),rgba(0, 0, 0, 0.75),rgba(255, 255, 255, 0));
    text-decoration: none;	
}

/* Navigation */

header {
	width: 100%;
	background-color: var(--main-color);
}

nav {
	position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo {
	margin-right: auto;
    padding: 5px;
}

.logo:hover {
	background-color: transparent;	
}

nav ul {
    display: flex;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

nav ul li {
    margin-right: 10px;
}

/* Mobile/Hamburger Menu */

.mobile-menu {
    display: none;
}

.hamburger-menu {
	position: relative;
	margin: 0;
    width: 30px;
    height: 2px;
    background-color: var(--background-color);
    transition: transform 0.3s ease;
}

.hamburger-menu::before,
.hamburger-menu::after {
    position: absolute;
	content: '';
    display: block;
    width: 30px;
    height: 2px;
    background-color: var(--background-color); 
    transition: transform 0.3s ease; 
}

.hamburger-menu::before {
    top: -10px;
}

.hamburger-menu::after {
    top: 10px;
}

.mobile-menu.active .hamburger-menu {
    transform: rotate(45deg);
}

.mobile-menu.active .hamburger-menu::before {
    transform: rotate(-90deg) translateY(0) translateX(-8px);
}

.mobile-menu.active .hamburger-menu::after {
    transform: rotate(-90deg) translateY(0px) translateX(8px);
}

/* Sections */

section {
	margin: auto;
    width: 80%;
    min-height: auto;
	padding-top: 30px;
    text-align: center;
}

/* Links */

a {
	border-radius: 4px;
    padding: 10px;
	background-color: var(--main-color);
	font-size: 20px;
	text-transform: uppercase;
    text-decoration: none;
	color: var(--background-color); 
}

a:hover {
	background-color: var(--foreground-color);
	color: var(--secondary-color);
	}

/* Footer */

.footer-grid {
	position: relative;
	display: grid;
    grid-template-areas: "footer-left-content footer-right-content";
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    min-height: auto;
	background-color: var(--main-color);
	text-align: center;
}

.footer-grid > .footer-left-content {
    grid-area: footer-left-content;
    padding: 20px;
	text-align: center;
    color: var(--background-color);
}

.footer-grid > .footer-right-content {
    grid-area: footer-right-content;
	border-left: solid var(--background-color) 1px;
    padding: 20px;
    text-align: center;
}

.footer-grid p {
	padding: 0px;
	color: var(--background-color);
}

.footer-grid h2 {
    color: var(--background-color);
}

.footer-grid a {
	display: block;
    border-radius: 4px;
	padding: 0px;
    font-size: 20px;
	text-align: center;
    text-transform: uppercase;
    text-decoration: none;
	color: var(--background-color);
}

.footer-grid a > span {
    color: var(--background-color);
}

.footer-grid a:hover {
	background-color: transparent;
    color: var(--secondary-color);
}

.footer-grid a:hover i,
.footer-grid a:hover span {
    color: var(--secondary-color);
}

.social-icons a {
	display: inline;
}

/* Content Box */

.content-box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	width: 100%;
	background-color: rgba(0,0,0,0.25);
	text-align: center;
}

.content-box h1 {
	font-size: 100px;
	color: var(--background-color);
}

.content-box hr {
	margin: 0 auto 10px auto;
	width: 50%;
	background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}

/* Home */

.home {
	min-height: 100vh;	
}

.slider {
	position: relative;
	display: flex;
	overflow: hidden;
	margin: 0px;
    width: 100%;
    height: 100vh;
	padding: 0px;
}

.slide {
	display: none;
    width: 100%;
    height: 100%;
}

.slide img {
	object-fit: cover;
    width: 100%;
    height: 100%;
}

.active {
    display: block;
}

.home-content {
	position: relative;
}

.home-content {
	margin: 20px auto;
	width: 80%;
	text-align: center;
}

/* About */

.about {
	min-height: 100vh;	
}

.about-grid {
    display: grid;
    grid-template-areas: "journey-left-content journey-right-content"
                        "approach-left-content approach-right-content"
						"why-bottom-content why-bottom-content";
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
	width: 100%;
    min-height: auto;
	background-color: var(--main-color);
	text-align: center;
}

.about-grid > .journey-left-content {
	grid-area: journey-left-content;
	margin: auto;
	width: 80%;
    padding: 20px;
	color: var(--background-color);
}

.about-grid > .journey-right-content {
	grid-area: journey-right-content;
    background-image: url("/images/desk.jpg");
	background-position: center;
	background-size: cover;
}

.about-grid > .approach-left-content {
	grid-area: approach-left-content;
    background-image: url("/images/Collaboration.jpg");
	background-position: center;
	background-size: cover;
}

.about-grid > .approach-right-content {
	grid-area: approach-right-content;
	margin: auto;
	width: 80%;
    padding: 20px;
	color: var(--background-color);
}

.about-grid > .journey-right-content,
.about-grid > .approach-left-content {
    min-height: 300px;
}

.about-grid > .why-bottom-content {
	grid-area: why-bottom-content;
	padding: 20px 0px;
	background-color: var(--background-color);
}

.about-grid > .why-bottom-content > hr,
.about-grid > .why-bottom-content > p {
	margin: auto;
	margin-bottom: 20px;
	width: 80%;
}


.about-grid > .journey-left-content h2,
.about-grid > .journey-left-content p,
.about-grid > .journey-left-content mark,
.about-grid > .approach-right-content h2,
.about-grid > .approach-right-content p,
.about-grid > .approach-right-content mark {
	color: var(--background-color);
}

.about-grid > .journey-left-content hr,
.about-grid > .approach-right-content hr {
	background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0));
}

/* Gallery */

.gallery {
    flex-wrap: wrap;
    justify-content: space-around;
	display: flex;
	margin: auto;
	width: 80%;
	padding: 20px;
}

.gallery-item {
    margin: 10px auto;
}

.gallery-item img {
    width: 200px;
    height: 200px;
    object-fit: cover;
    cursor: pointer;
}

/* Lightbox */

.lightbox {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
	display: none;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    overflow: auto;
}

.lightbox-content {
	position: absolute;
	top: 50%;
    left: 50%;
    display: block;
	transform: translate(-50%, -50%);
    margin: auto;
    max-width: 80%;
    max-height: 80%;
}

.prev, .next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: auto;
    padding: 16px;
	cursor: pointer;
    font-weight: bold;
    font-size: 50px;
	color: var(--background-color);
}

.prev {
    left: 20px;
}

.next {
    right: 20px;
}

.close {
    position: absolute;
    top: 15px;
    right: 35px;
	cursor: pointer;
    font-size: 40px;
    font-weight: bold;
	color: var(--background-color); 
}

.main {
	padding: 20px;
	background-color: var(--main-color);
	color: var(--background-color);
}

.main h2 {
	color: var(--background-color);
}

.main hr {
	margin: auto;
	width: 80%;
	background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0));
}

.main a {
	background-color: transparent;
	font-size: 50px;
	font-weight: 400;
	color: var(--background-color);
}

.main a:hover {
	background-color: transparent;
	color: var(--background-color);
}

.second {
	padding: 20px;
}

.second hr {
	margin: auto;
	width: 80%;
}

.second a {
	background-color: transparent;
	font-size: 50px;
	font-weight: 400;
	color: var(--secondary-color);
}

.second a:hover {
	background-color: transparent;
	color: var(--secondary-color);
}

.gallery-content {
	margin: 20px auto;
	width: 80%;
	padding: 20;
	text-align: center;
}

.gallery-content p {
	margin-bottom: 20px;	
}

.subtitle {
	margin:0px; 
	font-size: 15px;
    text-align: center;
}

.lightbox-subtitle {
    text-align: center;
    color: var(--background-color);
    margin-top: 10px;
}

/* Services */

.services {
	min-height: 100vh;
}
.services-grid {
	display: grid;
	    grid-template-areas: "graphics-left-content graphics-right-content"
                        "photography-left-content photography-right-content"
						"webdes-left-content webdes-right-content"
                        "branding-left-content branding-right-content"
                        "socials-left-content socials-right-content"
						"contact-bottom-content contact-bottom-content";
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    min-height: auto;
	background-color: var(--main-color);
	text-align: center;
}

.services-grid > .graphics-left-content {
	grid-area: graphics-left-content;
    background-image: url("/images/OfficeSpace/office_space(11).jpg");
	background-position: center;
	background-size: cover;
}

.services-grid > .graphics-right-content {
    grid-area: graphics-right-content;
	margin: auto;
	width: 80%;
    padding: 20px;
}

.services-grid > .photography-left-content {
    grid-area: photography-left-content;
	margin: auto;
	width: 80%;
    padding: 20px;
}

.services-grid > .photography-right-content {
	grid-area: photography-right-content;
    background-image: url("/images/vintage_camera.jpg");
	background-position: center;
	background-size: cover;
}

.services-grid > .webdes-left-content {
	grid-area: webdes-left-content;
    background-image: url("/images/WebDesign1.jpg");
	background-position: center;
	background-size: cover;
}

.services-grid > .webdes-right-content {
    grid-area: webdes-right-content;
	margin: auto;
	width: 80%;
    padding: 20px;
}

.services-grid > .branding-left-content {
    grid-area: branding-left-content;
	margin: auto;
	width: 80%;
    padding: 20px;
}

.services-grid > .branding-right-content {
	grid-area: branding-right-content;
    background-image: url("/images/Branding.jpg");
	background-position: center;
	background-size: cover;
}

.services-grid > .socials-left-content {
    grid-area: socials-left-content;
    background-image: url("/images/SocialMedia.jpg");
	background-position: center;
	background-size: cover;
}

.services-grid > .socials-right-content {
    grid-area: socials-right-content;
	margin: auto;
	width: 80%;
    padding: 20px;
}

.services-grid > .contact-bottom-content {
	grid-area: contact-bottom-content;
	padding: 20px 0px;
	background-color: var(--background-color);
}

.services-grid > .contact-bottom-content > hr,
.services-grid > .contact-bottom-content > p {
	margin: auto;
	margin-bottom: 20px;
	width: 80%;
}

.services-grid a {
    display: block;
    margin: auto;
    width: fit-content;
	background-color: var(--background-color);
	color: var(--main-color);
}

.services-grid a:hover, 
.services-grid > .contact-bottom-content > a:hover {
	background-color: var(--foreground-color);
	color: var(--secondary-color);
}

.services-grid > .contact-bottom-content > a {
	background-color: var(--main-color);
	color: var(--background-color);
}

.services-grid > .graphics-right-content h2,
.services-grid > .graphics-right-content p,
.services-grid > .graphics-right-content mark,
.services-grid > .photography-left-content h2,
.services-grid > .photography-left-content p,
.services-grid > .photography-left-content mark,
.services-grid > .webdes-right-content h2,
.services-grid > .webdes-right-content p,
.services-grid > .webdes-right-content mark,
.services-grid > .branding-left-content h2,
.services-grid > .branding-left-content p,
.services-grid > .branding-left-content mark,
.services-grid > .socials-right-content h2,
.services-grid > .socials-right-content p,
.services-grid > .socials-right-content mark {
	color: var(--background-color);
}

.services-grid > .graphics-right-content hr,
.services-grid > .photography-left-content hr,
.services-grid > .webdes-right-content hr,
.services-grid > .branding-left-content hr,
.services-grid > .socials-right-content hr {
	background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0));
}

.services-grid > .graphics-left-content,
.services-grid > .photography-right-content,
.services-grid > .webdes-left-content,
.services-grid > .branding-right-content,
.services-grid > .socials-left-content {
    min-height: 300px;
}

.contact-content {
	margin: 20px auto;
	width: 80%;
	text-align: center;
}

/* Contact */

.contact {
	min-height: 100vh;
}

.finding-grid {
	display: grid;
    grid-template-areas: "finding-left-content finding-right-content";
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    width: 100%;
	background-size: cover;
	background-color: var(--main-color);
}

.finding-grid > .finding-left-content {
	grid-area: finding-left-content;
	margin: auto;
	padding: 20px;
	text-align: center;
	color: var(--background-color);
}

.finding-grid > .finding-left-content h2,
.finding-grid > .finding-left-content p,
.finding-grid > .finding-left-content mark {
	color: var(--background-color);
}

.finding-grid > .finding-left-content hr {
	background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0));
}

.finding-grid > .finding-right-content {
    grid-area: finding-right-content;
	border-left: solid var(--background-color) 1px;
	padding: 20px;
	text-align: center;
}

.contact-content i {
	color: var(--main-color);
}

/* Login */

.login-form {
	position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 50%;
	border-radius: 10px;
	height: 560px;
    width: 400px;
	padding: 30px;
	background-color: var(--main-color);
	color: var(--background-color);
}

.login-form > img {
	text-align: center;
}

.login-form a {
	display: block;
	margin: 0px auto;
	padding: 0px; 
	text-align: center;
}

.login-form a:hover {
	background-color: var(--main-color);
}

.login-form > h2 {
	color: var(--background-color);
}

.login-form > label{
    display: block;
    margin-top: 30px;
    font-size: 20px;
    font-weight: 500;
}
.login-form > input[type=email], input[type=password] {
    display: block;
	margin-top: 5px;
	border: 1px solid var(--foreground-color);
    border-radius: 4px;
    height: 50px;
    width: 100%;
    padding: 0 10px;
    font-size: 20px;
    font-weight: 300;
}

.login-form > button {
    margin: auto;
	border-radius: 5px;
    width: 100%;
    background-color: var(--background-color);
    cursor: pointer;
    font-size: 20px;
    font-weight: 600;
	color: var(--foreground-color);
}

.login-form > button:hover {
	background-color: var(--foreground-color);
	color: var(--secondary-color)
}

.login-form > p {
	padding: 10px;
	text-align: center;
	color: var(--background-color);
}


::placeholder {
    color: var(--alt-color);
}

.center {
    display: block;
	margin: auto;
}

/* Editor */

.editor {
	min-height: 100vh;	
}

.trumbowyg-box button {
    margin: 0;
	border: none;
    padding: 0;
    background-color: transparent;
    color: var(--foreground-color);
}

/* User */
.users, .edit {
	min-height: 100vh;
}

/* Table */

table {
	width: 100%;
	margin: auto;
}

td, th {
	border: 1px solid var(--foreground-color);
	padding: 8px;
}

tr:nth-child(even) {
	background-color: var(--alt-color);
}

tr:hover {
	background-color: var(--secondary-color);
}

th {
	padding-top: 12px;
	padding-bottom: 12px;
	background-color: var(--main-color);
	text-align: center;
	color: var(--background-color);
}

/* Form */

.form-container input[type=text], input[type=email], select, textarea {
	resize: vertical;
	margin: 10px 0px;
	border: 1px solid var(--foreground-color);
    border-radius: 4px;
    box-sizing: border-box;
    width: 100%;
    padding: 12px;
    font-family: Jost;
    font-size: 20px;
}

input[type=submit], button {
	background-color: var(--main-color);
	color: var(--background-color);
	padding: 12px 20px;
	text-transform: uppercase;
	border: none;
	margin: 10px 30px;
	border-radius: 4px;
	font-family: Jost;
	font-size: 20px;
	cursor: pointer;
}

input[type=submit]:hover, button:hover {
	background-color: var(--foreground-color);
	font-size: 20px;
	color: var(--secondary-color);
}

.form-container {
	margin: 0 auto;
	margin-bottom: 20px;
	border: 1px solid var(--foreground-color);
	border-radius: 5px;
	max-width: 440px;
	padding: 20px;
	background-color: var(--alt-color);
}

.form-label {
	font-weight: bold;
}

.form-control, .form-select {
	margin-bottom: 10px;
	border: 1px solid var(--foreground-color);
	border-radius: 5px;
	width: 100%;
	padding: 10px;
}

.btn {
	display: inline-block;
	border-radius: 5px;
	padding: 10px 15px;
	background-color:  var(--main-color);
	cursor: pointer;
	color: var(--background-color);
}

.btn:hover {
	background-color: var(--foreground-color);
	color: var(--secondary-color);
}

.btn[disabled] {
    background-color: var(--alt-color);
	cursor: not-allowed;
    color: var(--foreground-color);
}

/* Scrollbar Styles */

::-webkit-scrollbar {
	width: 20px;
}

::-webkit-scrollbar-track {
	border: 3px solid var(--main-color);
}

::-webkit-scrollbar-thumb {
	border-radius: 5px;
	background-color: var(--secondary-color);
}

/* Media query for mobile devices */
@media screen and (max-width: 768px) {

/* Mobile Nav */
.desktop-menu {
	display: none; 
}
	
.mobile-menu {
	display: inline-block;
	padding: 0 10px;
}
	
.mobile-menu.active + .desktop-menu {
	position: absolute;
	z-index: 99 !important;
	top: 100%;
	left: 0;
	display: block;
	width: 100%;
	padding: 30px 0;
	background-color: var(--main-color);
}
	
.mobile-menu.active + .desktop-menu li {
	padding: 10px;	
}

.mobile-button {
	display: block;
	margin: 10px;
}
	
.mobile-button:hover {
	background-color: transparent;
}

/* Mobile Footer */
	
.footer-grid {
	grid-template-areas: "footer-right-content"
						 "footer-left-content";
	grid-template-columns: 1fr;
}
	
.footer-grid > .footer-right-content {
	border-bottom: solid var(--background-color) 1px;
	border-left: none;
}

/* Mobile About */
	
.about-grid {
    grid-template-areas: "journey-right-content"
						 "journey-left-content" 
                         "approach-left-content" 
						 "approach-right-content"
						 "why-bottom-content";
    grid-template-columns: 1fr;
}
	
/* Mobile Services */

.services-grid {
    grid-template-areas: "graphics-left-content"
						 "graphics-right-content"
                         "photography-right-content"
						 "photography-left-content"
						 "webdes-left-content"
						 "webdes-right-content"
						 "branding-right-content"
                         "branding-left-content"
                         "socials-left-content" 
						 "socials-right-content"
						 "contact-bottom-content";
    grid-template-columns: 1fr;
}
	
/* Mobile Contact */

.finding-grid {
    grid-template-areas: "finding-left-content" 
						 "finding-right-content";
    grid-template-columns: 1fr;
}
	
.finding-grid > .finding-right-content {
	border-top: solid var(--background-color) 1px;
	border-left: none;
}
	
/* Mobile Gallery */
	
.gallery {
	width: 100%;
}
	
.gallery-item {
    margin: auto;
}
	
.gallery-item img {
    width: 160px;
    height: 160px;
}

.prev {
    left: 0px;
}

.next {
    right: 0px;
}
	
/* Mobile Users */
	
td, th {
	padding: 3px;
	font-size: 14px;
}
	
}