 /* #region CSS RESET (Used for folding code) */
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
/* #endregion  CSS Reset*/

/* #region || General Styles */
:root {
    /*Light Mode Colors*/
    --ltbg: #d7d7d7; 
    --orange: #ff9500;
    --ltsec: #017979;
    --lttext: #020d0b;
    --red: #ff1414;
    --ltred: #571818;

    /*Dark Mode Colors*/
    --dkbg: #413c3c;
    --dkorange: #ffb957;
    --dksec: #a5cdcd;
    --dktext: #f2fdfb;
    --dkred: #ac0000;

    /*Colors*/
    --black: #050517; 
    --gray: #2D373C;
}
html {
    font-family: "Afacad Flux", Tahoma, sans-serif;
    box-sizing: border-box;
    color: var(--lttext);
    background-color: var(--black);
}
body {
    width: 1280px;
    height: 1024px;
    margin: 0 auto;
    line-height: normal;
}
h2, h3 {
    font-size: 20px;
    padding-bottom: 10px;
    text-transform: uppercase;
    font-weight: bold;
}
a {
    text-decoration: none;
    color: var(--black);
}
div {
    font-size: 18px;
}
nav a:hover {
    color: var(--dktext);
}
strong {
    font-weight: bold;
}
.sr-only {
    position: absolute;
    left: -10000px;
    top: auto;
    height: 1px;
    width: 1px;
    overflow: hidden;    
}
/* #endregion || General Styles */

/* #region || Header and Main Navigation */
header {
    height: 362px;
}
.heroImage {
   background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("images/kitchenheader.jpg");
   height: 90%;
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   position: relative;
}
.heroText h1 {
   font-family: "Fugaz One", sans-serif;
   text-align: center;
   position: relative;
   color: white;
   font-size:80px;
   text-transform: uppercase;
   text-shadow: 2px 2px 0 var(--black), 2px -2px 0 var(--black), -2px 2px 0 var(--black), -2px -2px 0 var(--black);
}
header button {
    position: relative;
    z-index: 1;
    top: -10px;
    left: 1200px;
    border: none;
    padding: 0;
}
nav {
    background-color: var(--orange);
    width: 1280px;
    position: absolute;
    top: 339px;
    height: 53px;
}
nav ul {
    overflow: visible;
    position: relative;
    top: -10px;
    left: 500px; 
    display: grid;
    grid-template-columns: 270px 270px 270px;
}
li {
    text-align: center;
    text-transform: uppercase;
}
nav li a {
    display: block;
    padding: 20px;
    font-size: 1.2em;
    font-weight: bold;
    color: var(--gray);
}
.active {
    color: var(--lttext);
    text-decoration: underline;
    font-size: 25px;
    padding: 17px;
}
.display {
    display: block;
}
.hide {
    display: none;
}
main {
    height: 1200px;
    padding: 20px;
    background-color: var(--ltbg);
    margin-top: 20px;
}
/* #endregion || Header and Main Navigation */

/* #region || Headline */
#headline {
    display: grid;
    grid-template-columns: 75% 25%;
    background-color: var(--ltsec);
}
#headline svg {
    height: 40px;
    fill: var(--dktext);
}
#toggleTheme {
    height: 40px;
    width: 40px;
    padding: 0;
    border-radius: 50%;
    left: 10px;
    top: 10px;
}
#toggleTheme svg {
    fill: var(--ltsec);
    height: 30px;
    width: 30px;
}
#toggleTheme svg:last-child {
    display: none;
}
#contactHeader {
    padding: 10px;
}
.svgIcon {
    margin-left: 40px;
}
.svgIcon, .svgText {
    vertical-align: middle;
    display: inline-block;
}
/* #endregion || Headline */

/* #region || Home */
#aboutPage {
    display: grid;
    line-height: 60px;
    text-align: center;
}
#home svg {
    height: 30px;
    width: 30px;
    padding: 10px;
}
#aboutLeft {
    width: 600px;
    height: 580px;
    margin-left: 25px;
    line-height: 1.2em;
    font-size: 20px;
    padding-top: 15px;
}
#aboutRight {
    max-height: 400px;
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    height: 400px;
    margin-top: 50px;
    border-radius: 25%;
    justify-self: center;
    border: 5px solid var(--black);
}
#aboutCenter {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
    height: 275px;
}
#aboutCenter p {
    font-size: 25px;
    font-weight: bold;
}
#serviceList ul {
    display: inline-block;
}
#aboutCenter #serviceList li {
    background-color: var(--ltred);
    color: var(--dktext);
    margin: 10px;
    width: 200px;
    display: inline-block;
}
#aboutCenter #serviceList li:hover {
    background-color: var(--orange);
    color: var(--lttext);
    cursor: default;
    font-weight: bold;
    transition: all .3s ease-in-out;
}
#aboutBottom {
    grid-column: 1 / 3;
    grid-row: 3;
    line-height: 1.5em;
    max-height: 400px;
    background-color: var(--ltsec);
    border-radius: 30px;
}
#reviews {
    display: grid;
    grid-template-columns: 500px 500px;
    column-gap: 15px;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
    max-height: 360px;
    background-color: transparent;
}
.review {
    max-width: 900px;
    display: grid;
    grid-template-columns: 150px auto;
}
.hideReview {
    display: none;
}
.review img {
    max-width: 100px;
    margin-top: 10px;
    margin-left: 30px;
    grid-column: 1 / 2;
    grid-row: 1 / 4;
    border: 5px solid var(--dktext);
    border-radius: 25% 10%;
}
.review h3 {
    grid-column: 2 / 3;
    padding-top: 10px;
}
.review h4 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}
.review h3, .review h4 { 
    text-align: left;
}
.review span {
    text-align: justify;
}
#reviews p {
    background-color: rgba(215,215,215,.3);
    border-radius: 30px;
    padding: 10px;
    margin: 10px;
    grid-column: 1 / 3;
    grid-row: 4 / 5;
}
/* #endregion || Home */

/* #region || Gallery */
#details {
   margin: 25px auto;
   width: 100%;
}
#gallery h3 {
    font-size: 35px;
}
#gallery div p {
    font-size: 25px;
}
.firstDiv {
    margin: 2rem;
    transition: all .3s ease-in-out;
    font-size: 18px;
    width: auto;
    text-align: center;
}
.flipItems ul {
	max-width: 900px;
	height: 900px;
}
.flipItems li img {
	max-width: 700px;
	max-height: 500px;
    border: 10px solid var(--black);
    padding: 3px;
    margin: 5px;
}
/* #endregion || Services/Gallery */

/* #region || Contact */
#contactPage {
    display: grid;
    grid-template-rows: 250px 500px 150px;
    grid-template-columns: 50% 50%;
    justify-content: center;
}
#contactPage h3 {
    margin-top: 30px;
    font-size: 45px;
}
form {
    height: 750px;
    width: 550px;
    box-sizing: border-box;
    padding: 10px;
    color: var(--lttext);
    border-radius: 10px;
    grid-row: 2 / 3;
    grid-column: 1 / 2;
    margin-left: 30px;
    display: grid;
    background-color: #939393;
    outline-style: double;
    outline-color: var(--ltsec);
    outline-width: 10px;
}
#contactMessage  {
    grid-row: 1 / 2;
    grid-column: 1 / 3;
    text-align: center;
    font-size: 25px;
}
#saveCustomer {
    margin-top: 50px;
    margin-right: 20px;
    font-size: 1.5em;
    text-align: center;
    grid-column-start: 2;
    background-color: var(--dksec);
    border-radius: 30px;
    outline-style: solid;
    outline-color: var(--ltsec);
}
#fullName, #phone, #email, #dateSelect { 
    width: 95%;
    height: 40px;
    margin-top: 5px;
    margin-bottom: 15px;
    font-size: 22px;
    background-color: white;
}
#dateSelect {
    width: 93%;
}
input {
    border-radius: 10px;
}
textarea {
    width: 95%;
    height: 100px;
    border-radius: 10px;
    resize: none;
    font-size: 22px;
}
.labels {
    margin-left: 15px;
    font-size: 24px;
}
fieldset {
    width: 93%;
    padding: 10px 0 10px 10px;
    border: solid 2px var(--black);
    border-radius: 10px;
    margin-bottom: 15px;
    font-size: 24px;
}
legend {
    padding-left: 5px;
}
.radio, input[type=radio] {
    position: relative;
    left: 100px;
    padding: 0 20px 0 20px;
}
input[type=radio] {
    position: relative;
    left: 75px; 
}
.required {
   color: var(--red);
   font-size: 18px;
}
.radioHide {
    display: none;
}
#mySubmit {
    font-size: 20px;
    font-weight: bold;
    background-color: var(--dkred);
    margin-top: 10px;
    margin-left: 50px;
    width: 35%;
    height: 50px;
    color: var(--ltbg);
}
#mySubmit:hover {
    background-color: var(--orange);
    border: solid 3px;
    color: var(--lttext);
} 
.errorMessage {
    display: none;
    color: var(--red);
    font-weight: bold;
    margin: 0.2em 0;
}
.error {
    display: block;
}
.inputError {
    border: 2px solid var(--red);
}
#modal.hidden {
    display: none;
}
#modal {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    z-index: 1;
    left:  600px;
    top: 300px;
    width: 400px;
    height: 350px;
    overflow: auto;
    background-color: var(--ltsec);
}
#iModal {
    background-color: var(--ltbg);
    width: 385px;
    height: 335px;
    align-content: center;
    text-align: center;
}
#iModal p {
    font-size: 25px;
    text-align: center;
}
#yes, #no {
    background-color: var(--dkorange);
    margin: 15px;
    border: none;
    outline: none;
    color: var(--black);
    padding: 10px;
    box-shadow: -4px 4px 10px var(--dkbg);
    height: auto;
    font-size: 20px;
    width: 300px;
}
/* #endregion || Contact */

/* #region || Footer */
footer {
    display: grid;
    text-align: center;
    background-color: var(--orange);
    padding-top: 20px;
    grid-gap: 0.5rem;
    justify-items: center;
}
footer section {
    max-width: 350px;
    height: 50px;
    margin: 1rem;
}
#footerContact {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}
#footerMiddle {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
}
footer svg {
    height: 35px;
}
#copyright {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}
/* #endregion || Footer */

/* #region || Dark Mode Styles */
.darkMode {
    color: var(--dktext);
}
.darkMode .heroText h1 {
    color: var(--ltbg);
}
.darkMode footer a {
    color: var(--dktext);
}
.darkMode a:hover {
    color: var(--lttext);
}
.darkMode nav, .darkMode footer, .darkMode #headline {
    background-color: var(--gray);
    border-top: solid var(--orange);
    border-bottom: solid var(--orange);
    color: var(--dktext);
}
.darkMode nav ul a {
    color: var(--orange);
}
.darkMode .active {
    color: var(--dktext);
}
.darkMode main {
    background-color: var(--dkbg);
}
.darkMode #toggleTheme svg:first-child {
    display: none;
}
.darkMode #toggleTheme svg:last-child {
    display: inline;
    background-color: var(--white);
    fill: var(--orange);
}
.darkMode .firstDiv {
   color: var(--dktext);
}
.darkMode form {
    color: white;
}
.darkMode .required {
    color: var(--dkred);
}
.darkMode #mySubmit {
    background-color: var(--orange);
    color: var(--lttext);
}
.darkMode #aboutBottom svg {
    fill: var(--dktext);
}
.darkMode svg {
    fill: var(--dktext);
}
/* #endregion || Dark Mode Styles */