/* setting the default width of an element to include the padding and the border via the box-sizing property and border-box value */
* {
  box-sizing: border-box;
}

/* Layout styling */
.container {
  padding: 0 15px;
}

/* adds rows to div to make 2 column section */
.row {
  margin: 25px 0;

  /* 25px top and bottom, 0 left and right */
}

body {
  background-color: #fff;
  font-family: 'Roboto', sans-serif;
  font-size: 16px;

  /* Sets the font size to 16px */
  font-weight: 300;

  /* Sets the font weight to 300 */
  line-height: 1.6;

  /* Sets the line-height to 1.6 * the font-size */
  color: #4a4a4a;
}

header {
  width: 100%;
  background-color: #f2f2f2;
  padding: 10px 0 4px;
  -webkit-box-shadow: 0px 2px 4px 0px rgba(50, 50, 50, 0.42);
  -moz-box-shadow: 0px 2px 4px 0px rgba(50, 50, 50, 0.42);
  box-shadow: 0px 2px 4px 0px rgba(50, 50, 50, 0.42);
  position: fixed;
  z-index: 999999;
}

img {
  width: 100%;
}

h1,
h2,
h3,
h4 {
  line-height: 1.4;
}

h1 {
  font-size: 2.75em;
  font-weight: 700;
}

h2 {
  font-size: 2.25em;
  font-weight: 700;
}

h3 {
  font-size: 1.75em;
  font-weight: 400;
}

h4 {
  font-size: 1.35em;
  font-weight: 400;
}

/* Link Styling */
a {
  color: rgba(196, 22, 28, 1.0);
  text-decoration: none;

  /* No underlining */
}

/* visited link
a:visited {

  color: #333;
}
*/
a:hover,
a:focus {
  color: rgba(196, 22, 28, 0.5);
  text-decoration: underline;

  /* underlines on hover for accessibility */
}

.active {
  color: rgba(196, 22, 28, 1) !important;
}

a:active {
  /* selected link */
  color: rgba(196, 22, 28, 1.0);
}

/* "View Case Study" Buttons Styling */
.button {
  display: inline-block;

  /* since the <a >  tag is inline by default, we need to change this to inline-block */
  background-color: rgba(196, 22, 28, 1.0);
  color: #fff;

  /* needed to override the default link color */
  font-weight: 700;
  padding: 10px;
  border-radius: 3px;
  border-bottom: 2px solid #994c30;

  /* width of the border, type, color */
  transition-duration: 0.2s;

  /* animation-transition opacity */
  transition-property: opacity;
}

.button:hover {
  opacity: 0.8;

  /* Reduces the opacity of the button to 80% */
  color: #fff;
  text-decoration: none;
}

/* on mobile: hover action is visible when selecting the button */
.button:active {
  opacity: 0.8;

  /* Reduces the opacity of the button to 80% */
  color: #fff;
  text-decoration: none;
}

a[href^="tel:"] {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-decoration: underline;
}

/* "E-mail me" Buttons Styling */
.button.contact {
  background-color: transparent;
  color: rgba(196, 22, 28, 1.0);
  text-transform: uppercase;
  font-size: 18px;
  border: 2px solid rgba(196, 22, 28, 1.0);
  padding: 20px 20px;
  transition: 0.4s opacity, 0.5s background-color

  /* background color transition */
}

.button.contact:hover {
  background-color: rgba(196, 22, 28, 1.0);
  color: #fff;
}

/* on mobile: hover action is visible when selecting the button */
.button.contact:active {
  background-color: rgba(196, 22, 28, 1.0);
  color: #fff;
}

#emailbutton {
  padding: 20px 20px;
}

/* "Resume" Buttons Styling */
.button.resume {
  background-color: transparent;
  color: rgba(196, 22, 28, 1.0);
  text-transform: uppercase;
  border: 2px solid rgba(196, 22, 28, 1.0);
  transition: 0.4s opacity, 0.5s background-color;

  /* background color transition */
  text-decoration: none;
}

.button.resume:hover {
  background-color: rgba(196, 22, 28, 1.0);
  color: #fff;
  text-decoration: none;
}

/* on mobile: hover action is visible when selecting the button */
.button.resume:active {
  background-color: rgba(196, 22, 28, 1.0);
  color: #fff;
  text-decoration: none;
}

.button.resume:visited {
  text-decoration: none;
}

/* floating back to top button */
#myBtn {
  display: none; /* Hidden by default */
  position: fixed; /* Fixed/sticky position */
  bottom: 20px; /* Place the button at the bottom of the page */
  right: 0px; /* Place the button 30px from the right */
  z-index: 99; /* Make sure it does not overlap */
  border: none; /* Remove borders */
  outline: none; /* Remove outline */
  background-color: rgba(75,75,75,0.5); /* rgba(196,22,28,0.5)  #f2f2f2;Set a background color */
  color: white; /* Text color */
  cursor: pointer; /* Add a mouse pointer on hover */
  padding: 10px; /* Some padding */

  /*border-radius: 10px;  Rounded corners */
  font-size: 18px; /* Increase font size */
}

#myBtn:hover {
 background-color: #c4161c; /* Add a dark-grey background on hover */
}

.logo {
  max-width: 100px;
}

/*
nav {
  display: inline-block
  width: 100%;
}
*/
nav > ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

nav > ul > li {
  /*  display: inline-block; */
  text-transform: uppercase;
  font-weight: 700;
  color: #000;
}

nav > ul > li > a {
  padding: 0 15px;
  text-transform: uppercase;
  font-weight: 700;
  color: #000;
}

nav > ul > li > a:visited {
  padding: 0 15px;
  text-transform: uppercase;
  font-weight: 700;
  color: #000;
}

nav > ul > li > a:hover {
  padding: 0 15px;
  text-transform: uppercase;
  font-weight: 700;
  color: #c4161c;
}

nav > ul > li > a:active {
  padding: 0 15px;
  text-transform: uppercase;
  font-weight: 700;
  color: #c4161c;
}

.navtoggle.responsive li:last-child {
  padding: 0 0 10px;
}

.navtoggle li:not(:last-child) {
  display: none;
}

.navtoggle,
.navtoggle.responsive {
  position: relative;
}

.navtoggle.responsive nav {
  padding: 24px 0 0;
}

.navtoggle li .icon {
  position: absolute;
  right: 0;
  top: 35px;
  font-size: 20px;
  padding-right: 0;
}

.navtoggle.responsive li {
  display: block;
  padding: 10px 0;
  border-top: 1px solid rgba(70, 70, 70, 0.5);
}

/*
nav {
  z-index: 999999 !important;
}
/*

/* adds padding (same height as header) to allow for position fixed */
main {
  padding-top: 111px;
}

#hero {
  background-color: #f2f2f2;
  padding: 20px 0;
  display: inline-block;
  text-align: center;
  width: 100%;
}

#hero h1 {
  text-align: center;

  /* Centers text */
}

#hero span {
  display: block;
  font-size: 2.25em;
  font-weight: 700;
}

#hero h2 {
  text-align: center;
}

#work .row {
  padding-bottom: 25px;
  border-bottom: 1px solid #4a4a4a;
}

#contact {
  background-color: #000;
  color: white;
  padding: 20px 0;
  text-align: center;
  font-size: 16px;
  font-weight: 400;
}

#contact h2 {
  text-transform: uppercase;
}

#social {
  font-size: 30px;

  /* font size effects icon size */
  padding: 20px 20px;

  /* padding above above and under icons */
  text-align: center;
}

/* padding inbetween icons */
a > i {
  padding-right: 10px;
  padding-left: 10px;
}

#copyright {
  color: #fff;
}

/* About Page Styles */
#about-page main {
  padding-top: 111px;
}

#about-page h1 {
  text-align: center;
}

#about-page h2 {
  text-align: center;
}

#about-page h3 {
  margin-top: 0;
}

.center {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 50%;
}

/* Work Page (Index) Styles */
#work-page h3 {
  margin-top: 0;
}

#work-page h2 {
  text-align: center;
}

#hidebutton {
  display: none;
}

/* Ellicott City Unity Illustration Animation */

/* sets svg width to 100% so that it is responsive */

/*
.ec-unity-illustration {
width: 100%;
max-width: 100%;
height: auto;
}
*/
@keyframes color-change2 {
  from {
    fill: #fff;
  }

  to {
    fill: #a30c33;
  }
}

#E,
#C {
  animation-duration: 4s;
  animation-name: color-change2;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-timing-function: linear;
}

#U,
#N,
#I,
#T,
#Y {
  animation-duration: 4s;
  animation-name: color-change2;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-timing-function: linear;
}

/* Berlin Illustration Animation */

/* sets svg width to 100% so that it is responsive */
.berlin-illustration {
  width: 100%;
  max-width: 100%;
  height: auto;
}

@keyframes color-change {
  from {
    fill: #edc655;
  }

  to {
    fill: #f76414;
  }
}

.sun {
  animation-duration: 4s;
  animation-name: color-change;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-timing-function: linear;
}

@keyframes cloud-move {
  from {
    transform: translate(0, 50px);
  }

  to {
    transform: translate(200px, 50px);
  }
}

.cloud-front {
  animation-duration: 30s;
  animation-name: cloud-move;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-timing-function: linear;
}

@keyframes cloud-move-reverse {
  from {
    transform: translate(446px, 48px);
  }

  to {
    transform: translate(100px, 48px);
  }
}

.cloud-back {
  animation: 34s cloud-move-reverse infinite alternate linear;
}

@media only screen and (max-width: 640px) {
  .active {
    color: black !important;
  }
}

/* ==============================
Medium devices (640px and larger)
================================= */
@media only screen and (min-width: 640px) {
  .logo {
    width: 90px;
  }

  main {
    padding-top: 121px;
  }

  header {
    text-align: unset;
    padding: 20px 0 13px;
    width: 100%;
  }

  nav {
    width: auto;
    float: right;
    margin-top: 15px;
  }

  nav > ul {
    margin: 1em 0;
  }

  nav > ul > li {
    display: inline-block;
  }

  .navtoggle li:not(:last-child) {
    display: inline-block;
  }

  .navtoggle li:last-child {
    display: none;
    padding: 0 0 10px;
  }

  .col-md-6 {
    width: 50%;
  }

  /* 3 columns for Skills section on About page */
  .col-md-7 {
    width: 33%;
  }

  [class*="col-"] {
    float: left;
    padding: 20px 20px;
  }

  .row::after {
    content: "";
    clear: both;
    display: table;
  }

  .container {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }

  #about-page main {
    padding-top: 121px;
  }

  /* centers about photo */
  .center {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 30%;
  }

  #columnthree {
    padding-top: 55px;
  }
}

/* Nav CSS animation */
nav.container ul > li > a {
  color: #000;
  text-decoration: none;
  font: 20px Roboto;
  text-transform: uppercase;
  margin: 0px 10px;
  padding: 10px 10px;
  position: relative;
  z-index: 0;
  cursor: pointer;
}

nav.borderXwidth ul > li > a::before,
nav.borderXwidth ul > li > a::after {
  position: absolute;
  opacity: 0;
  width: 0%;
  height: 2px;
  content: '';
  background: rgba(196, 22, 28, 1.0);
  transition: all 0.3s;
}

nav.borderXwidth ul > li > a::before {
  left: 0px;
  top: 0px;
}

nav.borderXwidth ul > li > a::after {
  right: 0px;
  bottom: 0px;
}

nav.borderXwidth ul > li > a:hover::before,
nav.borderXwidth ul > li > a:hover::after {
  opacity: 1;
  width: 100%;
}

/*
@media only screen and (max-width: 450px) {

  .logo {
    width: 150px;
  }

}
*/

/* ==============================
Large devices (1024px or larger)
================================= */
@media only screen and (min-width: 1024px) {
  body {
    font-size: 18px;
  }

  main {
    padding-top: 122px;
  }

  #hero {
    text-align: center;
  }

  .col-lg-7 {
    width: 60%;
    float: left;
  }

  .col-lg-5 {
    width: 40%;
  }

  #columnthree {
    padding-top: 66px;
  }
}

/* Nav CSS animation */
nav.container ul > li > a {
  color: #000;
  text-decoration: none;
  font: 20px Roboto;
  text-transform: uppercase;
  margin: 0px 10px;
  padding: 10px 10px;
  position: relative;
  z-index: 0;
  cursor: pointer;
}

nav.borderXwidth ul > li > a::before,
nav.borderXwidth ul > li > a::after {
  position: absolute;
  opacity: 0;
  width: 0%;
  height: 2px;
  content: '';
  background: rgba(196, 22, 28, 1.0);
  transition: all 0.3s;
}

nav.borderXwidth ul > li > a::before {
  left: 0px;
  top: 0px;
}

nav.borderXwidth ul > li > a::after {
  right: 0px;
  bottom: 0px;
}

nav.borderXwidth ul > li > a:hover::before,
nav.borderXwidth ul > li > a:hover::after {
  opacity: 1;
  width: 100%;
}

/* ==============================
X-large devices (1440px or larger)
================================= */
@media only screen and (min-width: 1440px) {
  .logo {
    width: 100px;
  }

  body {
    font-size: 18px;
  }

  main {
    padding-top: 131px;
  }

  #hero {
    text-align: center;
  }

  .col-lg-7 {
    width: 60%;
    float: left;
  }

  .col-lg-5 {
    width: 40%;
  }

  #about-page main {
    padding-top: 131px;
  }
}

/* Nav CSS animation */
nav.container ul > li > a {
  color: #000;
  text-decoration: none;
  font: 20px Roboto;
  text-transform: uppercase;
  margin: 0px 10px;
  padding: 10px 10px;
  position: relative;
  z-index: 0;
  cursor: pointer;
}

nav.borderXwidth ul > li > a::before,
nav.borderXwidth ul > li > a::after {
  position: absolute;
  opacity: 0;
  width: 0%;
  height: 2px;
  content: '';
  background: rgba(196, 22, 28, 1.0);
  transition: all 0.3s;
}

nav.borderXwidth ul > li > a::before {
  left: 0px;
  top: 0px;
}

nav.borderXwidth ul > li > a::after {
  right: 0px;
  bottom: 0px;
}

nav.borderXwidth ul > li > a:hover::before,
nav.borderXwidth ul > li > a:hover::after {
  opacity: 1;
  width: 100%;
}

/* ==============================
Extra-large devices (1920px or larger)
================================= */
@media only screen and (min-width: 1920px) {
  .logo {
    width: 150px;
  }

  body {
    font-size: 20px;
  }

  main {
    padding-top: 132px;
  }

  #hero {
    text-align: center;
  }

  .col-lg-7 {
    width: 60%;
    float: left;
  }

  .col-lg-5 {
    width: 40%;
  }

  #about-page main {
    padding-top: 177px;
  }
}

html {
  scroll-behavior: smooth;
}

/* Nav CSS animation */
nav.container ul > li > a {
  color: #000;
  text-decoration: none;
  font: 20px Roboto;
  text-transform: uppercase;
  margin: 0px 10px;
  padding: 10px 10px;
  position: relative;
  z-index: 0;
  cursor: pointer;
}

nav.borderXwidth ul > li > a::before,
nav.borderXwidth ul > li > a::after {
  position: absolute;
  opacity: 0;
  width: 0%;
  height: 2px;
  content: '';
  background: rgba(196, 22, 28, 1.0);
  transition: all 0.3s;
}

nav.borderXwidth ul > li > a::before {
  left: 0px;
  top: 0px;
}

nav.borderXwidth ul > li > a::after {
  right: 0px;
  bottom: 0px;
}

nav.borderXwidth ul > li > a:hover::before,
nav.borderXwidth ul > li > a:hover::after {
  opacity: 1;
  width: 100%;
}

/* ==============================
fixes hamburger menu line animation
================================= */
@media only screen and (max-width: 640px) {
  nav.borderXwidth ul > li > a::before,
  nav.borderXwidth ul > li > a::after {
    background: #f2f2f2;
  }
}

/* colors used
primary color (red):#c4161c web color#cc0000
rgba(196,22,28,0.0)

secondary color (dark gray): #333
light gray:#f2f2f2
 */
