/*

COLOR PALLETE

FONT STYLES

*/

/*

CSS DIRECTORY
1. Global
2. Layout
3. Page Parts
4. Components
5. Sections and Pages

*/


/* --- GLOBAL --- */

/* Fonts */

@font-face {
  font-family: 'Std';
  font-weight: normal;
  font-style: normal;
  src: url(/assets/fonts/std.otf);
}


html {
  /* -webkit-font-smoothing: antialiased; */
  text-rendering: optimizeLegibility; 
}

/* Clears */

html, body {
  height:100%;
  overflow-x:hidden;
}

*, *:before, *:after {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  border: 0px solid;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  list-style: none;
  line-height: inherit;
  color: inherit;
  text-align: inherit;
  text-decoration: none;
  border-collapse: collapse;
  -webkit-border-horizontal-spacing: 0px;
  -webkit-border-vertical-spacing: 0px;
  transition: opacity .25s;
}

a img {
  display: block;
}


/* Type */

body {
  background: #FFF;
  margin: 0 0;
  color: #000;
}

h1 {
  position: absolute;
  top: -4px;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 0;
}

h1 a {
  height: 30px;
  background-image: url("/assets/images/rgTypeBlack.svg");
  background-size: contain;
  background-repeat: no-repeat;
  text-indent: -100em;
  overflow: hidden;
  display: block;
  width: 200px;
}

h2, h3, h4, h5, h6 {

}

h3 {
  margin-bottom: 2.64em;
}

h3 span.subhead {
  display: block;
}

h4 {
  /* text-align: center;
  margin-bottom: 1.32em; */
}

p {
  margin-bottom: 1em;
}

p:last-child {
  margin-bottom: 0;
}

.weak {

}

em {
  font-style: italic;
}

a {
  cursor: pointer;
}


/* Type Sizing */
/* In one placefor Consistency  */

body,
.medium {
  font: 22px/29px Std, sans-serif;
}

nav,
figure,
footer {
  font-size: 16px;
  line-height: 21px;
}

footer {
  line-height: 26px;  
}

/* h1 {
  font: 22px/29px Std, sans-serif;
} */

.small {
  font: 12px/20px Std, sans-serif;
}


/* Forms */

input:focus {
  outline: none;
  border: none;
}

button {
  background: inherit;
  cursor: pointer;
}

button:focus {
  outline:0;
}

[type="radio"] {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px; margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}



/* ---- LAYOUT ---- */

#container {
  max-width: 1150px;
  margin: 0 auto;
  padding: 50px 50px 0 50px;
}

main {
  max-width: 950px;
  margin: 0 auto 200px auto;
  overflow: hidden;
}

nav {
  max-width: 1150px;
  margin: 0 auto;
  margin-bottom: 300px;
  position: relative;
  z-index: 999;
}


/* Columns & Rows */

.rows {
  clear: both;
  overflow: hidden;
}

.rows .cell {
  float: left;
}
.rows.two .cell {
  width: calc((100% - 75px) / 2);
}

.rows.two .cell:nth-child(n+3) {
  margin-top: 75px;
}

.rows.two .cell:nth-child(odd) { /* left */
  margin-left: 0;
  margin-right: 37.5px;
  clear: left;
}

.rows.two .cell:nth-child(even) { /* right */
  margin-left: 37.5px;
  margin-right: 0px;
  clear: right;
}


/* ---- PAGE PARTS ---- */

/* Header and Nav */

nav ul {
  height: 50px;
}

nav ul li {
  display: inline;
  margin-right: 40px;
}

nav ul ol,
nav #navContact p {
  display: none;
}

nav #navContact {
  float: right;
  text-align: right;
  margin-right: 0;
}

#toggleMobileNav {
  display: none;
}


/* Main Content Area */

#text,
#image,
#text + #images > figure:first-child {
  width: 437px;
  float: left;
  margin-bottom: 100px;
}

#text {
  margin-right: 75px;
}

#image img,
main figure img {
  width: 100%;
}

#text + #images figure:nth-child(n+2) {
  width: 100%;
}

figcaption {
  margin-top: 1em;
}

main figure img {
  display: block;
}

main p a,
figcaption a,
h3 a  {
  border-bottom: 2px solid;
}

main p a:hover {
  color: #CCC;
  border-color: #CCC;
}


/* Footer */

footer {
  background: #000;
  color: #FFF;
  margin-left: -9999px;
  margin-right: -9999px;
  padding: 150px 9999px 100px 9999px;
}

.footer-grid {
  max-width: 1150px;
  margin: 100px auto 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 75px; 
}

footer .small a:hover {
  border-bottom: 1px solid;
}



/* ---- COMPONENTS ---- */

/* Thumbnails */

#thumbnails {
  margin: 150px 0 200px 0;
  position: relative;
  overflow: auto;
  display: grid;
  /* width: 1150px; */
  grid-template-columns: repeat(3, 1fr);
  gap: 100px;
}

#thumbnails li {
  /* width: 33%;
  float: left; */
}

#thumbnails li img {
  width: 100%; 
  display: block;
}

/* Captions */

.imageInquiry {
  margin-top: 1em;
}

/* Video */

#video {
  background: #000;
  color: #FFF;
  margin-left: -9999px;
  margin-right: -9999px;
  padding: 50px 9999px;
  text-align: center
}

.video-wrapper {
  max-width: 950px;
  margin: 0 auto;
}

.video-inner {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}

.video-inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Logo */

.rgLogo {
  margin: 0 auto;
  display: block;
}

.rgLogo img {
  display: block;
  margin: 0 auto;
}

/* Overlay */

body.overlay {
  overflow: hidden; /* prevent scroll behind overlay */
}

body.overlay #overlay {
  display: flex;
}

#overlay {
  display: none; /* keep hidden initially */
  position: fixed;
  top:0; left:0;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.9); /* dim background */
  z-index: 9999;
  padding: 20px;
  box-sizing: border-box;
  overflow-y: auto;

  /* Flex centering */
  justify-content: center;
  align-items: center;
}

#overlay figure {
  display: inline-block;
  max-width: calc(100vw - 50px);
  text-align: left;
  position: relative;
}

#overlay figure img {
  display: block;
  max-height: calc(100vh - 200px);
  max-width: calc(100vw - 100px);
  width: auto;
  margin: 0 auto;
}

#overlayClose {
  position: absolute;
  right: 25px;
  top: 25px;
  /* background: transparent url('/assets/images/closeWhite.svg') top left no-repeat; */
  /* width: 22px;
  height: 22px; */
  text-align: right;
  display: block;
  /* text-indent: -100em; */
  /* overflow: hidden; */
  color: #FFF;
  display: none;
}

#overlay figure:hover {
  cursor: pointer;
}

#overlay figure:hover #overlayClose {
  display: block;
}


/* --- SECTIONS AND PAGES --- */


/* Home */

.home {
  background: #000;
}

.home #heroImage {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
}

.home #heroImage img {
  width: 100%;
  display: block;
}

.home .darkmode nav {
  color: #FFF;
}

.home .darkmode h1 a {
  background-image: url("/assets/images/rgTypeWhite.svg");
}

/* Artists */

.artists main {
  margin-bottom: 0;
}

.artists main + footer {
  margin-top: 200px;
}

/* Projects */

.projectList li {
  list-style: disc inside;
}

.projectList li a {
  border-bottom: 2px solid;
}


/* Helpers */

.hidden {
  display: none;
}

.invisible {
  visibility: hidden;
}

.visible {
  visibility: visible !important;
}

.clear {
  clear: both;
  overflow: hidden;
}

.nobreak {
  white-space: nowrap;
}

.clickable {
  cursor: pointer;
}

input::placeholder {
  color: #7a7b7b;
  line-height:1em;
}

input:focus::placeholder {
    opacity: 0;
}
