@charset "utf-8";

/* =====================================
          UNIVERSAL RULES
===================================== */

@font-face {
  font-family: "blackout";
  src: url("blackout.woff2") format("woff2"), url("blackout.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "midnight";
  src: url("midnight.woff2") format("woff2"), url("midnight.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
body {
  margin: 0px;
  padding: 0px;
  font-size: 1.25vw;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  overflow-x: hidden;
  background-color: #ffffff;
}
body[data-mode="dark"] { 
  background-color: #1a1a1a;
  color: #CCCCCC;
}
/* Large Screen */
@media screen and (min-width: 1601px) {
  body {
    font-size: 20px;
  }
}
/* Default Absolute Positioning Properties */
div#imageView,
div#mobile,
div.flex, 
div#videoBackgroundOverlay > div, 
div.websites > div,
div.preview > a,
div.textBlock > div > div > a,
div#imageView a#x,
nav#menu > ul > li > a,
div#logo > div,
div#logo > div > a,
div.showcase > div > a > img,
div.icon > div, 
div.icon > a,
div.topLink > a, 
div.topLink > a > div:nth-of-type(3) {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
/* Default Flex Box Properties */
div.flex, 
div.showcase, 
div.textBlock > div,
footer > div,
footer > div > div:nth-of-type(1),
div.topLink > a {
  margin: 0px;
  padding: 0px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-content: center;
  align-content: center;
  -webkit-align-items: center;
  align-items: center;
}
/* Outlined Text Rules */
section.web h2, 
section.web h3, 
div.textBlock > h2, 
section#description h2,
section.graphics h3,
nav#menu > ul > li[data-status="1"],
ul.sub li > a:hover {
  font-family: 'midnight';
  color: #FFFFFF;
  text-shadow: 2px 2px 0 var(--primary-dark), 2px -2px 0 var(--primary-dark), -2px 2px 0 var(--primary-dark), -2px -2px 0 var(--primary-dark), 2px 0px 0 var(--primary-dark), 0px 2px 0 var(--primary-dark), -2px 0px 0 var(--primary-dark), 0px -2px 0 var(--primary-dark);
}
body[data-mode="dark"] div.textBlock > h2,
body[data-mode="dark"] section.web h2, 
body[data-mode="dark"] section.web h3, 
body[data-mode="dark"] section#description h2,
body[data-mode="dark"] section.graphics h3
{
  color: #1a1a1a;
  text-shadow: 2px 2px 0 var(--primary-light), 2px -2px 0 var(--primary-light), -2px 2px 0 var(--primary-light), -2px -2px 0 var(--primary-light), 2px 0px 0 var(--primary-light), 0px 2px 0 var(--primary-light), -2px 0px 0 var(--primary-light), 0px -2px 0 var(--primary-light);
}










/* =====================================
             MENU RULES
===================================== */

div#navContainer {
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #FFFFFF;
  z-index: 99;
}
body[data-mode="dark"] div#navContainer { 
  background-color: #1a1a1a; 
}
div#navContainer > div {
  position: relative;
  padding: 8.5% 0px 0px 0px;
  width: 100%;
  transition: all 0.75s ease 0s;
  max-width: 1600px;
  margin: auto;
}
nav#menu {
  width: 100%;
  max-width: 1600px;
  margin: 0px;
  font-family: 'blackout';
}
body[data-size="1"] > div#navContainer > div {
  padding: 12.75% 0px 0px 0px;
}
body[data-size="2"] > div#navContainer > div {
  padding: 8.5% 0px 0px 0px;
}
nav#menu ul, nav#menu li {
  list-style: none;
  padding: 0px;
}
nav#menu > ul {
  position: absolute;
  top: 0px;
  bottom: 0px;
  right: 0px;
  left: 22.5%;
  margin: 0px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-content: stretch;
  align-content: stretch
}
nav#menu > ul > li {
  position: relative;
  display: inline;
  float: left;
  width: 15%;
  margin: 0px;
  padding: 0px;
  -webkit-order: 0;
  order: 0;
  -webkit-flex: 0 1 auto;
  flex: 0 1 auto;
  -webkit-align-self: auto;
  align-self: auto;
  box-shadow: inset 0 0 0 0 var(--primary);
}
nav#menu > ul > li:nth-of-type(1) {
  width: 20%;
}
nav#menu > ul > li:nth-of-type(2) {
  width: 22.5%;
}
nav#menu > ul > li > a {
  text-align: left;
  display: block;
  text-decoration: none;
  color: var(--primary-dark);
  font-size: 1.81vw;
}
body[data-mode="dark"] nav#menu > ul > li > a {
  color: var(--primary-light);
}
nav#menu > ul > li > a > span {
  width: 95%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0px 0px 5% 5%;
  transition: position ease-out 0.1s;
}
nav#menu > ul > li > a.drop:after {
  content: "\23F7";
  position: absolute;
  bottom: 2.5%;
  right: 5%;
}
nav#menu > ul > li[data-status="1"] > a.drop:after {
	color: #FFFFFF;
}
nav#menu > ul > li[data-status="1"] {
  box-shadow: inset 0 -15vw 0 0 var(--primary);
  transition: box-shadow ease-in 0.2s;
}
nav#menu > ul > li[data-status="1"] a {
  color: #FFFFFF;
}
nav#menu > ul > li[data-status="1"] span {
  color: #FFFFFF;
  bottom: 20%;
  animation: growDown 300ms ease-in-out forwards;
}
@media screen and (min-width: 1601px) {  
  div#navContainer > div {
    padding: 204px 0px 0px 0px;
  }
  body[data-size="1"] > div#navContainer > div {
    padding: 204px 0px 0px 0px;
  }
  body[data-size="2"] > div#navContainer > div {
    padding: 136px 0px 0px 0px;
  }
  nav#menu > ul {
    width: 1600px;
    margin: 0px auto;
    left: 356px;
  }
  nav#menu > ul > li {
    width: 184px;
  }
  nav#menu > ul > li:nth-of-type(1) {
    width: 245px;
  }
  nav#menu > ul > li:nth-of-type(2) {
    width: 276px;
  }
  nav#menu > ul > li > a {
    font-size: 29.25px;
  }
  nav#menu > ul > li > a > span {
    padding: 0px 0px 12.5px 12.5px;
  }
  nav#menu > ul > li > a.drop:after {
    bottom: 5.25px;
    right: 12.5px;
  }
  nav#menu > ul > li[data-status="1"] {
    box-shadow: inset 0 -15vw 0 0 var(--primary);
  }
  nav#menu > ul > li[data-status="1"] span {
    bottom: 40.8px;
  }
}


/* ======= SUB MENU  ======= */

div#mobile {
  display: none;
  z-index: 100;
}
ul.sub {
  height: auto;
  overflow: hidden;
  background: var(--primary);
  position: relative;
  width: 100%;
  top: 100%;
  z-index: 99;
  display: none;
  animation: growDown 300ms ease-in-out forwards;
  transform-origin: top center;
}
ul.sub li {
  display: block;
  width: 100%;
  font-family: 'midnight';
}
ul.sub a {
  font-size: 1.42vw;
  padding: 6% 5%;
  font-style: 'midnight';
  color: #FFFFFF;
  display: block;
  line-height: 0.9em;
  text-decoration: none;
}
body[data-mobile="0"] > div#navContainer > div > nav#menu > ul > li:hover > ul.sub {
  display: block;
}
ul.sub li:hover > a {
  background: #FFFFFF;
  color: var(--primary);
}
@media screen and (min-width: 1601px) { 
  ul.sub a {
    font-size: 20px;
    padding: 12.25px 14.5px;
    line-height: 0.9em;
  }
}


/* ============ LOGO BOX  ============ */

div#logo {
  position: absolute;
  left: 0;
  top: 0;
  margin: 0px;
  z-index: 101;
  transition: all 0.75s ease 0s;
}
body[data-size="1"] div#logo {
  left: 5%;
  width: 15%;
  padding: 15% 0px 0px 0px;
}
body[data-size="2"] div#logo {
  left: 7.5%;
  width: 8.5%;
  padding: 10% 0px 0px 0px;
}
div#logo > div > a {
  z-index: 101;
}
div#logo > div > div {
  position: relative;
  width: 100%;
  background-repeat: no-repeat;
  background-size: 100%;
  margin: 0px;
  padding: 0px;
}
div#logo > div > div:nth-of-type(1), 
div#logo > div > div:nth-of-type(2) {
  padding: 85% 0px 0px 0px;
}
div#logo > div > div:nth-of-type(1) {
  background-position: bottom center;
  background-image: url("../i/e/l1.png");
  z-index: 100;
}
body[data-mode="dark"] div#logo > div > div:nth-of-type(1) { 
  background-image: url("../i/e/d/l1.png");
}
div#logo > div > div:nth-of-type(2) {
  background-color: var(--primary);
  position: absolute;
  top: 1px;
  transform: scale(0.95);
  z-index: 99;
}
body[data-mode="dark"] div#logo > div > div:nth-of-type(2) {
  background-color: var(--primary-light);
}
div#logo:hover > div > div:nth-of-type(2) {
  background-color: var(--accent);
}
body[data-mode="dark"] div#logo:hover > div > div:nth-of-type(2) {
  background-color: var(--accent-light);
}
div#logo > div > div:nth-of-type(3) {
  padding: 15% 0px 0px 0px;
  background-position: top center;
  background-image: url("../i/e/l2.png");
}
body[data-mode="dark"] div#logo > div > div:nth-of-type(3) { 
  background-image: url("../i/e/d/l2.png");
}
@media screen and (min-width: 1601px) { 
  body[data-size="1"] div#logo {
    width: 240px;
    padding: 240px 0px 0px 0px;
  }
  body[data-size="2"] div#logo {
    width: 135px;
    padding: 160px 0px 0px 0px;
  } 
}


/* ======= MENU ANIMATIONS  ======= */

@keyframes growDown {
  0% { transform: scaleY(0) }
  80% { transform: scaleY(1.1) }
  100% { transform: scaleY(1) }
}
@keyframes growup {
  0% { transform: scaleY(0) }
  80% { transform: scaleY(-1.1) }
  100% { transform: scaleY(-1) }
}










/* =====================================
                ICONS
===================================== */

div.icon {
  display: block;
  width: 100%;
  padding: 100% 0px 0px 0px;
  position: relative;
}
div.icon > div:nth-of-type(1) {
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100%;
  z-index: 2;
}
div.icon > a {
  z-index: 3;
}
div.icon > div:nth-of-type(2) {
  background-color: var(--primary-dark);
  transform: scale(0.9);
  z-index: 1;
}
div.icon:hover > div:nth-of-type(2) {
  background-color: var(--primary);
}
body[data-mode="dark"] div.icon > div:nth-of-type(2) {
  background-color: var(--primary);
}
body[data-mode="dark"] div.icon[data-icon="mode"] > div:nth-of-type(2), 
body[data-mode="dark"] div.icon[data-icon="menu"] > div:nth-of-type(2) {
  background-color: var(--primary-lighter);
}
body[data-mode="dark"] div.icon:hover > div:nth-of-type(2) {
  background-color: var(--primary-lighter);
}
body[data-mode="dark"] div.icon[data-icon="mode"]:hover > div:nth-of-type(2), 
body[data-mode="dark"] div.icon[data-icon="menu"]:hover > div:nth-of-type(2) {
  background-color: var(--accent-lighter);
}
div.icon:active > div:nth-of-type(2) {
  background-color: var(--accent);
}
body[data-mode="dark"] div.icon:active > div:nth-of-type(2) {
  background-color: var(--primary-dark);
}
div#navContainer > div > div.icon {
  position: absolute;
  width: 4vw;
  height: 4vw;
  bottom: 0px;
  right: 0px;
  padding: 0px;
  cursor: pointer;
}
/* Light Mode */
div.icon[data-icon="menu"] > div:nth-of-type(1) { background-image: url("../i/e/m.png")}
div.icon[data-icon="mode"] > div:nth-of-type(1) { background-image: url("../i/e/mode.png")}
div.icon[data-icon="linkedin"] > div:nth-of-type(1) { background-image: url("../i/e/sl.png")}
div.icon[data-icon="youtube"] > div:nth-of-type(1) { background-image: url("../i/e/sy.png")}
div.icon[data-icon="instagram"] > div:nth-of-type(1) { background-image: url("../i/e/si.png")}
div.icon[data-icon="email"] > div:nth-of-type(1) { background-image: url("../i/e/se.png")}
/* Dark Mode */
body[data-mode="dark"] div.icon[data-icon="menu"] > div:nth-of-type(1) { background-image: url("../i/e/d/m.png")}
body[data-mode="dark"] div.icon[data-icon="mode"] > div:nth-of-type(1) { background-image: url("../i/e/d/mode.png")}
body[data-mode="dark"] div.icon[data-icon="linkedin"] > div:nth-of-type(1) { background-image: url("../i/e/d/sl.png")}
body[data-mode="dark"] div.icon[data-icon="youtube"] > div:nth-of-type(1) { background-image: url("../i/e/d/sy.png")}
body[data-mode="dark"] div.icon[data-icon="instagram"] > div:nth-of-type(1) { background-image: url("../i/e/d/si.png")}
body[data-mode="dark"] div.icon[data-icon="email"] > div:nth-of-type(1) { background-image: url("../i/e/d/se.png")}
@media screen and (min-width: 1601px) { 
  div#navContainer > div > div.icon {
    width: 64px;
    height: 64px;
  }
}









/* =====================================
          SECTION RULES
===================================== */

section, div.divider {
  position: relative;
  display: block;
  width: 100%;
  background-color: #FFFFFF;
  background-size: cover;
  background-repeat: no-repeat;
}
body[data-mode="dark"] section, body[data-mode="dark"] div.divider { 
  background-color: #1a1a1a; 
}
section#subPage {
  padding: 40% 0px 0px 0px;
  background-position: center center;
  background-attachment: fixed;
}
section#subPage h1, 
div.divider h1, 
div.divider a {
  display: block;
  width: 100%;
  text-align: center;
  font-family: "blackout";
}
section#subPage h1 {
  width: 100%;
  margin: 15% auto 0% auto;
}
div.divider {
  background-attachment: fixed;
  background-position: center top;
  padding: 30vw 0px 0px 0px;
}
section > div.flex, 
div.divider > div.flex {
  background-color: rgba(0, 0, 0, 0.5);
}
section#info {
  padding: 50px 10%;
  width: auto;
}
section#subPage h1, div.divider h1 {
  font-size: 5.7vw;
  color: #FFFFFF;
}
div.divider > a,
div.divider > div > a, 
section#contact > a {
  position: absolute;
  font-size: 5.7vw;
  font-family: "blackout";
  color: #FFFFFF;
  line-height: 90%;
  text-decoration: none;
  z-index: 1;
}
body[data-mode="dark"] div.divider > a > span, 
body[data-mode="dark"] section#contact > a > span {
  font-family: "midnight";
  background-color: #1a1a1a;
  color: #CCCCCC;
  padding: 10px 20px 0px 20px;
}
div.divider a#about {
  bottom: 0;
  right: 10%;
  text-align: right;
}
body[data-size="1"] > div.divider a {
  padding: 14% 0px;
}
body[data-size="2"] > div.divider a {
  padding: 10% 0px;
}
body[data-size="1"] a#about {
  padding: 14% 0px 0px 0px;
}
body[data-size="2"] a#about {
  padding: 10% 0px 0px 0px;
}
div#abt { background-image: url("../i/bg/abt.jpg"); }
div#crd { background-image: url("../i/bg/crd.jpg"); }
div#lgo { background-image: url("../i/bg/lgo.jpg"); }
div#pst { background-image: url("../i/bg/pst.jpg"); }
div#wbc { background-image: url("../i/bg/wbc.jpg"); }
div#prt { background-image: url("../i/bg/prt.jpg"); }
section[data-hash="soc"], div#soc { background-image: url("../i/bg/soc.jpg"); }
section[data-hash="coc"], section[data-hash="liv"] { background-image: url("../i/bg/liv.jpg"); }
section[data-hash="vid"], section[data-hash="fff"] { background-image: url("../i/bg/vid.jpg"); }
section[data-hash="edu"], section[data-hash="800"], section[data-hash="buz"] { background-image: url("../i/bg/edu.jpg"); }
section[data-hash="gfx"] { background-image: url("../i/bg/gfx.jpg"); }
section[data-hash="ads"] { background-image: url("../i/bg/ads.jpg"); }
section[data-hash="doc"] { background-image: url("../i/bg/doc.jpg"); }
section[data-hash="cov"] { background-image: url("../i/bg/cov.jpg"); }
section[data-hash="dyk"] { background-image: url("../i/bg/dyk.jpg"); }
section[data-hash="ytb"] { background-image: url("../i/bg/ytb.jpg"); }
section[data-hash="prd"] { background-image: url("../i/bg/prd.jpg"); }
section[data-hash="wed"] { background-image: url("../i/bg/wed.jpg"); }
section[data-hash="wbd"] { background-image: url("../i/bg/wbd.jpg"); }
section[data-hash="pht"] { background-image: url("../i/p/gal/trv_sga13_f.jpg"); }
section[data-hash="evt"] { background-image: url("../i/p/gal/evt_duc1_f.jpg"); }
section[data-hash="prt"] { background-image: url("../i/p/gal/prt_bby4_f.jpg"); }
section[data-hash="trv"] { background-image: url("../i/p/gal/trv_drp12_f.jpg"); }
@media screen and (min-width: 1601px) {
  section#subPage {
    padding: 640px 0px 0px 0px;
  }
  div.divider {
    padding: 480px 0px 0px 0px;
  }
  section#subPage h1, 
  div.divider > div > h1, 
  div.divider > div > a, 
  section#contact a {
    font-size: 92px;
  }
  section#subPage h1 {
	margin: 240px auto 0px auto;
  }
}









/* =====================================
          FOOTER
===================================== */

footer {
  width: 100%;
  margin: 0px auto;
  padding: 1.5% 0px;
  background-color: #FFFFFF;
  position: relative;
}
body[data-mode="dark"] footer { 
  background-color: #1a1a1a; 
}
footer > div {
	width: 85%;
	max-width: 1360px;
	margin: auto;
}
footer > div > div {
  -webkit-order: 0;
  order: 0;
  -webkit-align-self: auto;
  align-self: auto;
}
div#socials {
  -webkit-flex: 1 1 400px;
  flex: 1 1 400px;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-content: center;
  align-content: center;
}
div#socials > a {
  display: inline-block;
  position: relative;
  -webkit-order: 0;
  order: 0;
  -webkit-flex: 0 1 100px;
  flex: 0 1 100px;
  -webkit-align-self: auto;
  align-self: auto;
  max-height: 100px;
  max-width: 100px;
  overflow: hidden;
}
footer > div > div:nth-of-type(2) {
  padding: 0px 0px 0px 25px;
  -webkit-flex: 1 1 60%;
  flex: 1 1 60%;
  display: inline-block;
  font-style: italic;
  font-size: 0.8em;
}
footer img {
  width: 100%;
  height: 100%;
  background-color: var(--primary-dark);
  transform: scale(1.1);
}
footer img:hover {
  background-color: var(--primary);
}
@media screen and (min-width: 1601px) {
  footer {
    padding: 24px 0px;
  }
}










/* =====================================
          IMAGE VIEWER
===================================== */

a[onclick="openImage(this);"], img[onclick="openImage(this);"] {
  cursor: zoom-in;
}
div#imageView {
  transition: visibility 0.25s linear, opacity 1s ease-in-out;
  visibility: hidden;
  opacity: 0;
  position: fixed;
  background-color: rgba(0, 0, 0, 0.90);
  overflow: hidden;
  z-index: 999;
}
div#imageView > div {
  transform: scale(0.5);
  transition: transform 0.75s ease-in-out;
  position: relative;
  width: 90vw;
  height: 90vh;
  margin: 5vh auto;
}
div#imageView > span {
  font-size: 3vh;
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  right: 0;
  width: 90%;
  padding: 1% 5%;
  background-color: rgba(0, 0, 0, 0.50);
  color: #ffffff;
  text-align: center;
}
div#imageView > div > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
div#imageView a#x {
  text-shadow: 1px 2px 0px rgba(0, 0, 0, 0.9);
  text-decoration: none;
  text-align: right;
  padding: 10px 20px 0px 0px;
  color: #FFFFFF;
  font-weight: bold;
  cursor: pointer;
  font-size: 6vh;
}
div#imageView[data-state="0"] {	opacity: 0; visibility: hidden; }
div#imageView[data-state="0"] > div { transform: scale(0.5); }
div#imageView[data-state="1"] {	opacity: 1; visibility: visible; }
div#imageView[data-state="1"] > div { transform: scale(1); }
div#imageView[data-state="2"] {	opacity: 0; visibility: visible; }
div#imageView[data-state="2"] > div { transform: scale(0.5); }