:root{
  --dark_blue:#00010e;
  --nav_blue:#02031a;
  --gold:#cfb788;
  --lpink:#f39aac;
  --bpink:#fb32d2;
  --deeppink:#d81778;
  --deeppink2:#ff76ba;
}

.group:after {
  content: "";
  display: table;
  clear: both;
}

* {
  padding:0;
  margin:0;
  box-sizing: border-box;
	font-family:inherit;
	color:inherit;
}

::selection {
  background: #df3b97;
  color:#fff;
  -webkit-text-fill-color:#fff;
}

img {
  max-width:100%;
  display:block;
}

.wrap {
  position:relative;
  width:1240px;
  padding:0 20px;
  max-width:100%;
  margin:0 auto;
  clear:both;
}

#burger,
#mobnav {
  display:none;
}

html {
  min-height:100vh;
}

body {
  float:left;
  width:100%;
  font-size:62.5%;
  background-color:var(--dark_blue);
  background-repeat: no-repeat;
  color:#fff;
  min-height:100%;
  font-family: 'Montserrat', sans-serif;
  min-height:100vh;
}

header {
  position:fixed;
  z-index:100;
  float:left;
  clear:left;
  width:20%;
  height:100%;
  left:0;
  top:0;
  background-color:var(--nav_blue);
  padding:4.5em;
  display:grid;
}

  header .inner {
    align-self: center;
  }

  .logo {
    float:left;
    width:100%;
    user-select: none;
    margin-bottom:2em;
  }

    .logo img {
      width:100%;
    }

    nav,
    nav ul,
    nav li,
    nav a {
  		float:left;
      clear:left;
      width:100%;
      list-style: none;
    }

          nav a,
          nav button {
            text-decoration: none;
            font-size:1.3em;
            text-align: right;
            padding:0.75em 0;
            text-transform: uppercase;
          }

            nav ul li a:hover,
            nav button:hover,
            .active{
              color:var(--deeppink);
            }

            .social {
              float:right;
              margin-top:3em;
            }

            .social a {
              float:right;
              clear:none;
              border:none;
              padding:0;
              margin-left:0.5em;
              width:auto;
            }

            .social a img {
              width:25px;
            }

            .social a img:last-of-type {
              display:none;
            }

            .social a:hover img:first-of-type {
              display:none;
            }

            .social a:hover img:last-of-type {
              display:block;
            }

            nav button {
              background:none;
              outline:none;
              border:none;
              cursor: pointer;
            }
          
            .subnav {
              display:none;
              position:absolute;
              padding-top:50%;
              z-index:9;
              left: 50%;
              transform: translateX(-50%);
            }

            nav li:hover .subnav {
              display:block;
            }

              .subnav li {
                float:left;
                clear:left;
                width:100%;
              }

                .subnav a {
                  background-color:var(--dark_blue);
                  min-width:175px;
                  width:100%;
                  text-align: center;
                }

.flex {
  display:-webkit-flex;
  display:flex;
  -webkit-flex-direction:row;
  flex-direction:row;
  -webkit-flex-wrap:wrap;
  flex-wrap:wrap;
}

.fcw {
  float:left;
  clear:left;
  width:100%;
}

.main {
  width:80%;
  float:right;
  min-height:100vh;
}

.main p,
.main li{
	font-size:1.4em;
	line-height:1.6;
	margin-bottom:1em;
  clear:left;
}

.main ul,
.main ol {
  margin:2em;
}

  .main li {
    padding-left:1em;
  }

.main h2,
.main h3,
.main h4,
.main h5,
.main h6 {
	font-size:2.5em;
	margin-bottom:1em;
}

.main h3 {
	font-size:2.2em;
}

.main h4 {
	font-size:1.9em;
}

.main h5 {
	font-size:1.6em;
}

.main h6 {
	font-size:1.3em;
}

.main td {
  font-size:1.6em;
  padding:1em;
}

  .main td p,
  .main td li {
    font-size:1em;
    margin-bottom:0;
  }

  .main td img {
    display:inline-block;
  }

.large-btn-wrap {
  clear:both;
  text-align: center;
}

  .large-btn {
    float:none;
    clear:both;
    display:inline-block;
    margin:0 auto;
    text-align: center;
    border-radius: 10em;
    text-transform: uppercase;
    letter-spacing: 0.075em;
    font-size:1vw;
    font-weight: bold;
    padding:1.25em 4em;
    text-decoration: none;
    -webkit-animation:fading_pink_bg 20s ease-in-out infinite;
    -moz-animation:fading_pink_bg 20s ease-in-out infinite;
    animation:fading_pink_bg 20s ease-in-out infinite;
  }

    .large-btn:hover {
      animation:none;
      background-color:#fff;
      color:var(--dark_blue);
    }

.transition {
  transition:all 1s ease-out;
}

  .fadein {
    opacity:0;
  }

  .fadein.go {
    opacity:1;
  }

.align_left {
  float:left;
}

.align_right {
  float:right;
}

.align_center {
  text-align: center;
}

img.align_left {
  margin:0.5em 1em 1em 0;
}

img.align_right {
  margin:0.5em 0 1em 1em;
}

img.align_center {
  display:block;
  margin-left:auto;
  margin-right:auto;
}

.centred {
  position: absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}

.watch-box,
.ml-popup {
  position:fixed;
  left:0;
  top:0;
  width:100%;
  height:100%;
  background-color:#000A;
  padding:5%;
  z-index:100;
  display:none;
}

  .watch-box .content {
    width:1000px;
    max-width:100%;
  }
  
    .multivid {
      display:grid;
      grid-template-columns: 1fr 1fr;
      grid-gap:2.5em;
      padding: 0 4% 4%;
    }
  
    .TextformatterVideoEmbed{
      margin:0;
    }
  
      .TextformatterVideoEmbed iframe {
        padding:1em;
        -webkit-animation:rainbow_bg 20s ease-in-out infinite;
        -moz-animation:rainbow_bg 20s ease-in-out infinite;
        animation:rainbow_bg 20s ease-in-out infinite;
      }

  .ml-form {
    position:absolute;
    inset:50% 0 0 50%;
    transform:translate(-50%,-50%);
    width:500px;
    max-width:100%;
  }
  
footer {
  float:left;
  clear:left;
  width:100%;
  margin-top:5em;
  padding-bottom:5em;
}

  #prism3 {
    position:absolute;
    left:20%;
    bottom:0;
    width:50%;
  }

  #fp1 {
    position:absolute;
    right:30%;
    bottom:3em;
    width:2%;
  }

  #fp2 {
    position:absolute;
    right:39%;
    bottom:6em;
    width:3%;
    animation-duration: 6s;
  }

  .main p.copyright {
    padding:3em;
    text-align: center;
    font-size:0.9em;
    line-height:1.5;
    width:100%;
    opacity:0.4;
    margin-bottom:2em;
  }

    .close {
      position:absolute;
      right:-1em;
      top:-0.5em;
      background-color:#fff;
      color:#111;
      font-size:1.8em;
      text-decoration:none;
      padding:0.5em;
      border-radius: 10em;
      width:2.25em;
      text-align: center;
      z-index:5;
    }

  .spin {
    -webkit-animation:spin 8s ease-in-out infinite;
    -moz-animation:spin 8s ease-in-out infinite;
    animation:spin 8s ease-in-out infinite;
    animation-direction: alternate;
  }

  .spin-reverse {
    animation-direction: alternate-reverse;
  }

  .spin1 {
    -webkit-animation:spin 8s ease-in-out infinite;
      -moz-animation:spin 8s ease-in-out infinite;
      animation:spin 8s ease-in-out infinite;
    animation-direction: alternate;
  }
  
  .spin2 {
    -webkit-animation:spin 15s ease-in-out infinite;
      -moz-animation:spin 15s ease-in-out infinite;
      animation:spin 15s ease-in-out infinite;
    animation-direction: alternate;
  }
  
  .spin3 {
    -webkit-animation:spin 10s ease-in-out infinite;
      -moz-animation:spin 10s ease-in-out infinite;
      animation:spin 10s ease-in-out infinite;
    animation-direction: alternate;
  }
  
@keyframes spin { 
    100% { 
        -webkit-transform: rotate(360deg); 
        transform:rotate(360deg); 
    } 
}

@keyframes filter_glow {
	0%{filter:drop-shadow(0 0 0.25em #453ff7);}
	100%{filter:drop-shadow(0 0 0.05em #453ff7);}
}

.rainbow_text {
  -webkit-animation:rainbow_text 15s ease-in-out infinite;
  -moz-animation:rainbow_text 15s ease-in-out infinite;
  animation:rainbow_text 15s ease-in-out infinite;
}

.rainbow_bg {
  -webkit-animation:rainbow_bg 15s ease-in-out infinite;
  -moz-animation:rainbow_bg 15s ease-in-out infinite;
  animation:rainbow_bg 15s ease-in-out infinite;
}

.fading_pink_text {
  -webkit-animation:fading_pink_text 10s ease-in-out infinite;
  -moz-animation:fading_pink_text 10s ease-in-out infinite;
  animation:fading_pink_text 10s ease-in-out infinite;
}

.fading_pink_bg {
  -webkit-animation:fading_pink_bg 10s ease-in-out infinite;
  -moz-animation:fading_pink_bg 10s ease-in-out infinite;
  animation:fading_pink_bg 10s ease-in-out infinite;
}

@keyframes rainbow_text {
	0%{color:#f5005e}
	14%{color:#ff6d00}
  28%{color:#ffd100}
  42%{color:#50b628}
  56%{color:#239dbf}
  70%{color:#4b55e1}
  84%{color:#772aaa}
  100%{color:#f5005e}
}

@keyframes rainbow_bg {
	0%{background-color:#f5005e}
	14%{background-color:#ff6d00}
  28%{background-color:#ffd100}
  42%{background-color:#50b628}
  56%{background-color:#239dbf}
  70%{background-color:#4b55e1}
  84%{background-color:#772aaa}
  100%{background-color:#f5005e}
}

@keyframes fading_pink_text {
	0%{color:#f39aac}
  50%{color:#f5005e}
  100%{color:#f39aac}
}

@keyframes fading_pink_bg {
  0%{background-color:#f39aac}
	50%{background-color:#f5005e}
	100%{background-color:#f39aac}
}


@media screen and (max-width:1099px) {
  header {
    padding:2.5%;
  }

  nav a {
    font-size:1.1em;
  }
}
  
@media screen and (max-width:999px) {

  header {
    position:fixed;
    width:100%;
    height:unset;
    padding:0.75em;
    text-align: center;
  }

    .logo {
      float:none;
      display:inline-block;
      width:11em;
      margin:0 0 -2px 0;
    }

      .logo img {
        max-height: 100%;
      }
  
  #mainnav {
    display:none;
    float:left;
    clear:left;
    width:100%;
    background:none;
  }

    #burger {
      position:absolute;
      right:1em;
      top:1.75em;
      display:block;
      width:40px;
    }

    nav,
    nav li,
    nav a {
      float:left;
      clear:left;
      width:100%;
      text-align:center;
    }

    nav a,
    nav button,
    nav .social {
      border-bottom:1px dotted #ffffff50;
    }

    nav .social {
      text-align: center;
      margin:0;
      padding: 1.5em;
      border-bottom:0;
    }

      nav a {
        padding:1.5em;
      }

      nav .social a {
        width:auto;
        clear:none;
        float:none;
        display:inline-block;
        margin:0 0.35em;
      }

      nav li:hover .subnav {
        display:none;
      }

  .main {
    width:100%;
    margin-top:7em;
  }
  
  footer {
    grid-template-columns: 2fr 4fr;
    grid-gap:10%;
    margin-top:2.5em;
  }

    footer .links {
      padding-top:0;
    }

    footer .social {
      grid-column: 2/3;
      padding:0;
      margin:0;
    }
}

@media screen and (max-width:599px) {
  .main td {
    display:block;
  }
}

@media screen and (max-width:499px) {
  footer {
    grid-template-columns:1fr;
    grid-gap:5%;
  }

    footer .social {
      grid-column:unset;
      text-align:center;
    }
}
@media screen and (max-width:399px) {
  footer .links {
    grid-template-columns:1fr;
    grid-gap:5%;
    text-align: center;
  }
}