/* 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;
}
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;
}

/* KF */

/* Typefaces */
@font-face{
    font-family: 'Caslon';
    src: url('../type/ACaslonPro-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face{
    font-family: 'Caslon';
    src: url('../type/ACaslonPro-Italic.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}
@font-face{
    font-family: 'Favorit';
    src: url('../type/ABCFavoritMono-Book.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Highlight Color */
::-moz-selection{
  background-color: #C6DBCF;
  color: #333333;
}
::selection{
  background-color: #C6DBCF;
  color: #333333;
}

/* Top-Level */
html{
  scroll-behavior: smooth;
  font-size: 13px;
  font-family: 'Favorit', sans-serif;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  background-color: #91AD9F;
  color: #EAE6E3;
}

/* Body */
body{
  margin: 1vw;
  background-size: 5vw 5vw;
  background-image: radial-gradient(circle, #202521 2px, rgba(0, 0, 0, 0) 2px);
}

.column_container{
  width: 100%;
  display: flex;
  flex-direction: row;
}

.left_column{

}
.right_column{
  height: calc(100vh - 2em);
}

svg{
    block-size: calc(100vh - 2em);
}

/* Typography */
i, em{
  font-style: italic;
}

/* Prevent FOUC */
#header_left,
#header_right,
#about_primary,
#about_secondary_desktop,
#about_secondary_mobile,
#team,
#clients,
#contact,
#disclaimer,
#copyright {
  visibility: hidden;
}

h1{
  font-family: 'Caslon', serif;
  font-size: 3.4rem;
  line-height: 3rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

h2{
  font-size: 1.3rem;
}

.block{
  padding-bottom: 5rem;
}

/* Links */
a, a:visited, button{
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  opacity: 1;
  -webkit-transition: opacity 0.5s cubic-bezier(0.230, 1.000, 0.320, 1.000);
     -moz-transition: opacity 0.5s cubic-bezier(0.230, 1.000, 0.320, 1.000);
       -o-transition: opacity 0.5s cubic-bezier(0.230, 1.000, 0.320, 1.000);
          transition: opacity 0.5s cubic-bezier(0.230, 1.000, 0.320, 1.000);
}
a:hover, button:hover{
  opacity: 0.4;
}

/* Buttons */
button{
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  background-color: inherit;
  text-align: inherit;
  cursor: pointer;
  user-select: auto;
  display: inline;
}

#contact_button{
  padding: 30px;
  background-color: rgba(0, 0, 0, .1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  z-index: 9999;
  position: fixed;
  bottom: 1rem;
  left: 1rem;
  border-radius: 15px;
  transition: backdrop-filter 0.2s, color 0.2s;

}

#contact_button:hover{
  backdrop-filter: blur(3px);
  color: #31E691;
}

#copyright {
  position: sticky;
  top: 96vh;
}

/* Secondary About */
#about_secondary_desktop{
  display: block;
}

/* Team (Mobile) */

.team_member_biography{
  opacity: 0;
  display: none;
  --baselines: 3;
  -webkit-transition: opacity 0.5s;
     -moz-transition: opacity 0.5s;
       -o-transition: opacity 0.5s;
          transition: opacity 0.5s;
}

.team_member_biography.visible {
  opacity: 1;
}
/* Media Queries */

/* Large Screen Media Query */
@media (min-width: 1750px) {
  html{
    font-size: 0.75vw;
  }
}

/* 1600px Media Query */
@media (max-width: 1600px) {
  html{
    font-size: 12px;
  }
}

/* 1200px Media Query */
@media (max-width: 1200px) {
  html {
    font-size: 10px;
  }
  h1{
    font-size: 3.2rem;
  }
  #copyright{
    position: static;
  }
  body{
    background-size: 10vw 10vw;
  }
}

/* 750px Media Query */
@media (max-width: 750px) {
  html{
    font-size: 15px;
  }
  .column_container{
    flex-direction: column-reverse;
  }
  svg{
    block-size: calc(80vw);
  }
  .right_column{
    height: auto;
  }
}

/* No Hover Media Query */
@media (hover: none){
  a:hover, button:hover{
    opacity: 1;
  }
}
