/*
=====================================================================
*   Ceevee v1.0 Default Stylesheet
*   url: styleshout.com
*   03-17-2014
=====================================================================

TOC:
a. Webfonts and Icon fonts
b. Reset
c. Default Styles
   1. Basic
   2. Typography
   3. Links
   4. Images
   5. Buttons
   6. Forms
d. Grid
e. Others
   1. Clearing
   2. Misc

=====================================================================  */

/* ------------------------------------------------------------------ */
/* Color Variables - deedy-resume-reversed.cls
 ------------------------------------------------------------------ */

:root {
   /* CSS HEX */
   --space-cadet: #2d3047ff;
   --pewter-blue: #93b7beff;
   --citrine: #e0ca3cff;
   --glossy-grape: #a799b7ff;
   --celadon-green: #048a81ff;
   --gold: #fece2f;
   --accent: #FECE2F;

   /* Common Colors */
   --black: #000000;
   --white: #ffffff;
   --gray-very-light: #f5f5f5;
   --gray-light: #cccccc;
   --gray-border: #E3E3E3;
   --gray-medium: #838A91;
   --gray-dark: #3d4145;
   --gray-darker: #647373;
   --gray-text: #525252;
   --gray-bg: #D3D9D9;
   --gray-input: #B3B7BC;
   --gray-form: #737373;
   --gray-label: #3d4145;
   --gray-pagination: #6E757C;
   --gray-pagination-bg: #E6E8EB;
   --gray-pagination-inactive: #A9ADB2;
   --overlay-bg: #444444;
   --shadow-dark: #000000;

   /* CSS HSL */
   --space-cadet-hsl: hsla(233, 22%, 23%, 1);
   --pewter-blue-hsl: hsla(190, 25%, 66%, 1);
   --citrine-hsl: hsla(52, 73%, 56%, 1);
   --glossy-grape-hsl: hsla(268, 17%, 66%, 1);
   --celadon-green-hsl: hsla(176, 94%, 28%, 1);
}

/* ------------------------------------------------------------------ */
/* a. Webfonts and Icon fonts
 ------------------------------------------------------------------ */

@import url("fonts.css");
@import url("fontello/css/fontello.css");

/* ------------------------------------------------------------------
/* b. Reset
      Adapted from:
      Normalize.css - https://github.com/necolas/normalize.css/
      HTML5 Doctor Reset - html5doctor.com/html-5-reset-stylesheet/
/* ------------------------------------------------------------------ */

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
   margin: 0;
   padding: 0;
   border: 0;
   outline: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: transparent;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
   display: block;
}

audio,
canvas,
video {
   display: inline-block;
}

audio:not([controls]) {
   display: none;
   height: 0;
}

[hidden] {
   display: none;
}

code,
kbd,
pre,
samp {
   font-family: 'Consolas', 'Courier New', monospace;
   font-size: 1em;
}

pre {
   white-space: pre;
   white-space: pre-wrap;
   word-wrap: break-word;
}

blockquote,
q {
   quotes: "\201C" "\201D" "\2018" "\2019";
}

blockquote:before,
blockquote:after,
q:before,
q:after {
   content: '';
   content: none;
}

ins {
   background-color: var(--white);
   color: var(--black);
   text-decoration: none;
}

mark {
   background-color: var(--black);
   color: var(--white);
}

del {
   text-decoration: line-through;
}

abbr[title],
dfn[title] {
   border-bottom: 1px dotted;
   cursor: help;
}

table {
   border-collapse: collapse;
   border-spacing: 0;
}


/* ------------------------------------------------------------------ */
/* c. Default and Basic Styles
      Adapted from:
      Skeleton CSS Framework - http://www.getskeleton.com/
      Typeplate Typographic Starter Kit - http://typeplate.com/
/* ------------------------------------------------------------------ */

/*  1. Basic  ------------------------------------------------------- */

*,
*:before,
*:after {
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
}

html {
   font-size: 62.5%;
   -webkit-font-smoothing: antialiased;
}

body {
   background: var(--black);
   font-family: 'Consolas', 'Courier New', monospace;
   font-weight: normal;
   font-size: 15px;
   line-height: 30px;
   color: var(--white);

   -webkit-font-smoothing: antialiased;
   /* Fix for webkit rendering */
   -webkit-text-size-adjust: 100%;
}

/* Work in Progress Banner
   ================================================== */
.work-banner {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 40px;
   background-color: #dc2626; /* Red background */
   color: white;
   font-family: 'Consolas', 'Courier New', monospace;
   font-weight: 700;
   font-size: 14px;
   z-index: 1001; /* Above most content */
   overflow: hidden;
   display: flex;
   align-items: center;
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
   margin: 0;
   padding: 0;
}

.banner-content {
   display: flex;
   animation: scroll-right-to-left 15s linear infinite;
   white-space: nowrap;
   width: max-content;
}

.work-banner .banner-text {
   margin-right: 100px;
   font-family: 'Consolas', 'Courier New', monospace;
   letter-spacing: 2px;
   text-transform: uppercase;
}

@keyframes scroll-right-to-left {
   0% {
      transform: translateX(0%);
   }
   100% {
      transform: translateX(-100%);
   }
}

/* body::after {
   backdrop-filter: blur(6px);
   content: '';
   position: fixed;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   background: url('../images/watermark.png');
   size: cover;
   pointer-events: none;
   background-repeat: no-repeat;
   background-size: 100%;
} */

/*  2. Typography
       Vertical rhythm with leading derived from 6
--------------------------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
   color: var(--white);
   font-family: 'Consolas', 'Courier New', monospace;
   font-weight: normal;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
   font-weight: inherit;
}

h1 {
   font-size: 38px;
   line-height: 42px;
   margin-bottom: 12px;
   letter-spacing: -1px;
}

h2 {
   font-size: 28px;
   line-height: 36px;
   margin-bottom: 6px;
}

h3 {
   font-size: 22px;
   line-height: 30px;
   margin-bottom: 12px;
}

h4 {
   font-size: 20px;
   line-height: 30px;
   margin-bottom: 6px;
}

h5 {
   font-size: 18px;
   line-height: 30px;
}

h6 {
   font-size: 14px;
   line-height: 30px;
}


p {
   margin: 0 0 1vh 0;
}

p img {
   margin: 0;
}

p.lead {
   font: 20px/36px 'Consolas', 'Courier New', monospace;
   /* margin-bottom: 18px; */
}

/* for 'em' and 'strong' tags, font-size and line-height should be same with
the body tag due to rendering problems in some browsers */
em {
   font: 15px/30px 'Consolas', 'Courier New', monospace;
}

strong,
b {
   font: 15px/30px 'Consolas', 'Courier New', monospace;
}

small {
   font-size: 11px;
   line-height: inherit;
}

/*	Blockquotes */
blockquote {
   margin: 30px 0px;
   padding-left: 40px;
   position: relative;
}

blockquote:before {
   content: "\201C";
   opacity: 0.45;
   font-size: 80px;
   line-height: 0px;
   margin: 0;
   font-family: 'Consolas', 'Courier New', monospace;

   position: absolute;
   top: 30px;
   left: 0;
}

blockquote p {
   font-family: 'Consolas', 'Courier New', monospace;
   padding: 0;
   font-size: 18px;
   line-height: 36px;
}

blockquote cite {
   display: block;
   font-size: 12px;
   font-style: normal;
   line-height: 18px;
}

blockquote cite:before {
   content: "\2014 \0020";
}

blockquote cite a,
blockquote cite a:visited {
   color: var(--white);
   border: none
}

/* ---------------------------------------------------------------------
/*  Pull Quotes Markup
/*
    <aside class="pull-quote">
		<blockquote>
			<p></p>
		</blockquote>
	 </aside>
/*
/* --------------------------------------------------------------------- */
.pull-quote {
   position: relative;
   padding: 18px 30px 18px 0px;
}

.pull-quote:before,
.pull-quote:after {
   height: 1em;
   opacity: 0.45;
   position: absolute;
   font-size: 80px;
   font-family: 'Consolas', 'Courier New', monospace;
}

.pull-quote:before {
   content: "\201C";
   top: 33px;
   left: 0;
}

.pull-quote:after {
   content: '\201D';
   bottom: -33px;
   right: 0;
}

.pull-quote blockquote {
   margin: 0;
}

.pull-quote blockquote:before {
   content: none;
}

/* Abbreviations */
abbr {
   font-family: 'Consolas', 'Courier New', monospace;
   font-variant: small-caps;
   text-transform: lowercase;
   letter-spacing: .5px;
   color: var(--gray-light);
}

abbr:hover {
   cursor: help;
}

/* drop cap */
.drop-cap:first-letter {
   float: left;
   margin: 0;
   padding: 14px 6px 0 0;
   font-size: 84px;
   font-family:
      /* Copperplate */
      'Consolas', 'Courier New', monospace;
   line-height: 60px;
   text-indent: 0;
   background: transparent;
   color: inherit;
}

hr {
   border: solid var(--gray-border);
   border-width: 1px 0 0;
   clear: both;
   margin: 11px 0 30px;
   height: 0;
}

/* Custom Binary Horizontal Rule */
.hr-binary {
   display: block;
   width: 100%;
   margin: 5vh 0 5vh;
   padding: 0;
   border: none;
   background: transparent;
   color: var(--accent);
   font-family: 'Consolas', 'Courier New', monospace;
   font-size: clamp(6px, 1.2vw, 14px);
   line-height: 1.2;
   white-space: nowrap;
   overflow-x: auto;
   overflow-y: hidden;
   text-align: center;
   letter-spacing: 0.05em;
}

.hr-binary::before {
   content: "<01101000 01101111 01110010 01101001 01111010 01101111 01101110 01110100 01100001 01101100 00100000 01110010 01110101 01101100 01100101>";
   display: inline-block;
}


/*  3. Links  ------------------------------------------------------- */

a,
a:visited {
   text-decoration: none;
   outline: 0;
   color: var(--white);

   -webkit-transition: color .3s ease-in-out;
   -moz-transition: color .3s ease-in-out;
   -o-transition: color .3s ease-in-out;
   transition: color .3s ease-in-out;
}

a:hover,
a:focus {
   color: var(--gray-light);
}

p a,
p a:visited {
   line-height: inherit;
}


/*  4. List  --------------------------------------------------------- */

ul,
ol {
   margin-bottom: 24px;
   margin-top: 12px;
}

ul {
   list-style: none outside;
}

ol {
   list-style: decimal;
}

ol,
ul.square,
ul.circle,
ul.disc {
   margin-left: 30px;
}

ul.square {
   list-style: square outside;
}

ul.circle {
   list-style: circle outside;
}

ul.disc {
   list-style: disc outside;
}

ul ul,
ul ol,
ol ol,
ol ul {
   margin: 6px 0 6px 30px;
}

ul ul li,
ul ol li,
ol ol li,
ol ul li {
   margin-bottom: 6px;
}

li {
   line-height: 18px;
   margin-bottom: 12px;
}

/* ---------------------------------------------------------------------
/*  Stats Tab Markup

    <ul class="stats-tabs">
		<li><a href="#">[value]<b>[name]</b></a></li>
	 </ul>

    Extend this object into your markup.
/*
/* --------------------------------------------------------------------- */
.stats-tabs {
   padding: 0;
   margin: 24px 0;
}

.stats-tabs li {
   display: inline-block;
   margin: 0 10px 18px 0;
   padding: 0 10px 0 0;
   border-right: 1px solid var(--gray-light);
}

.stats-tabs li:last-child {
   margin: 0;
   padding: 0;
   border: none;
}

.stats-tabs li a {
   display: inline-block;
   font-size: 22px;
   font-family: 'Consolas', 'Courier New', monospace;
   border: none;
   color: var(--white);
}

.stats-tabs li a:hover {
   color: var(--gray-light);
}

.stats-tabs li a b {
   display: block;
   margin: 6px 0 0 0;
   font-size: 13px;
   font-family: 'Consolas', 'Courier New', monospace;
   color: var(--white);
}

/* definition list */
dl {
   margin: 12px 0;
}

dt {
   margin: 0;
   color: var(--white);
}

dd {
   margin: 0 0 0 20px;
}

/* Lining Definition Style Markup */
.lining dt,
.lining dd {
   display: inline;
   margin: 0;
}

.lining dt+dt:before,
.lining dd+dt:before {
   content: "\A";
   white-space: pre;
}

.lining dd+dd:before {
   content: ", ";
}

.lining dd:before {
   content: ": ";
   margin-left: -0.2em;
}

/* Dictionary Definition Style Markup */
.dictionary-style dt {
   display: inline;
   counter-reset: definitions;
}

.dictionary-style dt+dt:before {
   content: ", ";
   margin-left: -0.2em;
}

.dictionary-style dd {
   display: block;
   counter-increment: definitions;
}

.dictionary-style dd:before {
   content: counter(definitions, decimal) ". ";
}

/* Pagination */
.pagination {
   margin: 36px auto;
   text-align: center;
}

.pagination ul li {
   display: inline-block;
   margin: 0;
   padding: 0;
}

.pagination .page-numbers {
   font: 15px/18px 'Consolas', 'Courier New', monospace;
   display: inline-block;
   padding: 6px 10px;
   margin-right: 3px;
   margin-bottom: 6px;
   color: var(--gray-pagination);
   background-color: var(--gray-pagination-bg);

   -webkit-transition: all 200ms ease-in-out;
   -moz-transition: all 200ms ease-in-out;
   -o-transition: all 200ms ease-in-out;
   -ms-transition: all 200ms ease-in-out;
   transition: all 200ms ease-in-out;

   -moz-border-radius: 3px;
   -webkit-border-radius: 3px;
   -khtml-border-radius: 3px;
   border-radius: 3px;
}

.pagination .page-numbers:hover {
   background: var(--gray-medium);
   color: var(--white);
}

.pagination .current,
.pagination .current:hover {
   background-color: var(--white);
   color: var(--black);
}

.pagination .inactive,
.pagination .inactive:hover {
   background-color: var(--gray-pagination-bg);
   color: var(--gray-pagination-inactive);
}

.pagination .prev,
.pagination .next {}

/*  5. Images  --------------------------------------------------------- */

img {
   max-width: 100%;
   height: auto;
}

img.pull-right {
   margin: 12px 0px 0px 18px;
}

img.pull-left {
   margin: 12px 18px 0px 0px;
}

/*  6. Buttons  --------------------------------------------------------- */

.button,
.button:visited,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
   font: 20px/34px 'Consolas', 'Courier New', monospace;
   background: var(--white);
   display: inline-block;
   text-decoration: none;
   letter-spacing: 0;
   color: var(--black);
   padding: 12px 20px;
   margin-bottom: 18px;
   border: none;
   cursor: pointer;
   height: auto;

   -webkit-transition: all .2s ease-in-out;
   -moz-transition: all .2s ease-in-out;
   -o-transition: all .2s ease-in-out;
   -ms-transition: all .2s ease-in-out;
   transition: all .2s ease-in-out;

   -moz-border-radius: 3px;
   -webkit-border-radius: 3px;
   -khtml-border-radius: 3px;
   border-radius: 3px;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
   background: var(--gray-light);
   color: var(--black);
}

.button:active,
button:active,
input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active {
   background: var(--gray-light);
   color: var(--black);
}

.button.full-width,
button.full-width,
input[type="submit"].full-width,
input[type="reset"].full-width,
input[type="button"].full-width {
   width: 100%;
   padding-left: 0 !important;
   padding-right: 0 !important;
   text-align: center;
}

/* Fix for odd Mozilla border & padding issues */
button::-moz-focus-inner,
input::-moz-focus-inner {
   border: 0;
   padding: 0;
}


/*  7. Forms  --------------------------------------------------------- */

form {
   margin-bottom: 24px;
}

fieldset {
   margin-bottom: 24px;
}

input[type="text"],
input[type="password"],
input[type="email"],
textarea,
select {
   display: block;
   padding: 18px 15px;
   margin: 0 0 24px 0;
   border: 0;
   outline: none;
   vertical-align: middle;
   min-width: 225px;
   max-width: 100%;
   font-size: 15px;
   line-height: 24px;
   color: var(--gray-darker);
   background: var(--gray-bg);

}

/* select { padding: 0;
   width: 220px;
   } */

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
textarea:focus {
   color: var(--gray-input);
   background-color: var(--gray-dark);
}

textarea {
   min-height: 220px;
}

label,
legend {
   font: 16px/24px 'Consolas', 'Courier New', monospace;
   margin: 12px 0;
   color: var(--gray-dark);
   display: block;
}

label span,
legend span {
   color: var(--white);
   font: 14px/24px 'Consolas', 'Courier New', monospace;
}

input[type="checkbox"],
input[type="radio"] {
   font-size: 15px;
   color: var(--gray-form);
}

input[type="checkbox"] {
   display: inline;
}

/* ------------------------------------------------------------------ */
/* d. Grid
---------------------------------------------------------------------
   gutter = 40px.
/* ------------------------------------------------------------------ */

/* default
--------------------------------------------------------------- */
.row {
   width: 96%;
   max-width: 1020px;
   margin: 0 auto;
}

/* fixed width for IE8 */
.ie .row {
   width: 1000px;
}

.narrow .row {
   max-width: 980px;
}

.row .row {
   width: auto;
   max-width: none;
   margin: 0 -20px;
}

/* row clearing */
.row:before,
.row:after {
   content: " ";
   display: table;
}

.row:after {
   clear: both;
}

.column,
.columns {
   position: relative;
   padding: 0 20px;
   min-height: 1px;
   float: left;
}

.column.centered,
.columns.centered {
   float: none;
   margin: 0 auto;
}

/* removed gutters */
.row.collapsed>.column,
.row.collapsed>.columns,
.column.collapsed,
.columns.collapsed {
   padding: 0;
}

[class*="column"]+[class*="column"]:last-child {
   float: right;
}

[class*="column"]+[class*="column"].end {
   float: right;
}

/* column widths */
.row .one {
   width: 8.33333%;
}

.row .two {
   width: 16.66667%;
}

.row .three {
   width: 25%;
}

.row .four {
   width: 33.33333%;
}

.row .five {
   width: 41.66667%;
}

.row .six {
   width: 50%;
}

.row .seven {
   width: 58.33333%;
}

.row .eight {
   width: 66.66667%;
}

.row .nine {
   width: 75%;
}

.row .ten {
   width: 83.33333%;
}

.row .eleven {
   width: 91.66667%;
}

.row .twelve {
   width: 100%;
}

/* Offsets */
.row .offset-1 {
   margin-left: 8.33333%;
}

.row .offset-2 {
   margin-left: 16.66667%;
}

.row .offset-3 {
   margin-left: 25%;
}

.row .offset-4 {
   margin-left: 33.33333%;
}

.row .offset-5 {
   margin-left: 41.66667%;
}

.row .offset-6 {
   margin-left: 50%;
}

.row .offset-7 {
   margin-left: 58.33333%;
}

.row .offset-8 {
   margin-left: 66.66667%;
}

.row .offset-9 {
   margin-left: 75%;
}

.row .offset-10 {
   margin-left: 83.33333%;
}

.row .offset-11 {
   margin-left: 91.66667%;
}

/* Push/Pull */
.row .push-1 {
   left: 8.33333%;
}

.row .pull-1 {
   right: 8.33333%;
}

.row .push-2 {
   left: 16.66667%;
}

.row .pull-2 {
   right: 16.66667%;
}

.row .push-3 {
   left: 25%;
}

.row .pull-3 {
   right: 25%;
}

.row .push-4 {
   left: 33.33333%;
}

.row .pull-4 {
   right: 33.33333%;
}

.row .push-5 {
   left: 41.66667%;
}

.row .pull-5 {
   right: 41.66667%;
}

.row .push-6 {
   left: 50%;
}

.row .pull-6 {
   right: 50%;
}

.row .push-7 {
   left: 58.33333%;
}

.row .pull-7 {
   right: 58.33333%;
}

.row .push-8 {
   left: 66.66667%;
}

.row .pull-8 {
   right: 66.66667%;
}

.row .push-9 {
   left: 75%;
}

.row .pull-9 {
   right: 75%;
}

.row .push-10 {
   left: 83.33333%;
}

.row .pull-10 {
   right: 83.33333%;
}

.row .push-11 {
   left: 91.66667%;
}

.row .pull-11 {
   right: 91.66667%;
}

/* block grids
--------------------------------------------------------------------- */
.bgrid-sixths [class*="column"] {
   width: 16.66667%;
}

.bgrid-quarters [class*="column"] {
   width: 25%;
}

.bgrid-thirds [class*="column"] {
   width: 33.33333%;
}

.bgrid-halves [class*="column"] {
   width: 50%;
}

[class*="bgrid"] [class*="column"]+[class*="column"]:last-child {
   float: left;
}

/* Left clearing for block grid columns - columns that changes width in
different screen sizes. Allows columns with different heights to align
properly.
--------------------------------------------------------------------- */
.first {
   clear: left;
}

/* first column in default screen */
.s-first {
   clear: none;
}

/* first column in smaller screens */

/* smaller screens
--------------------------------------------------------------- */
@media only screen and (max-width: 900px) {

   /* block grids on small screens */
   .s-bgrid-sixths [class*="column"] {
      width: 16.66667%;
   }

   .s-bgrid-quarters [class*="column"] {
      width: 25%;
   }

   .s-bgrid-thirds [class*="column"] {
      width: 33.33333%;
   }

   .s-bgrid-halves [class*="column"] {
      width: 50%;
   }

   /* block grids left clearing */
   .first {
      clear: none;
   }

   .s-first {
      clear: left;
   }

}

/* mobile wide/smaller tablets
--------------------------------------------------------------- */
@media only screen and (max-width: 767px) {
   h3 {
      font: 'Consolas', 'Courier New', monospace;
   }

   .row {
      width: 460px;
      margin: 0 auto;
      padding: 0;
   }

   .column,
   .columns {
      width: auto !important;
      float: none;
      margin-left: 0;
      margin-right: 0;
      padding: 0 30px;
   }

   .row .row {
      width: auto;
      max-width: none;
      margin: 0 -30px;
   }

   [class*="column"]+[class*="column"]:last-child {
      float: none;
   }

   [class*="bgrid"] [class*="column"]+[class*="column"]:last-child {
      float: none;
   }

   /* Offsets */
   .row .offset-1 {
      margin-left: 0%;
   }

   .row .offset-2 {
      margin-left: 0%;
   }

   .row .offset-3 {
      margin-left: 0%;
   }

   .row .offset-4 {
      margin-left: 0%;
   }

   .row .offset-5 {
      margin-left: 0%;
   }

   .row .offset-6 {
      margin-left: 0%;
   }

   .row .offset-7 {
      margin-left: 0%;
   }

   .row .offset-8 {
      margin-left: 0%;
   }

   .row .offset-9 {
      margin-left: 0%;
   }

   .row .offset-10 {
      margin-left: 0%;
   }

   .row .offset-11 {
      margin-left: 0%;
   }
}

/* mobile narrow
--------------------------------------------------------------- */
@media only screen and (max-width: 460px) {

   .row {
      width: auto;
   }

}

/* larger screens
--------------------------------------------------------------- */
@media screen and (min-width: 1200px) {

   .wide .row {
      max-width: 1180px;
   }

}

/* ------------------------------------------------------------------ */
/* e. Others
/* ------------------------------------------------------------------ */

/*  1. Clearing
    (http://nicolasgallagher.com/micro-clearfix-hack/
--------------------------------------------------------------------- */

.cf:before,
.cf:after {
   content: " ";
   display: table;
}

.cf:after {
   clear: both;
}

/*  2. Misc -------------------------------------------------------- */

.remove-bottom {
   margin-bottom: 0 !important;
}

.half-bottom {
   margin-bottom: 12px !important;
}

.add-bottom {
   margin-bottom: 24px !important;
}

.no-border {
   border: none;
}

.text-center {
   text-align: center !important;
}

.text-left {
   text-align: left !important;
}

.text-right {
   text-align: right !important;
}

.pull-left {
   float: left !important;
}

.pull-right {
   float: right !important;
}

.align-center {
   margin-left: auto !important;
   margin-right: auto !important;
   text-align: center !important;
}

/* ==================================================================
*   Layout Styles
* ================================================================== */

/*
=====================================================================
*   Ceevee v1.0 Layout Stylesheet
*   url: styleshout.com
*   03-18-2014
=====================================================================

   TOC:
   a. General Styles
   b. Theme Toggle
   c. Header Styles
   d. About Section
   e. Resume Section
   f. Portfolio Section
   g. Call To Action Section
   h. Contact Section
   i. Footer

===================================================================== */

/* ------------------------------------------------------------------ */
/* b. Header Styles
/* ------------------------------------------------------------------ */

header {
   position: relative;
   height: 800px;
   min-height: 500px;
   width: 100%;
   background: var(--black) url(../images/banner.jpeg) no-repeat top center;
   background-size: cover !important;
   -webkit-background-size: cover !important;
   text-align: center;
   overflow: hidden;
}

/* vertically center banner section */
header:before {
   content: '';
   display: inline-block;
   vertical-align: middle;
   height: 100%;
}

header .banner {
   display: inline-block;
   vertical-align: middle;
   margin: 0 auto;
   width: 85%;
   padding-bottom: 30px;
   text-align: center;
}

header .icon-down-circle {
   color: var(--accent);
}

header .banner-text {
   width: 100%
}

header .line-1 {
   color: var(--accent);
   /* text-shadow: 0px 1px 3px #a799b7ff; */
   line-height: 2.5em;
   font: 2.5em 'Consolas', 'Courier New', monospace;
   position: relative;
   margin: 0 auto;
   border-right: 1.5px solid var(--accent);
   text-align: center;
   white-space: nowrap;
   overflow: hidden;
   transform: translateY(-50%);
   max-width: 100%;
   padding: 0 20px;
   box-sizing: border-box;
}

/* Animation */
.anim-typewriter {
   animation: typewriter 3s steps(23) 1s 1 normal both,
      blinkTextCursor 500ms steps(23) infinite normal;
}

@keyframes typewriter {
   from {
      width: 0;
   }

   to {
      width: 13em;
   }
}

@keyframes blinkTextCursor {
   from {
      border-right-color: var(--accent);
   }

   to {
      border-right-color: transparent;
   }
}

header .banner-text h3 {
   font: 20px/1.9em 'Consolas', 'Courier New', monospace;
   color: var(--white);
   margin: 0 auto;
   width: 70%;
   text-shadow: 0px 1px 3px var(--black);
}

header .banner-text h3 span,
header .banner-text h3 a {
   color: var(--white);
}

header .banner-text hr {
   width: 60%;
   margin: 18px auto 24px auto;
   border-color: var(--black);
   border-color: rgba(150, 150, 150, .1);
}

/* header social links */
header .social {
   margin: 24px 0;
   padding: 0;
   font-size: 30px;
   text-shadow: 0px 1px 2px rgba(0, 0, 0, .8);
}

header .social li {
   display: inline-block;
   margin: 0 15px;
   padding: 0;
}

header .social li a {
   color: var(--white);
}

header .social li a:hover {
   color: var(--accent);
}

/* scrolldown link */
header .scrolldown a {
   position: absolute;
   bottom: 30px;
   left: 50%;
   margin-left: -29px;
   display: block;
   height: 42px;
   width: 42px;
   font-size: 42px;
   line-height: 42px;
   color: var(--accent);
   border-radius: 100%;
   text-shadow: 0px 1px 3px var(--black);
   -webkit-transition: all .3s ease-in-out;
   -moz-transition: all .3s ease-in-out;
   -o-transition: all .3s ease-in-out;
   transition: all .3s ease-in-out;
}

header .scrolldown a:hover {
   color: var(--white);
}

/* primary navigation
--------------------------------------------------------------------- */
#nav-wrap ul,
#nav-wrap li,
#nav-wrap a {
   font: 2vh/1.5vh 'Consolas', 'Courier New', monospace;
   margin: 0.5vh;
   padding: 0;
   border: none;
   outline: none;
}

/* nav-wrap */
#nav-wrap {
   /* font: 14px 'Roboto'; */
   font-weight: 600;
   width: 100%;
   text-transform: uppercase;
   letter-spacing: 2.5px;
   margin: 0 auto;
   z-index: 1000;
   position: fixed;
   left: 0;
   top: 40px; /* Position below work in progress banner */
   background-color: rgba(0, 0, 0, 0.85);
   backdrop-filter: blur(10px);
   -webkit-backdrop-filter: blur(10px);
   padding: 10px 0;
   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.opaque {
   background-color: var(--black);
}

/* hide toggle button */
#nav-wrap>a.mobile-btn {
   display: none;
}

ul#nav {
   min-height: 48px;
   width: auto;
   max-width: 1200px;
   margin: 0 auto;
   padding: 0 20px;

   /* center align the menu */
   text-align: center;
}

ul#nav li {
   position: relative;
   list-style: none;
   height: 48px;
   display: inline-block;
}

/* Links */
ul#nav li a {

   /* 8px padding top + 8px padding bottom + 32px line-height = 48px */

   display: inline-block;
   padding: 8px 13px;
   line-height: 32px;
   text-decoration: none;
   text-align: left;
   color: var(--white);

   -webkit-transition: color .2s ease-in-out;
   -moz-transition: color .2s ease-in-out;
   -o-transition: color .2s ease-in-out;
   -ms-transition: color .2s ease-in-out;
   transition: color .2s ease-in-out;
}

ul#nav li a:active {
   background-color: transparent !important;
}

ul#nav li.current a {
   color: var(--accent);
}


/* ------------------------------------------------------------------ */
/* c. About Section
/* ------------------------------------------------------------------ */

#about {
   background: var(--black);
   padding-top: 5vh;
   overflow: hidden;
}

#about a,
#about a:visited {
   color: var(--white);
}

#about a:hover,
#about a:focus {
   color: var(--accent);
}

#about h2 {
   font: 25px/34px 'Consolas', 'Courier New', monospace;
   font-weight: 500;
   color: var(--accent);
}

#about p {
   text-shadow: 0px 1px 3px var(--black);
   line-height: 30px;
   color: var(--gray-very-light);
   margin-bottom: 5vh;
   text-align: justify;
}

#about .profile-pic {
   position: relative;
   margin-top: 3vh;
   height: 20vh;
   border-radius: 15px;
   border: solid 0.2vh var(--accent);
}

#about .contact-details {
   width: 41.66667%;
}

#about .main-col {
   padding-right: 5%;
}

/*----------------------------------------------*/
/*	Skills Groups
/*----------------------------------------------*/

.skills-group {
   margin-bottom: 1vh;
   /* padding-bottom: 24px; */
   /* border-bottom: 0.5px solid var(--white); */
}

.skills-group:last-child {
   border-bottom: none;
}

.skills-group h4 {
   font: 20px/28px 'Consolas', 'Courier New', monospace;
   color: var(--accent);
   font-weight: 500;
}

.skills-list {
   list-style: none;
   margin: 0;
   padding: 0;
   display: flex;
   flex-direction: column;
   gap: 4px;
}

.skills-list li {
   font: 16px/28px 'Consolas', 'Courier New', monospace;
   color: var(--white);
   padding-left: 0;
   display: flex;
   align-items: flex-start;
   position: relative;
}

/* Add bullets for work experience lists (lists that follow p.info) */
p.info + .skills-list {
   list-style: disc;
   padding-left: 20px;
}

p.info + .skills-list li {
   padding-left: 0;
   display: list-item;
}

/* Remove bullets for education section to match skills section style */
.education-section p.info + .skills-list {
   list-style: none;
   padding-left: 0;
}

.education-section p.info + .skills-list li {
   display: flex;
   align-items: flex-start;
}

.skills-list li strong {
   color: var(--white);
   font-weight: 600;
   margin-right: 2vh;
   width: 25%;
   flex-shrink: 0;
   /* display: inline-block; */
}

.skills-group p.info {
   font: 16px/28px 'Consolas', 'Courier New', monospace;
   color: var(--white);
   margin-bottom: 8px;
   margin-top: 4px;
   font-weight: 600;
}

.skills-group p.info span {
   color: var(--accent);
   margin: 0 8px;
}


/* ------------------------------------------------------------------ */
/* e. Portfolio Section
/* ------------------------------------------------------------------ */

#portfolio {
   background: var(--black);
   /* padding-bottom: 5vh; */
}

#portfolio h1 {
   font: 45px/54px 'Consolas', 'Courier New', monospace;
   text-transform: uppercase;
   letter-spacing: 1px;
   text-align: center;
   margin-bottom: 48px;
   font-weight: 500;
   color: var(--white);
   text-shadow: 0px 1px 2px rgba(0, 0, 0, .8);
}

/* Portfolio Content */
#portfolio-wrapper .columns {
   margin-bottom: 36px;
   z-index: 1;
}

#portfolio-wrapper .columns:hover {
   z-index: 100;
}

.portfolio-item .item-wrap {
   background: var(--white);
   overflow: visible;
   position: relative;
   border: 0.5vh solid var(--white);
   border-radius: 15px;

   -webkit-transition: all 0.3s ease-in-out;
   -moz-transition: all 0.3s ease-in-out;
   -o-transition: all 0.3s ease-in-out;
   -ms-transition: all 0.3s ease-in-out;
   transition: all 0.3s ease-in-out;

   width: 15vh;
   height: 15vh;
}

.portfolio-item .item-wrap a {
   display: block;
   cursor: pointer;
}

/* overlay */
.portfolio-item .item-wrap .overlay {
   position: absolute;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;

   opacity: 1;
   -moz-opacity: 1;
   filter: alpha(opacity=100);

   -webkit-transition: opacity 0.3s ease-in-out;
   -moz-transition: opacity 0.3s ease-in-out;
   -o-transition: opacity 0.3s ease-in-out;
   transition: opacity 0.3s ease-in-out;

   background: url(../images/overlay-bg.png) repeat;
   z-index: 2;
   display: flex;
   align-items: flex-end;
   justify-content: center;
}

.portfolio-item .item-wrap .link-icon {
   display: block;
   color: var(--white);
   height: 30px;
   width: 30px;
   font-size: 18px;
   line-height: 30px;
   text-align: center;

   opacity: 0;
   -moz-opacity: 0;
   filter: alpha(opacity=0);

   -webkit-transition: opacity 0.3s ease-in-out;
   -moz-transition: opacity 0.3s ease-in-out;
   -o-transition: opacity 0.3s ease-in-out;
   transition: opacity 0.3s ease-in-out;

   position: absolute;
   top: 50%;
   left: 50%;
   margin-left: -15px;
   margin-top: -15px;
}

.portfolio-item .item-wrap img {
   display: block;
   position: absolute;
   top: 10%;
   left: 50%;
   transform: translateX(-50%) scale(0.5);
   width: 100%;
   height: 100%;
   object-fit: cover;
   -webkit-transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), z-index 0s;
   -moz-transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), z-index 0s;
   -o-transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), z-index 0s;
   transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), z-index 0s;
   z-index: 1;
}

.portfolio-item .portfolio-item-meta {
   padding: 18px;
}

.portfolio-item .portfolio-item-meta h5 {
   font: 14px/21px 'Consolas', 'Courier New', monospace;
   color: var(--white);
}

.portfolio-item .portfolio-item-meta p {
   font: 12px/18px 'Consolas', 'Courier New', monospace;
   color: var(--gray-light);
   margin-bottom: 0;
}

/* on hover */
.portfolio-item:hover .overlay {
   opacity: 0.7;
   -moz-opacity: 0.7;
   filter: alpha(opacity=70);
}

.portfolio-item:hover .link-icon {
   opacity: 1;
   -moz-opacity: 1;
   filter: alpha(opacity=100);
}

.portfolio-item:hover .item-wrap img {
   transform: translateX(-50%) scale(1.4);
   z-index: 10;
   box-shadow: 0 15px 50px rgba(0, 0, 0, 0.6);
}

/* Thesis Hover Preview */
.thesis-hover-container {
   position: relative;
}

.thesis-link {
   cursor: pointer;
   text-decoration: underline;
   text-decoration-color: var(--accent);
   text-underline-offset: 3px;
   transition: color 0.2s ease-in-out;
}

.thesis-link:hover {
   color: var(--accent);
}

.thesis-hover-preview {
   position: absolute;
   top: 100%;
   left: 0;
   margin-top: 10px;
   max-width: 90vw;
   background: var(--white);
   border-radius: 15px;
   box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
   opacity: 0;
   visibility: hidden;
   transform: translateY(-10px);
   transition: all 0.3s ease-in-out;
   z-index: 1000;
   overflow-y: auto;
   max-height: 60vh;
}

.thesis-hover-container:hover .thesis-hover-preview {
   opacity: 1;
   visibility: visible;
   transform: translateY(0);
}

.preview-content {
   padding: 24px;
   color: var(--black);
}

.preview-header h3 {
   font: 20px/28px 'Consolas', 'Courier New', monospace;
   color: var(--black);
   margin-bottom: 8px;
   font-weight: 600;
}

.preview-header p {
   font: 14px/20px 'Consolas', 'Courier New', monospace;
   color: var(--black);
   margin-bottom: 20px;
}

.preview-sections {
   margin-bottom: 20px;
}

.preview-section {
   margin-bottom: 10px;
   padding-bottom: 18px;
   border-bottom: 1px solid var(--gray-light);
}

.preview-section:last-of-type {
   border-bottom: none;
   margin-bottom: 0;
   padding-bottom: 0;
}

.preview-section h4 {
   font: 16px/24px 'Consolas', 'Courier New', monospace;
   color: var(--accent);
   margin-bottom: 6px;
   font-weight: 600;
}

.preview-section p {
   font: 13px/20px 'Consolas', 'Courier New', monospace;
   color: var(--black);
   margin: 0;
}

.preview-link {
   margin-top: 20px;
   padding-top: 20px;
   border-top: 2px solid var(--accent);
}

.preview-link a {
   font: 16px/24px 'Consolas', 'Courier New', monospace;
   color: var(--black);
   text-decoration: none;
   font-weight: 600;
   transition: color 0.2s ease-in-out;
}

.preview-link a:hover {
   color: var(--black);
}

.thesis-iframe-container {
   width: 100%;
   margin-bottom: 20px;
}

/* popup modal */
.popup-modal {
   max-width: 450px;
   background: var(--white);
   position: relative;
   margin: 0 auto;
}

.popup-modal#thesis-modal,
.popup-modal#thesis-modal-masters {
   max-width: 90%;
   width: 1200px;
}

.popup-modal#thesis-modal .thesis-iframe-container,
.popup-modal#thesis-modal-masters .thesis-iframe-container {
   padding: 20px;
   background: var(--white);
}

.popup-modal .description-box {
   padding: 12px 36px 18px 36px;
}

.popup-modal .description-box h4 {
   font: 21px/30px 'Consolas', 'Courier New', monospace;
   margin-bottom: 12px;
   font-weight: 600;
   color: var(--black);
}

.popup-modal .description-box p {
   font: 17px/27px 'Consolas', 'Courier New', monospace;
   color: var(--black);
   margin-bottom: 12px;
}

.popup-modal .description-box .categories {
   font: 13px/23px 'Consolas', 'Courier New', monospace;
   color: var(--black);
   text-transform: uppercase;
   letter-spacing: 2px;
   display: block;
   text-align: left;
}

.popup-modal .description-box .categories i {
   margin-right: 8px;
}

.popup-modal .link-box {
   padding: 18px 36px;
   background: var(--black);
   text-align: center;
   word-spacing: 7vh;
   transition: background-color 0.3s ease;
}

body.light-mode .popup-modal .link-box {
   background: var(--black);
}

.popup-modal .link-box a {
   color: var(--white);
   font: 14px/23px 'Consolas', 'Courier New', monospace;
   text-transform: uppercase;
   letter-spacing: 3px;
   cursor: pointer;
}

.popup-modal a:hover {
   color: var(--white);
}

.popup-modal a.popup-modal-dismiss {
   margin-left: 24px;
}

.popup-modal img {
   padding: 10%;
   padding-bottom: 0%;

}


/* fadein/fadeout effect for modal popup
/* ------------------------------------------------------------------ */

/* content at start */
.mfp-fade.mfp-wrap .mfp-content .popup-modal {
   opacity: 0;
   -webkit-transition: all 200ms ease-in-out;
   -moz-transition: all 200ms ease-in-out;
   -o-transition: all 200ms ease-in-out;
   -ms-transition: all 200ms ease-in-out;
   transition: all 200ms ease-in-out;
}

/* content fadein */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content .popup-modal {
   opacity: 1;
}

/* content fadeout */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content .popup-modal {
   opacity: 0;
}


/* ------------------------------------------------------------------ */
/* h. Contact Section
/* ------------------------------------------------------------------ */

#contact {
   background: var(--black);
   padding-top: 5vh;
   padding-bottom: 5vh;
   color: var(--white);
}

#contact .section-head {
   margin-bottom: 42px;
}

#contact a,
#contact a:visited {
   color: var(--white);
}

#contact a:hover,
#contact a:focus {
   color: var(--white);
}

#contact h1 {
   text-shadow: 0px 1px 3px var(--black);
   font: 18px/24px 'Consolas', 'Courier New', monospace;
   text-transform: uppercase;
   letter-spacing: 3px;
   color: var(--gray-very-light);
   margin-bottom: 6px;
}

#contact h1 span {
   display: none;
}

#contact h1:before {
   text-shadow: 0px 1px 3px var(--black);
   font-family: 'FontAwesome';
   content: "\f0e0";
   padding-right: 10px;
   font-size: 72px;
   line-height: 72px;
   text-align: left;
   float: left;
   color: var(--accent);
}

#contact h4 {
   font: 18px/26px 'Consolas', 'Courier New', monospace;
   color: var(--accent);
   font-weight: 500;
   text-shadow: 0px 1px 3px var(--black);
   margin-bottom: 6px;
}

#contact p.lead {
   text-shadow: 0px 1px 3px var(--black);
   font: 18px/36px 'Consolas', 'Courier New', monospace;
   padding-right: 3%;
}

#contact p {
   text-shadow: 0px 1px 3px var(--black);
   font: 16px/24px 'Consolas', 'Courier New', monospace;
   line-height: 30px;
}

#contact .header-col {
   padding-top: 6px;
}

.contact-social-wrapper {
   text-align: center;
   padding-top: 40px;
   padding-bottom: 40px;
}

.contact-social {
   display: inline-flex;
   list-style: none;
   margin: 0;
   padding: 0;
   gap: 20px;
   flex-wrap: wrap;
   justify-content: center;
}

.contact-social li {
   display: inline-block;
   margin: 0;
}

.contact-social li a {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 50px;
   height: 50px;
   background: rgba(255, 255, 255, 0.1);
   border: 2px solid rgba(255, 255, 255, 0.3);
   border-radius: 50%;
   color: var(--white);
   font-size: 20px;
   text-decoration: none;
   transition: all 0.3s ease;
   backdrop-filter: blur(10px);
}

.contact-social li a .fa,
.contact-social li a .fas,
.contact-social li a .fab {
   display: inline-block;
   line-height: 1;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
}

.contact-social li a:hover {
   background: rgba(255, 255, 255, 0.2);
   border-color: rgba(255, 255, 255, 0.6);
   transform: translateY(-3px) scale(1.1);
   box-shadow: 0 5px 15px rgba(255, 255, 255, 0.2);
}




/* ------------------------------------------------------------------ */
/* i. Footer
/* ------------------------------------------------------------------ */

footer {
   padding-top: 1vh;
   /* color: var(--gray-light); */
   font-size: 14px;
   /* text-align: center; */
   position: relative;
}

footer a,
footer a:visited {
   color: var(--gray-text);
}

footer a:hover,
footer a:focus {
   color: var(--accent);
}

/* copyright */
footer .copyright {
   margin: 0;
   padding: 0;
   text-align: center;
}

footer .copyright li {
   display: inline-block;
   margin: 0;
   padding: 0;
   line-height: 24px;
}

.ie footer .copyright li {
   display: inline;
}

footer .copyright li:before {
   content: "\2022";
   padding-left: 10px;
   padding-right: 10px;
   color: var(--accent);
}

footer .copyright li:first-child:before {
   display: none;
}

/* social links */
footer .social-links {
   margin: 18px 0 30px 0;
   padding: 0;
   font-size: 30px;
}

footer .social-links li {
   display: inline-block;
   margin: 0;
   padding: 0;
   margin-right: 3vh;
   color: var(--accent);
}

footer .social-links li:first-child {
   margin-left: -25px;
}

footer .social .fa,
footer .social .fas,
footer .social .fab {
   display: inline-block;
   line-height: 1;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
}

/* Go To Top Button */
#go-top {
   text-shadow: 0px 1px 2px var(--black);
   height: 5vh;
   width: 25vw;
   position: relative;
   margin: 2vh auto;
}

#go-top a {
   padding: 1vh;
   text-decoration: none;
   border: 0 none;
   display: flex;
   align-items: center;
   justify-content: center;  
   background-color: var(--accent);

   -webkit-transition: all 0.2s ease-in-out;
   -moz-transition: all 0.2s ease-in-out;
   -o-transition: all 0.2s ease-in-out;
   -ms-transition: all 0.2s ease-in-out;
   transition: all 0.2s ease-in-out;

   color: var(--black);
   font-size: 2vh;
   font-weight: 300;
   border-radius: 4px;
   text-align: center;
}

#go-top a .fa,
#go-top a .fas,
#go-top a .fab {
   display: inline-block;
   line-height: 1;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
}

#go-top a:hover {
   color: var(--black);
   background-color: var(--white);
}

/* ==================================================================
*   Magnific Popup Styles
* ================================================================== */

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: var(--black);
  opacity: 0.8;
  filter: alpha(opacity=80);
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: var(--gray-light);
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}

.mfp-preloader a {
  color: var(--gray-light);
}

.mfp-preloader a:hover {
  color: var(--white);
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  -webkit-box-shadow: none;
  box-shadow: none;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  filter: alpha(opacity=65);
  padding: 0 0 18px 10px;
  color: var(--white);
  font-style: normal;
  font-size: 28px;
  font-family: "Consolas", "Courier New", monospace;
}

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
  filter: alpha(opacity=100);
}

.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: var(--gray-dark);
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: var(--white);
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: var(--gray-light);
  font-size: 12px;
  line-height: 18px;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  filter: alpha(opacity=65);
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
  filter: alpha(opacity=100);
}

.mfp-arrow:before,
.mfp-arrow:after,
.mfp-arrow .mfp-b,
.mfp-arrow .mfp-a {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}

.mfp-arrow:after,
.mfp-arrow .mfp-a {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before,
.mfp-arrow .mfp-b {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}

.mfp-arrow-left:after,
.mfp-arrow-left .mfp-a {
  border-right: 17px solid var(--white);
  margin-left: 31px;
}

.mfp-arrow-left:before,
.mfp-arrow-left .mfp-b {
  margin-left: 25px;
  border-right: 27px solid var(--gray-dark);
}

.mfp-arrow-right {
  right: 0;
}

.mfp-arrow-right:after,
.mfp-arrow-right .mfp-a {
  border-left: 17px solid var(--white);
  margin-left: 39px;
}

.mfp-arrow-right:before,
.mfp-arrow-right .mfp-b {
  border-left: 27px solid var(--gray-dark);
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: var(--black);
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: var(--overlay-bg);
}

.mfp-figure small {
  color: var(--gray-light);
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: var(--gray-very-light);
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape),
screen and (max-height: 300px) {

  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }

  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }

  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }

  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }

  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }

  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }

  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }

  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }

  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0;
  }

  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%;
  }

  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}

.mfp-ie7 .mfp-img {
  padding: 0;
}

.mfp-ie7 .mfp-bottom-bar {
  width: 600px;
  left: 50%;
  margin-left: -300px;
  margin-top: 5px;
  padding-bottom: 5px;
}

.mfp-ie7 .mfp-container {
  padding: 0;
}

.mfp-ie7 .mfp-content {
  padding-top: 44px;
}

.mfp-ie7 .mfp-close {
  top: 0;
  right: 0;
  padding-top: 0;
}

/* ==================================================================
*   Media Queries
* ================================================================== */

/* ==================================================================

*   Ceevee Media Queries
*   url: styleshout.com
*   03-18-2014

/* ================================================================== */


/* screenwidth less than 1024px
--------------------------------------------------------------------- */
@media only screen and (max-width: 1024px) {

   /* header styles
   ------------------------------------------------------------------ */
   header .banner-text h1 {
      font: 80px/1.1em "Consolas", "Courier New", monospace;
      letter-spacing: -1px;
      margin: 0 auto 12px auto;
   }

}

/* screenwidth less than 900px
--------------------------------------------------------------------- */
@media only screen and (max-width: 900px) {

   .s-bgrid-thirds [class*="column"] {
      width: 25%;
   }

   /* header styles
   ------------------------------------------------------------------ */
   header .banner {
      padding-bottom: 12px;
   }

   header .banner-text h1 {
      font: 78px/1.1em "Consolas", "Courier New", monospace;
      letter-spacing: -1px;
   }

   header .banner-text h3 {
      font: 17px/1.9em 'Consolas', 'Courier New', monospace;
      width: 80%;
   }

   header .banner-text hr {
      width: 65%;
      margin: 12px auto;
   }

   /* nav-wrap */
   #nav-wrap {
      font: 11px "Consolas", "Courier New", monospace;
      letter-spacing: 1.5px;
   }


   /* About Section
   ------------------------------------------------------------------- */
   #about .profile-pic {
      width: 114px;
      height: 114px;
      margin-left: 12px;
   }

   #about .profile-gif {
      width: 114px;
      height: 114px;
      margin-left: 12px;
   }

   #about .contact-details {
      width: 50%;
   }

}

/* mobile wide/smaller tablets
---------------------------------------------------------------------- */

@media only screen and (max-width: 767px) {

   /* work in progress banner - mobile */
   .work-banner {
      height: 35px;
      font-size: 12px;
   }

   /* mobile navigation
   -------------------------------------------------------------------- */
   #nav-wrap {
      font: 12px "Consolas", "Courier New", monospace;
      font-weight: 600;
      background: rgba(0, 0, 0, 0.95) !important;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      letter-spacing: 2px;
      width: 100%;
      position: fixed;
      top: 35px; /* Position below work in progress banner (mobile height) */
      left: 0;
      right: 0;
      z-index: 1000;
      padding: 0;
   }

   #nav-wrap>a {
      width: 56px;
      height: 56px;
      text-align: center;
      background-color: var(--black);
      border: 2px solid var(--accent);
      position: relative;
      float: right;
      font: 0/0 a;
      text-shadow: none;
      color: transparent;
      position: relative;
      top: 20px;
      right: 20px;
      border-radius: 4px;
      -webkit-transition: all 0.3s ease-in-out;
      -moz-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
   }

   #nav-wrap>a:hover {
      background-color: var(--accent);
      border-color: var(--white);
      box-shadow: 0 4px 12px rgba(254, 206, 47, 0.4);
   }

   /* Hamburger icon - 3 lines */
   #nav-wrap>a:before {
      position: absolute;
      width: 24px;
      height: 2px;
      background-color: var(--accent);
      top: 18px;
      left: 50%;
      margin-left: -12px;
      content: '';
      -webkit-transition: all 0.3s ease-in-out;
      -moz-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out;
      box-shadow: 0 8px 0 var(--accent), 0 16px 0 var(--accent);
   }

   #nav-wrap>a:hover:before {
      background-color: var(--white);
      box-shadow: 0 8px 0 var(--white), 0 16px 0 var(--white);
   }

   /* Close icon (X) when menu is open */
   #nav-wrap:target>a:last-of-type:before {
      background-color: var(--white);
      box-shadow: none;
      top: 50%;
      left: 50%;
      margin-left: -12px;
      margin-top: -1px;
      transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
   }

   #nav-wrap:target>a:last-of-type:after {
      position: absolute;
      width: 24px;
      height: 2px;
      background-color: var(--white);
      top: 50%;
      left: 50%;
      margin-left: -12px;
      margin-top: -1px;
      content: '';
      transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
      -moz-transform: rotate(-45deg);
   }

   /* toggle buttons */
   #nav-wrap:not( :target)>a:first-of-type,
   #nav-wrap:target>a:last-of-type {
      display: block;
   }

   /* hide menu panel */
   #nav-wrap ul#nav {
      height: auto;
      display: none;
      clear: both;
      width: auto;
      float: right;
      position: relative;
      top: 20px;
      right: 0;
   }

   /* display menu panels */
   #nav-wrap:target>ul#nav {
      display: block;
      padding: 0;
      background: var(--black);
      border: 2px solid var(--accent);
      margin: 90px 20px 0 0;
      clear: both;
      min-width: 200px;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
      -webkit-animation: slideDown 0.3s ease-out;
      -moz-animation: slideDown 0.3s ease-out;
      animation: slideDown 0.3s ease-out;
   }

   @-webkit-keyframes slideDown {
      from {
         opacity: 0;
         transform: translateY(-20px);
      }
      to {
         opacity: 1;
         transform: translateY(0);
      }
   }

   @-moz-keyframes slideDown {
      from {
         opacity: 0;
         transform: translateY(-20px);
      }
      to {
         opacity: 1;
         transform: translateY(0);
      }
   }

   @keyframes slideDown {
      from {
         opacity: 0;
         transform: translateY(-20px);
      }
      to {
         opacity: 1;
         transform: translateY(0);
      }
   }

   ul#nav li {
      display: block;
      height: auto;
      margin: 0;
      padding: 0;
      text-align: left;
      border-bottom: 1px solid rgba(254, 206, 47, 0.2);
      -webkit-transition: background-color 0.2s ease-in-out;
      -moz-transition: background-color 0.2s ease-in-out;
      -o-transition: background-color 0.2s ease-in-out;
      transition: background-color 0.2s ease-in-out;
   }

   ul#nav li:last-child {
      border-bottom: none;
   }

   ul#nav li:hover {
      background-color: rgba(254, 206, 47, 0.1);
   }

   ul#nav li a {
      display: block;
      margin: 0;
      padding: 16px 24px;
      line-height: 20px;
      text-transform: uppercase;
      letter-spacing: 2px;
      font-size: 11px;
      font-weight: 600;
      color: var(--white);
      text-decoration: none;
      -webkit-transition: color 0.2s ease-in-out, padding-left 0.2s ease-in-out;
      -moz-transition: color 0.2s ease-in-out, padding-left 0.2s ease-in-out;
      -o-transition: color 0.2s ease-in-out, padding-left 0.2s ease-in-out;
      transition: color 0.2s ease-in-out, padding-left 0.2s ease-in-out;
   }

   ul#nav li a:hover {
      color: var(--accent);
      padding-left: 28px;
   }

   ul#nav li.current a {
      color: var(--accent);
      background-color: rgba(254, 206, 47, 0.15);
      border-left: 3px solid var(--accent);
   }

   /* Remove default selection when mobile navbar is open */
   #nav-wrap:target ul#nav li.current a {
      color: var(--white);
      background-color: transparent;
      border-left: none;
   }


   /* Header Styles
   -------------------------------------------------------------------- */
   header .banner {
      padding-bottom: 12px;
      padding-top: 6px;
   }

   header .banner-text h1 {
      font: 68px/1.1em "Consolas", "Courier New", monospace;
   }

   header .line-1 {
      font-size: 1.5em !important;
      line-height: 1.8em !important;
      white-space: normal !important;
      overflow: visible !important;
      transform: none !important;
      border-right: none !important;
      padding: 0 15px;
      margin-bottom: 10px;
   }

   .anim-typewriter {
      animation: none !important;
      width: auto !important;
   }

   header .banner-text h3 {
      font: 16px/1.9em 'Consolas', 'Courier New', monospace;
      width: 85%;
   }

   header .banner-text hr {
      width: 80%;
      margin: 18px auto;
   }

   /* header social links */
   header .social {
      margin: 18px 0 24px 0;
      font-size: 24px;
      line-height: 36px;
   }

   header .social li {
      margin: 0 10px;
   }

   /* scrolldown link */
   header .scrolldown {
      display: none;
   }


   /* About Section
   -------------------------------------------------------------------- */
   #about .profile-pic {
      display: none;
   }

   #about .profile-gif {
      display: none;
   }


   #about .main-col {
      padding-right: 30px;
   }


   /* Portfolio Section
   /* ----------------------------------------------------------------- */
   #portfolio-wrapper .columns {
      margin-bottom: 40px;
   }

   .popup-modal {
      max-width: 85%;
   }




   /* contact Section
   ----------------------------------------------------------------------- */
   #contact {
      padding-bottom: 66px;
   }

   #contact .section-head {
      margin-bottom: 12px;
   }

   #contact .section-head h1 {
      font: 16px/24px "Consolas", "Courier New", monospace;
      text-align: center;
      margin-bottom: 30px;
      text-shadow: 0px 1px 3px rgba(0, 0, 0, 1);
   }

   #contact h1 span {
      display: block;
   }

   #contact .header-col {
      padding-top: 0;
   }

   #contact .header-col h1:before {
      content: none;
   }

   #contact .section-head p.lead {
      text-align: center;
   }



/* mobile narrow
  -------------------------------------------------------------------------- */

@media only screen and (max-width: 480px) {

   /* work in progress banner - small mobile */
   .work-banner {
      height: 30px;
      font-size: 11px;
   }

   #nav-wrap {
      top: 30px; /* Position below work in progress banner (small mobile height) */
   }

   /* mobile navigation
   -------------------------------------------------------------------- */
   #nav-wrap>a {
      width: 50px;
      height: 50px;
      top: 15px;
      right: 15px;
   }

   #nav-wrap:target>ul#nav {
      margin: 75px 15px 0 0;
      min-width: 180px;
   }

   ul#nav li a {
      padding: 14px 20px;
      font-size: 10px;
   }

   /* header styles
   -------------------------------------------------------------------- */
   header .banner {
      padding-top: 24px;
   }

   header .banner-text h1 {
      font: 40px/1.1em "Consolas", "Courier New", monospace;
      margin: 0 auto 24px auto;
   }

   header .line-1 {
      font-size: 1.2em !important;
      line-height: 1.5em !important;
      white-space: normal !important;
      overflow: visible !important;
      transform: none !important;
      border-right: none !important;
      padding: 0 10px;
      margin-bottom: 10px;
   }

   .anim-typewriter {
      animation: none !important;
      width: auto !important;
   }

   header .banner-text h3 {
      font: 14px/1.9em 'Consolas', 'Courier New', monospace;
      width: 90%;
   }

   /* header social links */
   header .social {
      font-size: 20px;
   }

   header .social li {
      margin: 0 6px;
   }

   /* footer
   ------------------------------------------------------------------------ */

   /* social links */
   footer .social-links {
      font-size: 20px;
   }

   footer .social-links li {
      margin-left: 14px;
   }

}