@charset "UTF-8";
/* CSS Document */
/**********************/
/**** KISS COLOURS ****/
/**********************/
:root {
  font-size: 20px; }
  @media screen and (max-width: 1150px) {
    :root {
      font-size: 18px; } }
  @media screen and (max-width: 560px) {
    :root {
      font-size: 16px; } }

html {
  font-family: 'montserrat';
  font-weight: 300; }

body {
  background: #fff; }

img {
  max-width: 100%;
  border: none; }

.floats::after {
  content: "";
  display: block;
  clear: both; }

/*******************************************************/
/********************* TEXT STYLES *********************/
/*******************************************************/
h1, h2, h3, h4, h5, h6 {
  font-family: 'montserrat';
  font-weight: 900;
  margin: 1em 0 0.5em 0;
  color: white;
  text-align: center; }

h1 {
  font-size: 3rem;
  text-transform: uppercase; }
  @media screen and (max-width: 675px) {
    h1 {
      font-size: 2rem; } }

h2 {
  font-size: 1.5rem;
  text-transform: uppercase;
  margin-bottom: 0; }

h3 {
  font-size: 1rem;
  font-weight: 100;
  margin-top: 0; }

h4 {
  font-size: 1.25rem;
  background: #ed1b5b;
  display: inline-block;
  color: white;
  padding: 0.5em 1em;
  margin: 0.5em 0; }

h5 {
  font-family: 'montserrat';
  font-weight: 900;
  font-size: 1.25rem;
  color: #f3c44b; }

h6 {
  font-family: 'montserrat';
  font-weight: 100;
  font-size: 2rem; }

p {
  font-weight: 300;
  text-align: justify;
  color: #231f20; }

span {
  color: white;
  font-weight: 900; }

a, a:link, a:visited {
  color: #5d2365;
  font-weight: 900;
  text-decoration: underline; }
  a:hover, a:link:hover, a:visited:hover {
    text-decoration: none; }

a.button {
  display: inline-block;
  color: white;
  text-decoration: none;
  font-weight: 500;
  font-size: 1rem;
  padding: 0.75em 1.5em;
  margin: 0.5em 0;
  background: #5d2365;
  transition: all 0.2s ease-in-out;
  border-radius: 0.3em; }
  a.button:hover {
    text-decoration: none;
    background: #ed1b5b; }

/*******************************************************/
/******************** HEADER STYLES ********************/
/*******************************************************/
header {
  background: #5d2365;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99999;
  transition: all ease 0.2s; }
  header h2 {
    font-size: 1.2rem;
    color: #fff;
    margin: 0;
    padding: 0;
    font-family: 'montserrat';
    font-weight: 300; }

.desktop-nav {
  border-top: 5px solid #ed1b5b; }

@media screen and (max-width: 560px) {
  .desktop-nav {
    display: none; } }
.mobile-nav {
  display: none; }

@media screen and (max-width: 560px) {
  .mobile-nav {
    display: block; } }
.activehead {
  opacity: 0.9; }

.activehead .header-wrap .head-left a img {
  width: 80px; }

.header-wrap {
  width: 97%;
  margin: 0 auto; }

.head-left {
  float: left;
  width: 30%;
  margin: 12px 0 8px; }
  .head-left a img {
    width: 120px;
    transition: all ease 0.2s; }
  @media screen and (max-width: 560px) {
    .head-left {
      width: 45%; } }

.head-right {
  float: right;
  width: 69%;
  text-align: right;
  transition: all ease 0.2s; }
  .head-right a {
    color: #FFF; }
  .head-right ul {
    list-style: none; }
    .head-right ul li {
      display: inline-block; }
      .head-right ul li:nth-of-type(1) {
        margin-right: 0.25em; }
        @media screen and (max-width: 675px) {
          .head-right ul li:nth-of-type(1) {
            display: none; } }
      .head-right ul li i {
        background: #ed1b5b;
        width: 1.500em;
        text-align: center;
        height: 1.267em;
        padding-top: 0.233em;
        font-size: 1.5rem;
        margin: 0 0.1em;
        transition: all ease-in-out 0.2s; }
        .head-right ul li i:hover {
          background: rgba(237, 27, 91, 0.7); }
      .head-right ul li:nth-of-type(5) i {
        margin-right: 0; }
  @media screen and (max-width: 560px) {
    .head-right {
      width: 45%;
      margin-top: 23px; } }

.activehead .header-wrap .head-right {
  margin-top: 12px; }

.slam-closed {
  background: #ed1b5b;
  max-height: 5px;
  overflow-y: hidden;
  transition: all ease 0.2s; }

#social-slam ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%; }
  #social-slam ul li {
    display: block;
    color: #fff;
    margin: 0 auto;
    padding: 15px 0;
    width: 100%;
    background: #ed1b5b;
    text-align: center;
    transition: all ease 0.3s;
    border-bottom: 1px solid #fff; }
    #social-slam ul li a {
      display: block;
      color: #fff; }
      #social-slam ul li a:hover {
        color: #fafafa; }
    #social-slam ul li:hover {
      background: #5d2466; }
    #social-slam ul li:nth-of-type(1):hover {
      background: #ed1b5b; }

.kiss-logo {
  opacity: 1;
  transition: all ease-in-out 0.2s; }
  .kiss-logo:hover {
    opacity: 0.9; }

/*******************************************************/
/********************* ICON STYLES *********************/
/*******************************************************/
#nav-icon {
  width: 40px;
  height: 35px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
  float: right; }

#nav-icon span {
  display: block;
  position: absolute;
  height: 6px;
  width: 100%;
  background: #fff;
  border-radius: 2px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out; }

#nav-icon span:nth-child(1) {
  top: 0px; }

#nav-icon span:nth-child(2), #nav-icon span:nth-child(3) {
  top: 14px; }

#nav-icon span:nth-child(4) {
  top: 28px; }

#nav-icon.open span:nth-child(1) {
  top: 18px;
  width: 0%;
  left: 50%; }

#nav-icon.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg); }

#nav-icon.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg); }

#nav-icon.open span:nth-child(4) {
  top: 18px;
  width: 0%;
  left: 50%; }

/********************************************************/
/******************** PAGE STRUCTURE ********************/
/********************************************************/
.hero {
  height: 50vh;
  width: 100%;
  background: url(../img/hero.jpg) center center;
  background-size: cover;
  position: relative;
  overflow: hidden; }
  @media screen and (max-width: 675px) {
    .hero {
      height: 100vmin; } }

.livecolourful {
  position: absolute;
  bottom: 0%;
  left: 50%; }
  .livecolourful img {
    max-width: 100%;
    display: inline-block;
    margin: 0 auto -6px;
    max-width: 500px;
    transform: translateX(-50%); }
    @media screen and (max-width: 560px) {
      .livecolourful img {
        max-width: 100%; } }

.ks {
  position: absolute;
  bottom: -150%;
  left: -30%;
  animation: k-rotate 90s linear infinite;
  z-index: 0; }

@keyframes k-rotate {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
.title {
  background: #ed1b5b;
  padding: 0.9375em 2.5%;
  width: 95%;
  text-align: center; }
  .title h1 {
    margin: 0;
    color: white; }

.main {
  position: relative;
  z-index: 10; }

.intro {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 60px; }

.introcopy {
  flex-basis: 500px;
  padding: 0 2.5%;
  flex-shrink: 1;
  flex-grow: 1;
  text-align: center; }

.gallery {
  flex-basis: 500px;
  overflow: hidden;
  flex-shrink: 1;
  flex-grow: 1; }
  .gallery img {
    width: 100%; }

.kissfest {
  background: #f3f3f3;
  width: 90%;
  padding: 2.5% 5%;
  margin: 0;
  border-top: #ed1b5b 0.3em solid;
  border-bottom: #dfdfdf 0.3em solid; }
  .kissfest h6 {
    font-size: 1.25rem;
    max-width: 1050px;
    margin: 1.25em auto;
    color: #231f20; }
  .kissfest p {
    text-align: center; }

.tracks {
  width: 90%;
  margin: 0 auto;
  text-align: center; }
  .tracks h2 {
    color: #5d2365;
    font-size: 2.5rem; }
  .tracks p {
    text-align: center; }
  .tracks h5 {
    color: #ed1b5b;
    font-size: 1.75rem;
    font-weight: 500; }

select {
  background: #5D2566;
  border: none;
  font-size: 0.875rem;
  height: 2.071em;
  padding: 0.357em;
  /* If you add too much padding here, the options won't show in IE */
  width: 19.143em;
  -webkit-border-radius: 0.357em;
  -moz-border-radius: 0.357em;
  border-radius: 0.357em;
  color: #fff; }

.form {
  background: #ed1b5b;
  width: 90%;
  padding: 5%; }

/***********************************************/
/******************** VIDEO ********************/
/***********************************************/
.vidya {
  border-top: #0093d0 0.3em solid;
  border-bottom: white 0.3em solid; }

/*******************************************************/
/******************** FOOTER STYLES ********************/
/*******************************************************/
footer {
  background: #464646;
  padding: 0.750em 0;
  border-top: solid 0.3em #f78f1e; }

.footer-wrap {
  width: 100%;
  margin: 0 auto;
  max-width: 1100px;
  text-align: center;
  text-transform: uppercase; }
  .footer-wrap p {
    font-family: 'montserrat';
    font-weight: 100;
    color: #eeeeee;
    text-align: center;
    margin: 0.5em 0; }

.drinkaware {
  top: 100px;
  right: 15px;
  position: absolute; }

.agegate {
  min-height: calc(100vh - 90px);
  width: 100%;
  background: url(../img/hero.jpg) center center;
  background-size: cover;
  background-attachment: fixed;
  position: relative;
  overflow: hidden; }
  .agegate > .livecolourful {
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translate(-50%, 2%);
    width: 80%;
    text-align: center; }
    .agegate > .livecolourful img {
      max-width: 500px;
      transform: translateX(0%); }
      @media screen and (max-width: 680px) {
        .agegate > .livecolourful img {
          max-width: 300px; } }
      @media screen and (max-width: 410px) {
        .agegate > .livecolourful img {
          max-width: 200px; } }
      @media screen and (max-height: 800px) and (min-width: 410px) {
        .agegate > .livecolourful img {
          max-width: 300px; } }
      @media screen and (max-height: 625px) and (min-width: 410px) {
        .agegate > .livecolourful img {
          max-width: 200px; } }
  .agegate .ks {
    position: absolute;
    bottom: -50%;
    left: -30%;
    animation: k-rotate 90s linear infinite;
    z-index: 0; }
  @media screen and (max-width: 675px) {
    .agegate {
      background-attachment: initial; } }
  .agegate .butts {
    text-align: center;
    margin: 30vh auto 200px;
    position: relative;
    z-index: 50; }
    @media screen and (max-width: 675px) {
      .agegate .butts {
        margin: 130px auto 200px; } }
    .agegate .butts h2 {
      margin: 2em 0 0.5em;
      color: white; }
      @media screen and (max-width: 675px) {
        .agegate .butts h2 {
          font-weight: 700;
          font-size: 1.5rem;
          margin: 1em 0 0.25em; } }
    .agegate .butts .button {
      margin: 0.5em; }
      @media screen and (max-width: 675px) {
        .agegate .butts .button {
          margin: 0.25em; } }
