/*************************
* Imports
*************************/
@import url("https://fonts.googleapis.com/css?family=PT+Sans|Ubuntu&display=swap");
/*************************
* Variables
*************************/
/*************************
* Generic Stylings
*************************/
body {
  margin: 0px;
}

h1, h3 {
  font-family: Ubuntu;
  font-size: 3.5em;
  color: #2a2a2a;
}

h2,
h4,
h5,
h6 {
  font-family: Ubuntu;
  font-size: 3.5em;
  color: dodgerblue;
}

h2 span,
h4 span,
h5 span,
h6 span {
  color: #2a2a2a;
}

p,
span,
footer,
li,
a {
  font-family: PT Sans;
  color: #2a2a2a;
}

main p {
  font-size: 2em;
}

#header_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

a {
  text-decoration: none;
}

nav div p {
  color: white;
}

#iLove {
  font-size: 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0px;
}

#avatarImage {
  position: relative;
  bottom: 20px;
}

#header_change {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 15px;
  margin-top: 25px;
  border: 4px solid #2a2a2a;
  border-radius: 25px;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  cursor: pointer;
}

div.contact_icons_container {
  max-width: 400px;
  margin: auto;
  padding: 30px;
}

div.div_header {
  max-width: 400px;
  margin: auto;
}

.contactHeader {
  text-align: center;
  padding-top: 30px;
}

.change {
  display: inline-block;
  font-weight: 900;
  font-size: 1.25em;
  margin-left: 10px;
  padding: 8px 15px 8px 15px;
  background-color: dodgerblue;
  color: white;
  border: 4px solid #2a2a2a;
  border-radius: 50%;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

#header_change:hover .change {
  background-color: deepskyblue;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

h1 {
  font-size: 15vw;
  padding: 0px;
  margin: 25px 0px 0px 0px;
  border-top: 6px solid dodgerblue;
  border-bottom: 6px solid dodgerblue;
}

#nav_logo {
  font-family: Ubuntu;
}

#img_container {
  border: 10px solid #cacaca;
  background-color: #cacaca;
  border-radius: 50%;
  height: 250px;
  overflow: hidden;
  width: 250px;
}

.menu-bar {
  background-color: white;
  height: 5px;
  width: 35px;
  margin: 6px 0px;
}

#menu-icon {
  cursor: pointer;
}

.bar-one,
.bar-two,
.bar-three {
  -webkit-transition: .4s;
  transition: .4s;
}

.changeMenu .bar-one {
  -webkit-transform: rotate(-45deg) translate(-9px, 6px);
          transform: rotate(-45deg) translate(-9px, 6px);
}

.changeMenu .bar-two {
  opacity: 0;
}

.changeMenu .bar-three {
  -webkit-transform: rotate(45deg) translate(-8px, -8px);
          transform: rotate(45deg) translate(-8px, -8px);
}

.sidenav {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 3;
  top: 0;
  right: 0;
  background-color: #cacaca;
  overflow-x: hidden;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  padding-top: 60px;
}

.sidenav a {
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  font-size: 25px;
  color: #2a2a2a;
  display: block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.sidenav a:hover {
  color: #f1f1f1;
}

.sidenav .closebtn {
  position: absolute;
  top: 0;
  right: 25px;
  font-size: 36px;
  margin-left: 50px;
}

.sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
}

html {
  scroll-behavior: smooth;
}

.footer_div, .main_div {
  padding: 4% 13% 4% 13%;
}

.tile-front h3 {
  margin: 5%;
}

h2 {
  padding-top: 30px;
  text-decoration: underline;
  -webkit-text-decoration-color: dodgerblue;
          text-decoration-color: dodgerblue;
}

#contact h2 {
  -webkit-text-decoration-color: white;
          text-decoration-color: white;
}

.main_div {
  border-top: 2px solid #E6ECF8;
}

.main_div:nth-of-type(odd) {
  background-color: #f5f5f5;
}

.div_header {
  margin: 15px;
}

.div_header h2 {
  margin: 0px;
}

#coreIMG {
  position: relative;
  width: 100%;
}

#hours {
  overflow: hidden;
}

#grandfather {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: -1;
}

#a_here {
  text-decoration: underline;
  -webkit-transition: .3s;
  transition: .3s;
}

#a_here:hover {
  color: dodgerblue;
}

#arm {
  position: absolute;
  width: 5vw;
  height: 100vh;
  background-color: burlywood;
  top: -50vh;
  opacity: .2;
  z-index: 0;
}

#ball {
  position: absolute;
  background-color: gold;
  height: 40vw;
  width: 40vw;
  border: 15px solid goldenrod;
  border-radius: 50%;
  top: 48.5vh;
  z-index: 2;
  opacity: .2;
}

#grandfather {
  -webkit-animation: swing 6s infinite;
          animation: swing 6s infinite;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
  }
  40% {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
  }
  60% {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
  }
  80% {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
  }
  40% {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
  }
  60% {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
  }
  80% {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}

#tile-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.project-tile {
  background-color: transparent;
  width: 300px;
  height: 150px;
  border: 2px solid #cacaca;
  -webkit-perspective: 1000px;
          perspective: 1000px;
}

.tile-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  -webkit-transition: -webkit-transform 0.8s;
  transition: -webkit-transform 0.8s;
  transition: transform 0.8s;
  transition: transform 0.8s, -webkit-transform 0.8s;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

.project-tile:hover .tile-inner {
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
}

.tile-front,
.tile-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.tile-front {
  background-color: white;
  color: #2a2a2a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.tile-back {
  background-color: dodgerblue;
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.tile-back p {
  font-size: 1.7em;
  line-height: 1.7;
  color: white;
  margin: 0px 30px 0px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}

.tile-back a {
  margin-bottom: 15px;
  cursor: pointer;
  color: white;
  top: -35px;
  text-decoration: none;
  border: 1px solid white;
  border-radius: 8px;
  padding: 4px;
  font-size: 2em;
  -webkit-transition: .3s;
  transition: .3s;
}

.tile-back a:hover {
  background-color: white;
  color: blue;
}

#contact {
  background-color: dodgerblue;
  height: 20vh;
  margin-bottom: 30px;
}

#contact h2 {
  padding-top: 0px;
  color: white;
}

.contact_icons_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.contact_icons_container .fa {
  padding: 6px;
  font-size: 30px;
  width: 30px;
  text-align: center;
  text-decoration: none;
  border-radius: 50%;
  color: white;
  border: 4px solid white;
  cursor: pointer;
}

.contact_icons_container .fa:hover {
  opacity: 0.7;
}

footer {
  bottom: .5em;
  width: 100%;
  background-color: dodgerblue;
  padding-bottom: 5px;
}

footer .footer_div {
  padding: 25px 25px 0px 25px;
  border-top: 2px solid #E6ECF8;
}

footer p {
  color: white;
  text-align: center;
  padding-bottom: 5px;
  padding-top: 20px;
}

#core-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/*************************
* Mobile Stylings
*************************/
header {
  height: 100vh;
}

.main_div {
  padding: 25px;
}

#navbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 60px;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 2.5em;
  color: white;
  background-color: dodgerblue;
}

#header_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
}

#tile-container {
  width: 100%;
  margin: 0px;
  padding: 0px;
}

.project-tile {
  font-size: .5em;
  border-radius: 5px;
  border: 2px solid #E6ECF8;
  width: 100%;
  height: 250px;
  margin: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/*************************
* Small Tablet Stylings
*************************/
@media only screen and (min-width: 500px) {
  .project-tile {
    height: 300px;
    width: 300px;
  }
  .tile-back p {
    font-size: 1.8em;
    line-height: 2;
  }
  h1 {
    font-size: 5em;
  }
  .contact_icons_container .fa {
    padding: 10px;
  }
  #contact {
    padding: 25px 10% 0px 10%;
  }
}

/*************************
* Big Tablet Stylings
*************************/
@media only screen and (min-width: 700px) {
  .project-tile {
    height: 375px;
    width: 375px;
  }
  .tile-back p {
    font-size: 2em;
    line-height: 2;
  }
  .tile-back a {
    margin-bottom: 40px;
  }
  #coreIMG {
    width: 60%;
  }
  #tile-container {
    padding-bottom: 25px;
  }
}

/*************************
* Full Desktop Stylings
*************************/
@media only screen and (min-width: 848px) {
  .main_div {
    padding: 2% 13% 2% 13%;
  }
  .project-tile {
    height: 325px;
    width: 325px;
  }
  #coreIMG {
    width: 40%;
  }
  .tile-back p {
    font-size: 2em;
    line-height: 2;
  }
  .tile-back a {
    margin-bottom: 30px;
  }
  #arm {
    width: 3vh;
  }
  #ball {
    height: 20vw;
    width: 20vw;
  }
  #navbar {
    padding: 0px 13% 0px 13%;
  }
  #contact {
    padding: 2% 13% 0% 13%;
  }
}
/*# sourceMappingURL=portfolio-screen.css.map */