/*******************************************************************/
/**************                                      ***************/
/**************  CSS STYLES: IN ORDER OF APPEARANCE  ***************/
/**************                                      ***************/
/*******************************************************************/
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

article, aside, footer, header, nav, section {
  display: block; }

h1 {
  font-size: 2em;
  margin: .67em 0; }

figcaption, figure, main {
  display: block; }

figure {
  margin: 1em 40px; }

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace,monospace;
  font-size: 1em; }

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects; }

a:active, a:hover {
  outline-width: 0; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted; }

b, strong {
  font-weight: inherit; }

b, strong {
  font-weight: bolder; }

code, kbd, samp {
  font-family: monospace,monospace;
  font-size: 1em; }

dfn {
  font-style: italic; }

mark {
  background-color: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

audio, video {
  display: inline-block; }

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

img {
  border-style: none; }

svg:not(:root) {
  overflow: hidden; }

button, input, optgroup, select, textarea {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button, input {
  overflow: visible; }

button, select {
  text-transform: none; }

button, html [type=button], [type=reset], [type=submit] {
  -webkit-appearance: button; }

button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: .35em .625em .75em; }

legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  display: inline-block;
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type=checkbox], [type=radio] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0; }

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto; }

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details, menu {
  display: block; }

summary {
  display: list-item; }

canvas {
  display: inline-block; }

template {
  display: none; }

[hidden] {
  display: none; }

/*******************************************************************/
/**************                                      ***************/
/**************                DESKTOP               ***************/
/**************                                      ***************/
/*******************************************************************/
/*******************************************************************/
/**************                PAGE                  ***************/
/*******************************************************************/
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

html {
  background: black;
  font-family: 'Crimson Text', serif;
  font-size: 62.5%; }

body {
  background: url("/assets/images/wallpaper.jpg");
  position: relative; }

header {
  background: rgba(255, 255, 255, 0.15); }

header, nav {
  margin: 0.5vh 0; }

nav, div.container, div.home > i, div.top > i {
  background: rgba(255, 255, 255, 0.5); }

div.home > i:focus, div.home > i:hover, div.top > i:focus, div.top > i:hover {
  background: rgba(255, 255, 255, 0.25); }

div.wrapper {
  margin: 0 auto;
  width: 90vw; }

div.container {
  border-radius: 1rem;
  margin: 0 auto;
  padding: 5vh 5vw;
  width: 100%; }

div.home, div.top {
  margin: 1.5vh auto;
  text-align: center; }
  div.home i, div.top i {
    border-radius: 50%;
    margin: 0;
    padding: 0.5rem; }

ol, ul, li {
  list-style: inside none;
  margin: 0;
  padding: 0; }

ul.fa-ul {
  margin-left: 3rem; }

li.fa-li {
  display: block; }

h1, h2, h3, h4, h5, h6 {
  margin: 0; }

h1 {
  font-family: 'UnifrakturCook', serif;
  font-size: calc(4.5rem + 1.5vw);
  margin: 0.5vh 0.5vw; }

h2 {
  font-family: 'UnifrakturCook', serif;
  font-size: calc(2rem + 1vw);
  letter-spacing: 0.1rem; }

h3 {
  font-family: 'Eagle Lake', serif;
  font-size: calc(1.5rem + 0.25vw); }

h4 {
  font-family: 'Eagle Lake', serif;
  font-size: calc(1.2rem + 0.25vw); }

a {
  color: black;
  font-size: calc(1.6rem + 0.25vw);
  text-decoration: none; }

a:focus, a:hover, i:focus, i:hover {
  color: white;
  text-shadow: 2px 2px 2px black; }

p {
  font-size: calc(1.6rem + 0.25vw);
  line-height: 1.24;
  margin: 1vh 0; }

.clearfix:after {
  clear: both;
  content: " ";
  display: block;
  font-size: 0;
  height: 0;
  visibility: hidden; }

.xFlex, .yFlex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.xFlex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row; }

.yFlex {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.rotate {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

/*******************************************************************/
/**************                ANIMATION             ***************/
/*******************************************************************/
.flash {
  -webkit-animation: 1s ease-in 2s 1 flash;
  animation: 1s ease-in 2s 1 flash; }

@-webkit-keyframes flash {
  10%, 30% {
    background: white; }
  20%, 50% {
    background: rgba(255, 255, 255, 0.5); } }

@keyframes flash {
  10%, 30% {
    background: white; }
  20%, 50% {
    background: rgba(255, 255, 255, 0.5); } }

svg.strike {
  -webkit-transform: scale(2.5);
  -ms-transform: scale(2.5);
  transform: scale(2.5);
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center; }

.bolt {
  -webkit-animation: 1s ease-in 2s 1 bolt;
  animation: 1s ease-in 2s 1 bolt;
  fill: rgba(255, 255, 255, 0);
  left: -150px;
  position: absolute;
  top: 25px; }

@-webkit-keyframes bolt {
  0% {
    left: 0;
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
    -webkit-transform-origin: left center;
    transform-origin: left center; }
  10% {
    fill: white; }
  20%, 40% {
    fill: rgba(255, 255, 255, 0.8); }
  30% {
    fill: white;
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg);
    -webkit-transform-origin: center center;
    transform-origin: center center; }
  50% {
    fill: rgba(255, 255, 255, 0.25);
    left: -100px;
    -webkit-transform: rotate(1deg);
    transform: rotate(1deg);
    -webkit-transform-origin: center center;
    transform-origin: center center; }
  75% {
    fill: rgba(255, 255, 255, 0.05);
    left: -150px;
    -webkit-transform: rotate(-1deg);
    transform: rotate(-1deg);
    -webkit-transform-origin: center center;
    transform-origin: center center; } }

@keyframes bolt {
  0% {
    left: 0;
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
    -webkit-transform-origin: left center;
    transform-origin: left center; }
  10% {
    fill: white; }
  20%, 40% {
    fill: rgba(255, 255, 255, 0.8); }
  30% {
    fill: white;
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg);
    -webkit-transform-origin: center center;
    transform-origin: center center; }
  50% {
    fill: rgba(255, 255, 255, 0.25);
    left: -100px;
    -webkit-transform: rotate(1deg);
    transform: rotate(1deg);
    -webkit-transform-origin: center center;
    transform-origin: center center; }
  75% {
    fill: rgba(255, 255, 255, 0.05);
    left: -150px;
    -webkit-transform: rotate(-1deg);
    transform: rotate(-1deg);
    -webkit-transform-origin: center center;
    transform-origin: center center; } }

/*******************************************************************/
/**************                HEADER                ***************/
/*******************************************************************/
header {
  color: white; }
  header div.wrapper {
    position: relative; }
    header div.wrapper div.logo svg {
      fill: white;
      max-width: calc(50px + 1vw); }
    header div.wrapper p {
      -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
      align-self: flex-end;
      color: white;
      font-family: 'Eagle Lake', serif;
      font-size: calc(1.2rem + 0.5vw);
      margin: 0;
      position: absolute;
      right: 0;
      text-align: right; }

nav ul.menu a {
  display: block;
  font-family: 'UnifrakturCook', serif;
  font-size: calc(1.8rem + 0.25vw);
  letter-spacing: 0.1rem;
  padding: 0.5vh 2vw; }

div.hamburger {
  position: absolute;
  visibility: hidden; }
  div.hamburger h2 {
    display: inline-block; }

/*******************************************************************/
/**************                MAIN                  ***************/
/*******************************************************************/
section.intro, section.contact, section.about, section.gallery {
  min-height: 90vh;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center; }

section.contact div.container:nth-child(1) {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 1vh; }
  section.contact div.container:nth-child(1) a {
    font-family: 'UnifrakturCook', serif;
    font-size: calc(2rem + 0.75vw);
    letter-spacing: 0.1rem; }
    section.contact div.container:nth-child(1) a i {
      margin-right: 1rem; }

section.contact div.container:nth-child(2) li {
  margin: 1.5vh 0; }
  section.contact div.container:nth-child(2) li a {
    font-family: 'Eagle Lake', serif;
    font-size: calc(1.1rem + 0.25vw); }

section.about ul, section.about li, section.gallery ul, section.gallery li {
  padding: 1vh 0; }

section.about h3, section.about h4, section.gallery h3, section.gallery h4 {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
  display: inline-block;
  margin: 0 0.5vw; }

section.about div.dropdown, section.gallery div.dropdown {
  display: none; }
  section.about div.dropdown a, section.gallery div.dropdown a {
    display: block; }

section.gallery div.dropdown {
  margin-bottom: 45vh; }
  section.gallery div.dropdown li {
    display: inline-block;
    margin: 1vh 1vw;
    width: 22%; }
    section.gallery div.dropdown li figure {
      margin: 0; }
      section.gallery div.dropdown li figure img {
        border: 2px solid rgba(0, 0, 0, 0.5);
        border-radius: 1rem;
        margin-bottom: 1vh;
        -webkit-transition: all 0.5s ease-in-out;
        -o-transition: all 0.5s ease-in-out;
        transition: all 0.5s ease-in-out;
        width: 100%; }
      section.gallery div.dropdown li figure img:focus, section.gallery div.dropdown li figure img:hover {
        -webkit-transform: scale(2);
        -ms-transform: scale(2);
        transform: scale(2); }
      section.gallery div.dropdown li figure img[src*='panda.jpg'] {
        width: 92.5%; }
      section.gallery div.dropdown li figure img[src*='panda.jpg']:focus, section.gallery div.dropdown li figure img[src*='panda.jpg']:hover, section.gallery div.dropdown li figure img[src*='rkca']:focus, section.gallery div.dropdown li figure img[src*='rkca']:hover {
        -webkit-transform: scale(1.5);
        -ms-transform: scale(1.5);
        transform: scale(1.5); }

/*******************************************************************/
/**************                FOOTER                ***************/
/*******************************************************************/
footer {
  color: rgba(255, 255, 255, 0.75); }
  footer p {
    font-size: calc(1.1rem + 0.25vw);
    margin: 0;
    text-align: center; }

/*******************************************************************/
/**************                                      ***************/
/**************                TABLET                ***************/
/**************                                      ***************/
/*******************************************************************/
@media only screen and (max-width: 600px) {
  div.wrapper {
    width: 95%; }
  section.gallery div.dropdown li {
    width: 100%; }
    section.gallery div.dropdown li figure img:focus, section.gallery div.dropdown li figure img:hover, section.gallery div.dropdown li figure img[src*='panda.jpg']:focus, section.gallery div.dropdown li figure img[src*='panda.jpg']:hover, section.gallery div.dropdown li figure img[src*='rkca']:focus, section.gallery div.dropdown li figure img[src*='rkca']:hover {
      -webkit-transform: none;
      -ms-transform: none;
      transform: none; }
    section.gallery div.dropdown li figure img[src*='panda.jpg'] {
      width: 100%; } }

/*******************************************************************/
/**************                                      ***************/
/**************                MOBILE                ***************/
/**************                                      ***************/
/*******************************************************************/
@media only screen and (max-width: 480px) {
  nav div.hamburger {
    left: 2rem;
    position: relative;
    visibility: visible; }
  nav .menu {
    display: none; }
  nav .dropMenu {
    display: block;
    margin-left: 3.5rem; }
  section.contact div.container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 25vh;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 2vh 2.5vw; }
  section.contact div.container:nth-child(1) {
    max-width: 59%;
    text-align: center; }
  section.contact div.container:nth-child(2) {
    max-width: 39%; } }
