@charset "UTF-8";
:root {
  --screen-width: 100%;
  --screen-height: auto;
  --header-bg-color: #8f41c9;
  --splash-bg-color: #000;
}


.nav__toggle {
  display: inline-block;
  position: absolute;
  z-index: 10;
  padding: 0;
  border: 0;
  background: transparent;
  outline: 0;
  right: 15px;
  top: 15px;
  cursor: pointer;
  border-radius: 50%;
  transition: background-color 0.15s linear;
}
.nav__toggle:hover, .nav__toggle:focus {
  background-color: rgba(0, 0, 0, 0.5);
}
.nav__menu {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: var(--screen-height);
  position: relative;
  z-index: 5;
  visibility: hidden;
  margin-top: -500px;
}
.nav__item {
  opacity: 0;
  transition: all 0.3s cubic-bezier(0, 0.995, 0.99, 1) 0.3s;
}
.nav__item:nth-child(1) {
  transform: translateY(-40px);
}
.nav__item:nth-child(2) {
  transform: translateY(-80px);
}
.nav__item:nth-child(3) {
  transform: translateY(-120px);
}
.nav__item:nth-child(4) {
  transform: translateY(-160px);
}
.nav__item:nth-child(5) {
  transform: translateY(-200px);
}
.nav__link {
  color: white;
  display: block;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 5px;
  font-size: 1.25rem;
  text-decoration: none;
  padding: 1rem;
}
.nav__link:hover, .nav__link:focus {
  outline: 0;
  background-color: rgba(0, 0, 0, 0.2);
}

.menuicon {
  display: block;
  cursor: pointer;
  color: white;
  transform: rotate(0deg);
  transition: 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.menuicon__bar, .menuicon__circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
}
.menuicon__bar {
  transform: rotate(0deg);
  transform-origin: 50% 50%;
  transition: transform 0.25s ease-in-out;
}
.menuicon__circle {
  transition: stroke-dashoffset 0.3s linear 0.1s;
  stroke-dashoffset: 144.513262038;
  stroke-dasharray: 144.513262038;
}

.social {text-transform: none; font-size: 1rem; letter-spacing: normal;}

.splash {
  position: absolute;
  top: 40px;
  right: 40px;
  width: 1px;
  height: 1px;
}
.splash::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 50%;
  background-color: var(--splash-bg-color);
  width: 284vmax;
  height: 284vmax;
  top: -142vmax;
  left: -142vmax;
  transform: scale(0);
  transform-origin: 50% 50%;
  transition: transform 0.5s cubic-bezier(0.755, 0.05, 0.855, 0.06);
  will-change: transform;
}

.nav:target > .splash::after,
.nav--open > .splash::after {
  transform: scale(1);
}
.nav:target .menuicon,
.nav--open .menuicon {
  color: white;
  transform: rotate(180deg);
}
.nav:target .menuicon__circle,
.nav--open .menuicon__circle {
  stroke-dashoffset: 0;
}
.nav:target .menuicon__bar:nth-child(1), .nav:target .menuicon__bar:nth-child(4),
.nav--open .menuicon__bar:nth-child(1),
.nav--open .menuicon__bar:nth-child(4) {
  opacity: 0;
}
.nav:target .menuicon__bar:nth-child(2),
.nav--open .menuicon__bar:nth-child(2) {
  transform: rotate(45deg);
}
.nav:target .menuicon__bar:nth-child(3),
.nav--open .menuicon__bar:nth-child(3) {
  transform: rotate(-45deg);
}
.nav:target .nav__menu,
.nav--open .nav__menu {
  visibility: visible;
  margin-top: 0px;
}
.nav:target .nav__item,
.nav--open .nav__item {
  opacity: 1;
  transform: translateY(0);
}




body {
  background-color: #d7d7d7;
  font-family: "Roboto";
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: top;
}

.viewport {
  width: var(--screen-width);
  height: var(--screen-height);
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  background-color: white;
}

p a {color: #8f41c9; text-decoration: none;}
p a:hover {text-decoration: underline; }

a.reset {color: #8f41c9; text-decoration: none; font-size: 1rem; line-height: 1rem; display: block; margin: 40px auto; text-align: center;}
a.reset:hover {text-decoration: underline; }

a.button {display: inline-block; margin: 10px auto 20px auto; background: #000; color: #fff; text-decoration: none; font-size: 20px; font-family: 'Roboto', sans-serif; font-weight: normal; text-transform: uppercase; letter-spacing: 1px; border-radius: 14px; padding: 10px 40px;}
a.freebutton {display: inline-block; margin: 10px auto 20px auto; background: #91d80e; color: #fff; text-decoration: none; font-size: 20px; font-family: 'Roboto', sans-serif; font-weight: normal; text-transform: uppercase; letter-spacing: 1px; border-radius: 14px; padding: 10px 40px;}
a.button:hover, a.freebutton:hover  {background-color: #6d35ce; transition: 0.3s; text-decoration: none;}
.button i, .freebutton i {font-size: 16px; margin-right: 10px; }

hr {border: none; border-top: 1px dotted #ccc; margin: 20px auto; max-width: 600px; padding: 0;}

.header {
  height: 5rem;
  background-image: linear-gradient(#b839bd, #7138d6);
  position: fixed; 
  display: block;
  width: 100%;
}

.header h1 {
  color: white;
  display: block;
  text-align: left;
  letter-spacing: 2px;
  font-size: 1.25rem;
  line-height: 3rem;
  text-decoration: none;
  padding: 1rem;
  }

.header h1 a {text-decoration: none; color: white;}

.outer {padding: 160px 20px 80px 20px;}
.outer2 {padding: 120px 20px 80px 20px;}
.outer h1 {color: #8f41c9; font-size: 36px; line-height: 46px; margin: 0 0 20px 0; display: block; text-align: center; font-size: 2.5rem; margin-bottom: 40px;}
.outer h2, .outer2 h2 {color: #8f41c9; font-size: 36px; line-height: 46px; margin: 0 10px; display: block; text-align: center; font-size: 1.5rem;}

.inner {background: url(header.jpg) top no-repeat; text-align: center; margin: 0px auto; padding: 40px 0px 20px 0; border-radius: 28px; max-width: 640px;}
.card {background: url(header.jpg) bottom no-repeat #8f41c9; text-align: center; max-width: 640px; border-radius: 28px; padding: 0 0 20px 0; margin: 40px auto;}
.inner h2, .inner h3, .card h2 {color: #fff; text-shadow: 1px 1px 2px #6d35ce; margin: 0 20px 20px 20px; font-size: 2.25rem; line-height: 2.5rem;}
.inner h3 {font-size: 1.5rem; line-height: 2rem; padding: 0 20px;}
.inner p, .card p {color: #fff; text-shadow: 1px 1px 2px #6d35ce; font-size: 1.2rem; line-height: 1.7rem; padding: 0 40px 20px 40px;}
.card p {color: #fff; text-shadow: 1px 1px 2px #6d35ce; font-size: 1rem; line-height: 1.5rem; padding: 0 10px 0 20px; margin-bottom: 0px; display: inline-block;}

.alert {background: #F99; color: #C00; text-shadow: none; padding: 14px 20px 14px 20px; margin: 0 40px 20px 40px; display: block; border-radius: 28px; fint-size: 1rem; line-height: 1.5rem; }
.status {max-width: 600px; text-align: center; margin: 0px auto 40px auto; background: #f0f0f0; border: 1px solid #eaeaea; padding: 20px; border-radius: 28px; color: #666; font-size: .9rem; line-height: 1rem;}

.meta {margin-top: 10px; display: inline-block; clear: after;}
.metabox {font-size: .7rem; line-height: 1rem; background: #6d35ce; margin: 0 2px 10px 2px; padding: 6px 12px 6px 10px; border-radius: 14px; display: inline-block; color: #FFF;}
.metabox i {margin: 0 4px 0 2px;}

.about {display: block; max-width: 640px; margin: 40px auto 0 auto; text-align: left;}
.about p {color: #666; font-size: 1.3rem; line-height: 1.8rem; padding: 0 0 20px 0;}

.logo {text-align: center; margin-bottom: 40px;}
.logo img {max-width: 180px;}

p.contact {margin: 0 0 20px 0; color: #FFF; font-size: .9rem; line-height: 1rem; padding: 0; text-align: center;}

.viewall {margin: 40px auto 0 auto; border-top: 1px solid #eaeaea; max-width: 600px; padding-top: 40px; text-align: center;}
.viewall a.button {font-size: 20px; padding: 20px 60px; border-radius: 28px; background: #6d35ce; }

.gallery {max-width: 640px; margin: 20px auto 0 auto; display: block; text-align: center;}
.gallery img, .card img { display: block; max-width: 100%; width: 100%; height: auto; margin: 0 0 40px 0;}
.gallery p {background: #f0f0f0; border: 1px solid #eaeaea; border-radius: 28px; color: #666; font-size: 1rem; line-height: 1.5rem; padding: 20px 28px; margin-bottom: 40px;}

.card img {border-radius: 28px 28px 0 0; margin-bottom: 20px;}

.hide {display: none;}
.footer {background: #f0f0f0; text-align: center; padding: 40px 20px; font-size: 12px; line-height: 20px; color: #8f41c9; }

@media screen and (min-width: 800px) {
	.header h1 {text-align: center;}
	.inner p {padding: 0 28px 20px 28px;}
	}
	
@media screen and (max-width: 800px) {
	.card p {display: block; padding: 0 14px;}
	.meta {display: block;}
	.viewall a.button {font-size: 16px;}
	}	