@import url('https://fonts.googleapis.com/css2?family=Maven+Pro&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Recursive:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bitter:wght@300&display=swap');

@font-face {
    font-family: 'Berlin';
    font-weight: 600;
    src: url("/static/BRLNSR.woff");
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('/static/Source_Sans_Pro/SourceSansPro-Light.ttf')
}

@font-face {
    font-family: 'Oswald';
    src: url('/static/Oswald/Oswald-VariableFont_wght.ttf')
}

@font-face {
    font-family : 'Raleway';
    src: url('/static/Raleway/static/Raleway-Regular.ttf ')
}

body {
    --font-main         : #101033;
    --background        : white;
    --tertiary          : #ffeee7;
    --border            : #dcdcdc;

  /*--font-main         : white;
    --background        : #3a3a40;
    --tertiary          : #2a2a30;*/

    --transparency      : rgba(255, 255, 255, 0.5);
    --primary           : #ff2a00;
    --secondary         : #ff5533;
    --global-font       : 'Raleway', sans-serif;
    --page-width        : 70%;
    background          : var(--tertiary);
    font-family         : var(--global-font);
    font-size           : 1.2em;
    margin              : 0em;
}

.projects-preview > ::-webkit-scrollbar {
  height: 10px;
}

.projects-preview > ::-webkit-scrollbar-track {
  background: var(--background);
}

.projects-preview > ::-webkit-scrollbar-thumb {
  background: var(--secondary);
}


h1, h2, h3, form, table, body, .nav-child { 
    color       : var(--font-main);
}

hr {
    border-top      : 0.1em solid snow;
    border-bottom   : none;
}

h1, h2 {
    font-family     : Berlin;
    font-size       : 2em;
    color           : var(--primary);
    border-top      : none;
    margin-top      : 0;
    margin-bottom   : 0;
}

h2, h3 {
    font-family     : Berlin;
    font-size       : 0.7em;
    margin-top      : 0em;
}

a:link, a:visited {
    color           : var(--font-main);
    text-decoration : none;
}

p {
    margin-left     : 1em;
    max-width       : 35em;
}

img {
    border-radius   : 0px; 
}

.landing-image {
    height          : 1080px;
    overflow        : hidden;
}

.landing-image > img {
    width           : 100%;
}

.landing {
    position        : absolute;
    top             : 0;
    height          : 1080px;
    width           : 100%;
    background      : var(--transparency);
}

@keyframes breathe {
    from {opacity : 0%;}
      to {opacity : 25%;}
}

div#scroll-hint {
    position        : absolute;
    display         : flex;
    flex-direction  : column;
    top             : -150px;
    left            : 0;
    width           : 100%;
    height          : 124px;
    transform       : rotate(180deg);
}

div#scroll-hint > svg {
    position    : relative;
    left        : calc(50% - 100px);
    opacity     : 15%;
    animation   : breathe 1.5s infinite alternate;
}

.header-image {
    background      : var(--background);
    position        : sticky;
    z-index         : 2;
    top             : 0px;
    bottom          : 0px;
    border-bottom   : 1px solid var(--primary);
    display         : flex;
    flex-direction  : row;
    width           : calc(100% - 0.5em);
    height          : 62px;
    padding-left    : 0.5em;
    padding-bottom  : 0.5em;
}

.header-image > div:last-child {
    display: flex;
    flex-direction: row;
    margin-left : auto;
}

.header-image > div:last-child > * {
    margin-top :auto;
    margin-left : 1em;
    margin-right: 0.5em;
    color : var(--secondary);
}

.header-image > div:last-child > *:hover {
    color : var(--primary);
    cursor : pointer;
    transition: color 0.3s;
}

.header-image > div:last-child > *:first-child {
    margin-left : auto;
}

.page {
    position        : relative;
    top             : calc(-60px - 0.5em - 3px);
    padding-top     : calc(60px + 0.5em + 3px);
    display         : flex;
    max-width       : 60em;
    flex-direction  : column;
    margin-left     : auto;
    margin-right    : auto;
    margin-bottom   : 4em;
    background      : var(--tertiary);
}

.blurb {
    position        : relative;
    top             : calc(-60px - 0.5em - 3px);
    display         : flex;
    overflow        : hidden;
    margin-bottom   : calc(-60px - 0.5em - 3px);
}

.blurb > div:not(.preview-image) {
    position    : relative;
    padding     : 1em;
    padding-top : calc(60px + 1.5em + 3px);
    margin-left : auto;
    z-index     : 0;
    flex        : 1;
    min-width   : 25%;
    max-width   : 33%;
    background  : rgba(255, 255, 255, 0.9);
    font-size   : 0.8em;
}

.blurb > img {
    position    : absolute;
    width       : 100%;
    z-index     : 0;
}

.article-nav {
    margin-bottom       : 1em;
    display             : flex;
    border-bottom       : 1px solid var(--border);
    background-color    : var(--secondary);
    font-size           : 0.8em;
    color               : white;
    padding             : 0.2em;
}

.article-nav > a {
    width               : 100%;
    color               : white;
    padding             : 0.2em;
}

.article-nav > a:first-child {
    text-align  : left;
}

.article-nav > a:last-child {
    text-align  : right;
}

img#about_img {
    width   : 100%;
    left    : -7.6em;
    top     : -5em;
    display : block;
}

.nav {
    position            : relative;
    background-color    : var(--primary);
    font-size           : 1.2em;
    display             : flex;
    flex-direction      : row;
    width               : 100%;
    padding-top         : 0;
    height              : 0px;
    visibility          : hidden;
    overflow            : hidden;
    bottom              : 0px;
    z-index             : 1;
}

.nav > a {
    flex    : 25%;
}

input[type="checkbox"]:checked ~ .header-image {
    bottom      : 35px;
}

input[type="checkbox"]:checked ~ .nav {
    position    : sticky;
    top         : calc(60px + 0.5em + 1px);
    height      : 35px;
    visibility  : visible;
    z-index     : 1;
}

.nav-button, .nav-article {
    color           : white;
    display         : block;
    font-size       : 0.6em;
    padding-left    : 0.5em;
    text-align      : center;
    line-height     : 35px;
    height          : 35px;
}

.nav-article {
    text-align      : right;
    font-size       : 0.6em;
    padding-right   : 0.6em;
}

a > .nav-button:hover, .nav-article:hover {
    color           : var(--background);
    background      : rgba(0, 0, 0, 0.2);
}

.nav-button:hover > a > .nav-button { 
    display     : flex;
    height      : auto;
}

.edit-button, .g-recaptcha {
    font-family     : var(--gloabl-font);
    font-size       : 1em;
    color           : var(--background);
    background      : var(--secondary);
    text-align      : center;
    border          : none;
    margin-left     : auto;
    margin-top      : 0.2em;
    float           : right;
    height          : 1.6em;
    line-height     : 1.6em;
    width           : 150px;
    cursor          : pointer;
}

.projects-preview {
  /*border-bottom   : solid 3px var(--secondary);*/
    column-count    : 3;
    column-gap      : 0.5em;
    margin-top      : 1em;
    padding         : 1em;
    border-top      : 1px solid var(--border);
    border-bottom   : 1px solid var(--border);
    background      : var(--background);
}

.preview-image {
    flex            : 2;
    max-width       : 66%;
    background      : rgba(255, 255, 255, 0.9);
}

.attribution {
    text-align  : right;
}

.preview-image > img, .preview-image > span, .preview-image > video {
    margin-left     : auto;
    margin-right    : auto;
    display         : none;
}

.preview-image > span {
    position        : absolute;
    bottom          : 0px;
    left            : 0px;
    padding         : 0.5em;
    font-size       : 0.8em;
    text-align      : left;
    background      : rgba(0, 0, 0, 0.6);
    color           : white;
}

.preview-thumbs {
    width           : max-content;
    max-width       : 100%;
    margin-left     : auto;
    margin-right    : auto;
    scrollbar-color : var(--secondary) rgba(0, 0, 0, 0);
    scrollbar-width : thin;
}

.preview-thumbs > a {
    position        : relative;
}
.preview-thumbs > a > img {
    position        : relative;
    margin-bottom   : 0.5em;
    width           : 100%;
  /*border-radius   : 0.5em;*/
}

.preview-thumbs > a:first-child > img {
    margin-left : 0em;
}

.preview-thumbs > a:last-child > img {
    margin-right : 0em;
}

.preview-thumbs > a > img:hover + .thumbs-overlay
, .thumbs-overlay:hover {
    opacity : 100%;
    transition : opacity 0.2s linear;
}

.thumbs-overlay {
    position    : absolute;
    display     : flex;
    bottom      : 0.7em;
    padding-left: 0.5em;
    padding-top : 0.1em;
    min-height  : 2.75em;
    height      : auto;
    width       : calc(100% - 0.75em);
    color       : white;
    background  : rgba(0, 0, 0, 0.6);
    opacity     : 0%;
}

.thumbs-overlay > span {
    padding-bottom  : 0.5em;
    font-size       : 0.8em;
    align-self      : flex-end;
}

.blurb > textarea {
    width       : 40em;
    height      : 30em;
    max-width   : 100%;
    font-size   : 1em; 
}

.blurb > div  > h1, .blurb > div > h2, .dev-panel > h2 {
    font-family     : var(--global-font);
    color           : var(--secondary);
    font-size       : 1.2em;
    margin-bottom   : 0em;
}
.blurb > div > h2 {
    font-size       : 1em;
    margin-top      : 1em;
}

.blurb > img {
    padding-top : calc(60px + 0.5em + 3px);
}

input[type="radio"], input[type="checkbox"] {
  opacity   : 0;
  position  : fixed;
  width     : 0;
}

input[type="radio"]:checked + a {
    position    : relative;
    width       : auto;
    display     : block;
    flex        : 1;
    width       : 100%;
}

input[type="radio"] , img:target { 
    position    : relative;
    padding-top : calc(60px + 0.5em + 3px);
    display     : block;
    max-width   : 100%;
}

img:target + span {
    display     : block;
    width       : auto;
    max-width   : 60%;
}

.dev-panel {
    position        : fixed;
    top             : calc(60px + 0.5em + 5px);
    right           : 0em;
    font-size       : 0.8em;
    display         : flex;
    flex-direction  : column;
    padding         : 1em;
    z-index         : 2;
    background      : rgba(255, 255, 255, 0.9);
    visibility      : hidden;
}

.dev-panel > form > *, .dev-panel > *:not(:first-child) {
    margin          : 0.3em;
    margin-left     : auto;
}

.dev-panel > form {
    text-align      : right;
    display         : flex;
    flex-direction  : column;
}

.color-pallet {
    display         : flex;
    flex-direction  : row;
}

.pallet-square {
    flex    : 1;
    height  : 60px;
    width   : 40px;
}

input[type="file"] {
    display         : none;
}

#footer {
    width       : 100%;
    background  : white;
    border-top  : 1px solid var(--primary);
    height      : 62px;
    color       : var(--font-main);
    font-size   : 0.6em;
    padding     : 0.5em;
    line-height : 2em;
    text-align  : center;
}

#contact-form {
    padding-top     : calc(60px + 0.5em + 3px);
    width           : 100%;
    margin-left     : 10%;
    margin-right    : 10%;
    text-align      : center;
    display         : flex;
    flex-direction  : column;
    margin-top      : 2em;
}

#contact-form > input {
    font-family     : inherit;
    font-size       : 0.8em;
    margin-top      : 0.5em;
    margin-bottom   : 1em;
    text-align      : center;
    background      : white;
    border          : none;
    padding-top     : 1em;
    border-bottom   : 1px solid lightgrey;
}

#contact-form > textarea {
    padding     : 1.2em;
    border      : 1px solid lightgrey;
    margin-top  : 1em;
}

