@media screen and (max-width: 767px) {
  .panel-header {
    font-size: 1px; } }

#app {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0; }

#app {
  position: relative;
  -webkit-animation: fadeIn 500ms ease-in-out forwards;
  animation: fadeIn 500ms ease-in-out forwards; }

.selectors {
  position: absolute;
  top: 130px;
  left: 0;
  width: 30px;
  background: rgba(0, 0, 0, 0.1);
  height: 100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 1; }
  .selectors .selector {
    border: 1px solid #fff;
    background: none;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    margin: 5px 0;
    opacity: 0.6;
    cursor: pointer;
    -webkit-transition: background .3s ease-in-out, opacity .3s ease-in-out;
    -o-transition: background .3s ease-in-out, opacity .3s ease-in-out;
    transition: background .3s ease-in-out, opacity .3s ease-in-out; }
    .selectors .selector:hover, .selectors .selector.active {
      background: white;
      opacity: 0.9; }

section.wrapper {
  width: 100%;
  height: 100%;
  background-size: cover;
  -webkit-transition: background-image 500ms ease-in-out;
  -o-transition: background-image 500ms ease-in-out;
  transition: background-image 500ms ease-in-out; }

aside.panel {
  width: 40vw;
  height: 100%;
  opacity: 0.9;
  color: #fff;
  -webkit-box-shadow: 5px 0 25px 0 rgba(0, 0, 0, 0.3);
  box-shadow: 5px 0 25px 0 rgba(0, 0, 0, 0.3);
  -webkit-transition: background 500ms ease-in-out;
  -o-transition: background 500ms ease-in-out;
  transition: background 500ms ease-in-out; }
  aside.panel h2.panel-header,
  aside.panel p.panel-info {
    margin: 0;
    padding: 1.3rem 3.5rem; }
  aside.panel h2.panel-header {
    padding-top: 2em;
    font-weight: normal;
    font-size: 2.5rem; }
  aside.panel p.panel-info {
    font-size: 1.2rem;
    line-height: 1.8em; }
  aside.panel button.panel-button {
    margin: 1.3rem 3.5rem;
    padding: 0.8em 1.3em;
    background: none;
    border: 1px solid #fff;
    color: #fff;
    cursor: pointer;
    font-family: 'Montserrat';
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    -webkit-transition: color 0.5s ease-in-out, -webkit-box-shadow 0.5s ease-in-out;
    transition: color 0.5s ease-in-out, -webkit-box-shadow 0.5s ease-in-out;
    -o-transition: box-shadow 0.5s ease-in-out, color 0.5s ease-in-out;
    transition: box-shadow 0.5s ease-in-out, color 0.5s ease-in-out;
    transition: box-shadow 0.5s ease-in-out, color 0.5s ease-in-out, -webkit-box-shadow 0.5s ease-in-out; }
    aside.panel button.panel-button:hover {
      -webkit-box-shadow: inset 0 0 1.5em 1.5em #fff;
      box-shadow: inset 0 0 1.5em 1.5em #fff; }
    aside.panel button.panel-button:focus {
      outline: none; }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
