/* Default HTML conditions */
html {
    font-size: 16px;
    scroll-behavior: smooth;
}

/* Body Customizations */
body {
    background-color: var(--bg);
    margin: 0;
    overflow-x: hidden;
}

/* Preset */
:root {
  --bg: #ffffff;       
  --bg2: #f4f4f4;      
  --text: #181818;     
  --text-light: #4a4a4a;

  --accent1: #E97451;  
  --accent2: #F2C335;  

  --radius: 6px;
}

/* Custom font meant to embed BBH Hegarty */
@font-face {
    font-family: 'BBH Hegarty';
    src: url('fonts/BBHHegarty-Regular.woff2') format('woff2'),
        url('fonts/BBHHegarty-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Custom font meant to embed Fjalla One */
@font-face {
    font-family: 'Fjalla One';
    src: url('fonts/FjallaOne-Regular.woff2') format('woff2'),
        url('fonts/FjallaOne-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Lato family */
.lato-regular {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}

/* Desktop nav bar */
.navigation {
    position: sticky;
    top: 0;
    z-index: 10;
    background: var(--bg);
    max-width: 100vw;
    opacity: 97%;
    box-sizing: border-box;
}
.headerNav {
    display: flex;
    justify-content:space-between;
    background-color: var(--text);
}
.headerNav > ul {
    list-style: none;
    display: flex;
    padding: 0;
    gap: 3.125rem;
    margin: 1rem 1.875rem 1.25rem 0;
    justify-content: flex-end;
}
.headerNav h1 {
    margin: 0 0 0 1.875rem;
    font-family: 'BBH Hegarty', sans-serif;
    justify-content: flex-start;
    font-weight: lighter;
    font-size: 2.5rem;
    letter-spacing: 0.02em;
    color: var(--bg);
    user-select: none;
}
.headerNav a {
    font-family: "Lato", sans-serif;
    text-decoration: none;
    color: var(--bg);
    font-size: 1rem;
    font-weight: bold;
    transition: all 0.5s ease;
}
.headerNav a:hover {
    opacity: 0.5;
}

/* Mobile nav bar */
#menu-toggle {
    display: none;
}
.hamburger {
    display: none;
    cursor: pointer;
    font-weight: bolder;
    color: var(--bg);
    font-size: 2rem;
    user-select: none;
    margin: 0 1.875rem 0 0;
}
.headerNav .mobileNav ul {
    list-style: none;
    line-height: 3;
    text-align: right;
}
.headerNav .mobileNav a {
    text-decoration: none;
    font-family: "Lato", sans-serif;
    font-size: 1.75rem;
    color: var(--bg);
    font-weight: bold;
    transition: all 0.3s ease;
    padding-right: 1.5rem;
}
.mobileNav {
  display: none;
  position: fixed;
  top: 3rem;
  right: 0;
  background: var(--text);
  height: 100dvh;
  width: 50vw;
  padding: 1.75rem;
  box-sizing: border-box;
  z-index: 20;
}
#menu-toggle:checked + .hamburger + .mobileNav {
  display: block;
}
.mobileNav a:hover {
    opacity: 50%;
}

/* Hero section */
#hero {
    scroll-margin-top: 18.75rem;
}
.hero {
    display: flex;
    justify-content: space-between;
}
.notSo {
    display: inline-block;
    background-color: var(--accent1);
    border-radius: var(--radius);
    transform: rotate(3deg);
    padding: 0 0.25rem 0 0.25rem;
}
.hero a {
    text-decoration: none;
    color: var(--bg);
}
.heroText {
    order: 1;
    margin: 12.75rem 0 0 1.875rem;
    user-select: none;
}
.heroText h1 {
    font-family: "Fjalla One", sans-serif;
    letter-spacing: 0.02em;
    font-size: 2.8125rem;
    font-weight: bold;
    line-height: 1.5;
    user-select: none;
}
.heroText p{
    color: var(--text-light);
    font-weight: bolder;
}
.buttonList {
    display: flex;
    gap: 1.875rem;
}
.buttonList button {
    margin-top: 0.625rem;
    padding: 0.75rem;
    border-radius: var(--radius);
    border: none;
    font-weight: bolder;
    background-color: var(--accent1);
    text-align: center;
    font-size: 1rem;
    color: var(--bg);
    letter-spacing: 0.01rem;
    transition: all 0.3s ease;
}
.buttonList a:hover button {
    background-color: var(--accent2);
    transform: scale(1.05);
}
.chessboard {
    order: 2;
    margin: 0 0 6.25rem 0; 
    padding: 0;
    overflow:hidden;
}
.chessboard img {
    width: 47.8125rem;
    height: auto;
}

/* About Me Section */
#aboutMe {
    scroll-margin-top: 7rem;
}
.aboutMe article {
    display: flex;
    justify-content: space-between;
}
.mainText {
    justify-content: flex-end;
    margin: 1.875rem 3rem 0 3rem;
}
.mainText h3 {
    font-family: "Fjalla One", sans-serif;
    font-size: 2.1875rem;
    letter-spacing: 0.02em;
    margin: 0 0 1.25rem 0;
    user-select: none;
}
.mainText p {
    color: var(--text-light);
    font-weight: bold;
    line-height: 1.7;
}
.image img {
  max-width: 37.5rem;
  height: auto;
  border-radius: 1rem;
  margin: 0 0 0 5rem;
  transition: transform 0.4s ease;
  box-shadow: 3px 3px 5px 1px rgb(37, 37, 37);
  justify-content: flex-start;
}
.image img:hover {
    transform: scale(1.03);
}
.quote {
    margin: 1.25rem 0 1.25rem 1.25rem;
    font-weight: bolder;
    font-size: 1.25rem;
    padding-left: 1.25rem;
    border-left: 5px solid var(--accent1);
    color: var(--text);
    user-select: none;
}

/* Quote Section */
#quoteSection {
    scroll-margin-top: 8.75rem;
}
.quoteSection h2{
    display: flex;
    background-color:var(--bg);
    font-size: clamp(3.9rem, 4vw + 1rem, 8rem);
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-top: 9.375rem;
    padding-right: 3rem;
    user-select: none;
}
.quoteSection q {
    padding-bottom: 0.625rem;
    border-bottom: 0.7rem solid var(--accent2);
    letter-spacing: 0.03em;
}
.attribution {
    display: flex;
    justify-content: center;
    margin-left: 2rem;
    margin-bottom: 6.25rem;
}
.quoteSection img {
    max-width: 3.75rem;
    max-height: 3.75rem;
    border-radius: var(--radius);
    margin-right: 0.625rem;
}
.attributionText h3 {
    color: var(--text);
    font-family: "Latos", sans-serif;
    font-weight: bolder;
    font-size: 1.3rem;
    margin: 0.3125rem 0 0 0;
    user-select: none;
}
.attributionText p {
    color: var(--text-light);
    margin: 0.7rem 0 43.75rem 0.0625rem;
    user-select: none;
}

/* So I Did Section */
#attentionGrabber {
    scroll-margin-top: 22rem;
}
.attentionGrabber {
    display: block;
    background-color: var(--text);
    text-align: center;
    margin: 0 0 18.75rem 0;
}
.attentionGrabber h2 {
    margin-left: 0;
    text-align: center;
    color: var(--bg);
    background-color: var(--text);
    font-size: clamp(4rem, 4vw + 1.5rem, 8rem);
    letter-spacing: 0.03em;
    user-select: none;
}

/* Ventures Section */
#ventures{
    scroll-margin-top: 4.5rem;
}
.content {
    display: flex;
    position: relative;
    justify-content: center;
}
.venturesh2{
    display: block;
    margin: 0 0 1.5625rem 0; 
}
.venturesNote {
  position: absolute;    
  top: -5.9375rem;          
  left: 61%;                
  width: clamp(3rem, 10vw + 2rem, 11rem);
  pointer-events: none;
  transform: rotate(10deg);
}
.yt img, .tci img, .website img {
    max-width: 20.3125rem;
    width: 100%;
    height: auto;
    transition: all 0.7s ease;
}
.yt {
    display: inline-block;
    text-align: center;
    margin: 0 6.25rem 0 3.125rem;
}
.tci {
    display: inline-block;
    text-align: center;
    margin: 0 3.125rem 0 3.125rem;
}
.website {
    display: inline-block;
    text-align: center;
    margin: 0 3.125rem 0 6.25rem;
}
.ytText, .tciText, .webText {
    opacity: 0;
    transform: translateY(-30px);
    transition: all 1s ease;
}
.ytText h3, .tciText h3, .webText h3 {
    font-family: "Fjalla One", sans-serif;
    letter-spacing: 0.03em;
    font-size: 1.875rem;
    margin: 0.625em 0 0.625em 0;
}
.ytText a, .tciText a, .webText a {
    text-decoration: none;
    color: var(--accent1);
    transition: all 0.5s ease;
}
.ytText a:hover, .tciText a:hover, .webText a:hover{
    color: var(--accent2);
}
.ytText p, .tciText p, .webText p {
    font-weight: bold;
    color: var(--text-light);
    font-size: 0.9375rem;
    line-height: 1.3;
}
.yt:hover .ytText, .tci:hover .tciText, .website:hover .webText {
    opacity: 1;
    transform: translateY(0px);
}
.yt:hover img, .tci:hover img, .website:hover img {
    filter: brightness(0.9);
}

/*Works Section*/
.works{
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-template-rows: auto;
    justify-items: center;
}
.yellowYay h2{
    background-color: var(--accent2);
    margin-top: 5rem;
}
.works img {
    transition: transform 0.4s ease;
    margin: 0;
}
.works img:hover {
    transform: scale(1.03);
}
.leftTop img, .leftBottom img, .rightTop img {
    max-width: 25rem;
    max-height: auto;
    margin: 0;
    border-radius: 10px;
    box-shadow: 3px 3px 5px 1px rgb(37, 37, 37);
}
.center img {
    max-width: 30rem;
    max-height: auto;
    border-radius: 10px;
    box-shadow: 3px 3px 5px 1px rgb(37, 37, 37);
}
.leftTop img {
    margin-bottom: 3.1rem;
}
.rightTop {
    margin-bottom: 3.75rem;
}
.left {
    grid-column: 1;
    grid-row: 1;
}
.center {
    grid-column: 2;
    grid-row: 1;
}
.right {
    grid-column: 3;
    grid-row: 1;
}
.rightText a {
    text-decoration: none;
    background: linear-gradient(45deg,var(--accent2),var(--accent1));
    background-clip: text;
    color: transparent;
}
.rightText h3 {
    font-family: 'BBH Hegarty', sans-serif;
    letter-spacing: 0.02em;
    font-size: 3.1rem;
    margin: 0 1rem 0 1rem;
    text-align: center;
    transition: all 0.4s ease;
}
.rightText h3:hover {
    transform: scale(1.03);
    opacity: 85%;
}
.rightText p {
    color: var(--text-light);
    font-weight: bolder;
    line-height: 1.7;
    margin: 0 1rem 0 1rem;
}
.rightText {
    justify-self: center;
    align-self: center;
}
.rightQuote p{
    font-family: "BBH Hegarty", sans-serif;
    margin: 1.5rem 0 1.5rem 1rem;
    font-weight: lighter;
    font-size: 1rem;
    padding-left: 0.5rem;
    border-left: 5px solid var(--accent2);
    color: var(--text);
    user-select: none;
}

/* Contact Me Section */
#contactMe {
  scroll-margin-top: 7.75rem;
}
.contactMe h2 {
    margin-bottom: 0;
}
.contactForm {
    margin: 0 0 0 clamp(0.75rem, 3vw + 1rem, 5.25rem);
}
.contactForm h3 {
    font-family: "Fjalla One", sans-serif;
    color: var(--accent1); 
    font-weight: lighter;
    margin: 1.25rem 0 0.625rem 0;
    font-size: 2.1875rem;
    user-select: none;
}
.contactForm button {
    border: none;
    margin-top: 3.125rem;
    font-size: 1.25rem;
    font-family: "Latos", sans-serif;
    font-weight: bolder;
    color: var(--bg);
    background-color: var(--accent1);
    padding: 0.4375rem clamp(1rem, 19vw + 1.35rem, 23rem) 0.4375rem clamp(1rem, 19vw + 1.35rem, 23rem);
    border-radius: var(--radius);
    transition: all 0.5s ease;
    margin-bottom: 3.125rem;
    letter-spacing: 0.04em;
}
.contactForm button:hover {
    transform: scale(1.03);
    box-shadow: 0px 0px 15px var(--accent2);
}
.contactForm input {
    border: 3px solid var(--accent1);
    border-radius: var(--radius);
    height: 1.5625rem;
    width: clamp(3rem, 40vw + 4.75rem, 50rem);
    outline: none;
    font-family: "Latos", sans-serif;
    font-weight: bold;
    color: var(--text);
}
.contactForm:focus-within button {
    box-shadow: 0px 0px 15px var(--accent2);
}
.contactForm .message {
    height: 3.125rem;
    border: 3px solid var(--accent1);
    border-radius: var(--radius);
    width: clamp(3rem, 40vw + 4.75rem, 50rem);
    outline: none;
    font-family: "Latos", sans-serif;
    font-weight: bold;
    color: var(--text);
    resize: none;
}

/* Footer */
#footerElement {
    display: flex;
    gap: clamp(5rem, 10vw + 2rem, 19rem);
    margin-bottom: 3.125rem;
    justify-content: center;
}
footer h3 {
    font-family: "BBH Hegarty", sans-serif;
    letter-spacing: 0.04em;
    color: var(--accent1);
    font-size: 2.185rem;
    user-select: none;
}
.copyright {
    margin-left: 2.5rem;
    user-select: none;
}
.footerNav, .links{
    list-style: none;
    line-height: 1.4;
}
.footerNav h3 {
    color: var(--accent2);
}
.footerNav a, .links a, .copyright p{
    text-decoration: none;
    font-family: "Latos", sans-serif;
    color: var(--text-light);
    font-weight: bold;
}
.links {
    margin-right: 2rem;
}
footer a {
    transition: all 0.5s ease;
}
footer a:hover {
    opacity: 0.5;
}

/* Element exclusive */
h2 {
    display: inline-block;
    font-family: "BBh Hegarty", sans-serif;
    margin: 1.5rem 0 3rem clamp(0.75rem, 3vw + 1rem, 5.25rem);
    font-weight: lighter;
    font-size: 2.8125rem;
    background-color: var(--accent1);
    border-radius: var(--radius);
    padding: 0 0.5rem 0 0.5rem;
    user-select: none;
}
p {
    font-family: "Lato", sans-serif;
}
hr {
    margin: 3.125rem auto 3.125rem auto;
    border: none;
    height: 0.4375rem;
    background-color: var(--accent1);
    max-width: 90%
}

/* Media Inquiries */
@media (max-width: 1400px) {
    .center {
        display: none;
    }
}
@media (max-width: 1200px) {
    .image img {
        margin-left: 2rem;
        width: 95%;
        height: auto;
        margin-right: 1rem;
    }
    .aboutMe .mainText {
        margin-top: 1rem;;
    }
}
@media (max-width: 1100px) {
    .content {
        flex-direction: column;
    }
    .yt {
        margin:0 0 2rem 0;
    }
    .tci {
        margin:0 0 2rem 0;
    }
    .website {
        margin:0 0 2rem 0;
    }
    .venturesNote {
        top: -9.5rem;          
        left: 65%;
        width: 8.25rem;
    }
}
@media (max-width: 1000px) {
    .center {
        display: inline;
    }
    .works {
        flex-direction: column;
        display: block;
    }
    .leftTop img, .leftBottom img, .center img, .rightTop img {
        display: block;
        max-width: 60%;
        margin: 0 auto 3.75rem auto;
    }
    footer {
        flex-direction: column;
    }
    footer ul {
        margin: 0;
        justify-content: center;
    }
}
@media (max-width: 925px) {
    .headerNav > ul {
        display: none;
    }
    .hamburger {
        display: block;
        margin-left: auto;
    }
}
@media (max-width: 850px) {
    .aboutMe article {
        flex-direction: column;
    }
    .image img {
        display: block;
        justify-self: center;
        margin: 0;
        width: 70%;
        height: auto;
        margin-left: 1rem;
        margin-right: 1rem;
    }
    .aboutMe .mainText {
        display: block;
        align-self: center;
        margin: 2rem 1rem 2rem 1rem;
    }
}
@media (max-width: 576px) {
    .hero {
        flex-direction: column;
        justify-content: center;
        justify-items: center;
    }
    .chessboard {
        order: 1;
        max-width: 100%;
        max-height: auto;
        margin: 0;
        display: block;
    }
    .heroText {
        align-items: center;
        order: 2;
        margin: 1rem 0 10rem 1rem;
    }
    .image img {
        width: 90%;
    }
    .quoteSection {
        flex-direction: column;
    }
    .attribution {
        margin: 0;
    }
    .leftTop img, .leftBottom img, .center img, .rightTop img {
        max-width: 90%;
    }
    .hr {
        margin: 1rem 0 1rem 0;
        padding: 0;
        align-self:left;
        width: 100%;
    }
}