@import url('reset.css');
@import url('fonts.css');
@import url('relay.css?v=60');

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:root {
  --button-primary: #8E22C3;
  --content-default: #000;
  --content-inverted: #fff;
  --neutral-100: #f0f0f0;

  --margin-left-default: 30px;
  --margin-left-default-mobile: 15px;
}

html, body {
  position: relative;
  width: 100%;
  height: 100%;
}

body {
  color: #333;
  margin: 0;
  box-sizing: border-box;
  font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

h1 {
  font-style: normal;
  font-weight: bold;
  font-size: 64px;
  line-height: 72px;
  color: #000000;
}

h2 {
  font-style: normal;
  font-weight: 600;
  font-size: 48px;
  line-height: 56px;
  color: #000000;
}

p {
  font-style: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 32px;
  color: #000000;
}

a {
  color: rgb(0, 100, 200);
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

label {
  display: block;
}

input, button, select, textarea {
  font-family: inherit;
  font-size: inherit;
  box-sizing: border-box;
}

input:disabled {
  color: #ccc;
}

input[type="range"] {
  height: 0;
}

button {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0 24px;
  color: var(--content-default);
  box-shadow: 4px 2px 15px rgba(0, 0, 31, 0.16);
  border-radius: 4px;
  outline: none;
  border: none;
  height: 46px;
  cursor: pointer;
}

button:disabled {
  color: #999;
}

button:not(:disabled):active {
  cursor: pointer;
  background-color: #ddd;
}

button:focus {
  border-color: rgba(142, 34, 195, 0.9);
}

button.primary {
  color: var(--content-inverted);
  background-color: var(--button-primary);
  box-shadow: 4px 2px 15px rgba(154, 154, 167, 0.84);
  border-radius: 4px;
}

button.primary:hover {
  cursor: pointer;
  background-color: var(--button-primary);
}

button.primary:active {
  cursor: pointer;
  background-color: var(--button-primary);
}

button.secondary {
  background: #FFFFFF;
  box-shadow: 4px 2px 15px rgba(0, 0, 31, 0.16);
  border-radius: 4px;
}

/* Primary Ripple Out Button Animation */
@-webkit-keyframes hvr-ripple-out {
  100% {
    top: -6px;
    right: -6px;
    bottom: -6px;
    left: -6px;
    opacity: 0;
  }
}

@keyframes hvr-ripple-out {
  100% {
    top: -5px;
    right: -5px;
    bottom: -5px;
    left: -5px;
    opacity: 0;
  }
}

.hvr-ripple-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  
  position: relative;
}

.hvr-ripple-out:before {
  content: '';
  position: absolute;
  border: solid 6px var(--button-primary);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-animation-duration: 0.6s;
  animation-duration: 0.6s;
  border-radius: 4px;
}

.hvr-ripple-out:hover:before,
.hvr-ripple-out:focus:before,
.hvr-ripple-out:active:before {
  -webkit-animation-name: hvr-ripple-out;
  animation-name: hvr-ripple-out;
}


/* Secondary Ripple Out Button Animation */
@-webkit-keyframes hvr-ripple-out-sec {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
  }
}

@keyframes hvr-ripple-out-sec {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
  }
}

.hvr-ripple-out-sec {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}

.hvr-ripple-out-sec:before {
  content: '';
  position: absolute;
  border: solid 6px #fff;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  border-radius: 4px;
}

.hvr-ripple-out-sec:hover:before,
.hvr-ripple-out-sec:focus:before,
.hvr-ripple-out-sec:active:before {
  -webkit-animation-name: hvr-ripple-out-sec;
  animation-name: hvr-ripple-out-sec;
}

@media (max-width: 640px) {
  h1 {
    font-style: normal;
    font-weight: bold;
    font-size: 40px;
    line-height: 48px;
  }

  h2 {
    font-style: normal;
    font-weight: 600;
    font-size: 32px;
    line-height: 40px;
  }

  p {
    font-size: 16px;
    line-height: 30px;
  }
}
