/* Style colors */
:root {
    --red: #FF3535;
    --lightred: #FDE9E9;
    --grey: #1A1A1A;
}

/* General styling */
html, body {overflow-x: hidden; width: 100%}
body {margin: 0;}
a {text-decoration: none;}
* {font-family: "Overpass", sans-serif;}
h1,h2,h3,h4,h5 {color: var(--grey); font-weight: 800; margin: 0;}
h1 {font-size: 2.25rem;}
h2 {font-size: 1.65rem;}
.highlight {color: var(--red);}

.flex-column {display: flex; flex-direction: column;}
.flex-row {display: flex; flex-direction: row;}

.btn {
    color: white;
    background-color: var(--grey);
    font-size: 1.2rem;
    font-weight: bold;
    border-radius: 1.2rem;
    padding: 0.5rem 1rem;
    text-align: center;
    transition: 0.2s;
    max-width: 10vw;
}
.btn:hover {
    background-color: var(--red);
}


.mbl-only {
    display: none;
}

/* Navbar styling */
nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.25rem 15%;
    height: 2.75rem;
    border-bottom: 5px solid var(--red);
}
nav a {
    font-size: 1.15rem;
    max-height: 2.75rem;
    margin: 0 0.5rem;
    color: var(--grey);
    transition: 0.2s;
}
nav a:hover {color: var(--red); transition: 0.2s;}
nav .active {
}
.logo {
    min-height: 2.75rem;
}

/* Body styling */

.body-container-div {padding: 0;}
.body-container {
    background-color: var(--lightred);
    margin: 1rem 15%;
    min-height: 50px;
    padding: 2rem;
    display: flex;
}
.body-container-r {
    text-align: start;
    justify-content: space-between;
    min-width: 15%;
}
.body-container-c {
    text-align: start;
    justify-content: space-between;
}
.body-container-l {
    justify-content: space-between;
    min-width: 17%;
    max-width: 25%;
}

.headshot {
    border-radius: 17.5rem;
    max-height: 17.5rem;
    max-width: 17.5rem;
}
.headshot-desc {
    justify-content: space-between;
    flex-grow: 2;
}
.headshot-btns {
    justify-content: space-between;
    text-align: end;
}

.featured {
    flex-direction: column;
}
.featured__text {margin-bottom: 1rem;}

.bestwork {
    box-sizing: border-box;
    border-radius: 0.25rem;
    width: 90%;
    box-shadow: 0px 2px 4px rgba(0,0,0,0);
    transition: 0.2s;
    transition-timing-function: ease-in-out;
    border: 5px solid rgba(255, 53, 53, 0.1);
}
.bestwork:hover {
    transform: scale(1);
    box-shadow: 0px 0px 16px rgba(0,0,0,0.2);
    border: 5px solid rgba(255, 53, 53, 0.5);
    border-radius: 0.5rem;
}
.bwButton {
    display: flex;
    align-items: center;
    justify-content: center;
}

.intro {
    background-color: white;
    border-bottom: 5px solid var(--red);
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Expansion CSS */
.body-expanded-closed {
    max-height: 0px;
    transition: 0.75s;
    transition-timing-function: ease-out;
    margin: 0rem 2rem;
    overflow: hidden;
    filter: opacity(0);
}
.body-expanded {
    max-height: 500px;
    margin: 2rem 2rem;
    filter: opacity(1);
}
.expanded-close {
    align-self: flex-end;
}
.expanded-img {
    border-radius: 0.25rem;
    max-height: 12.5rem;
    box-shadow: 0px 2px 4px rgba(0,0,0,0.25);
    margin-right: 2rem;
}
.expanded-title {
    flex-grow: 2;
}
.expanded-title .btn {
    justify-self: center;
}
.expanded-exit {
    justify-self: flex-end;
}

.expanded-whiteout {
    pointer-events: none;
    transform: scale(1.05);
    border: 5px solid rgba(255, 53, 53, 1);
    border-radius: 0.75rem;
}
.closed {
    filter: blur(5px);
    pointer-events: none;
}


.wf {
    max-height: 10rem;
}

.bwdivider {
    border: solid 4px var(--red);
    margin: 0 2rem;
    transition: 0.5s;
    transform: scaleX(0);
}
.bw-divider-open {
    border: solid 4px var(--red);
    transform: scaleX(1);
}

.bwContainer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.exit-btn {
    text-align: center;
    color: white;
    height: 40px;
    width: 40px;
    border-radius: 50px;
    border: none;
    background-color: var(--red);
    font-size: 1.5rem;
    padding: 0;
}
.exit-btn:hover {
    background-color: #1A1A1A;
}
.exit-btn-mbl {
    display: flex;
    justify-content: center;
    align-items: center;

    text-align: center;
    color: white;
    height: 40px;
    width: 100%;
    border-radius: 50px;
    border: none;
    background-color: var(--red);
    font-size: 1.5rem;
    padding: 0;
}


/* FOOTER - WRITE IN GRID */
footer {
    display: grid;
    grid-template-columns: auto auto auto auto;
    grid-template-rows: auto auto;
    margin-top: 1rem !important;

    border-top: 5px solid var(--red);
    background-color: var(--lightred);
    padding: 1rem 15%;
}
footer a {
    color: var(--red);
    text-decoration: underline;
}
.footer__links {
    grid-column: 1;
    grid-row: 1;
}
.footer__copyright {
    grid-column: 1/5;
    grid-row: 2;
}
.footer__contact {
    grid-column: 4;
    grid-row: 1;
}

form {
    font-weight: bold;
    color: var(--grey);
}
form input {
    padding: 6px;
    width: 100%;
    border-radius: 8px;
    border: none;
}


.g__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
}

.g__img {
    width: 100%;
    box-sizing: border-box;
    border: 5px solid rgba(255, 53, 53, 0.1);
    border-radius: 0.5rem;
}
.g__empty {
    background-color: rgba(255, 53, 53, 0.1);
    border-radius: 0.5rem;
}


.g__grid1 { grid-area: 1 / 1 / 2 / 2; }
.g__grid2 { grid-area: 1 / 2 / 2 / 3; }
.g__grid3 { grid-area: 1 / 3 / 2 / 4; }
.g__grid4 { grid-area: 2 / 1 / 3 / 2; }
.g__grid5 { grid-area: 2 / 2 / 3 / 3; }
.g__grid6 { grid-area: 2 / 3 / 3 / 4; }

.wf__flex {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 1rem;
    grid-row-gap: 0px;
}
.wf__img {
    width: 100%;
}
.wf--1 { grid-area: 1 / 1 / 2 / 2; }
.wf--2 { grid-area: 1 / 2 / 2 / 3; }
.wf--3 { grid-area: 1 / 3 / 2 / 4; }