:root {
  --clr-purple: #4D2383;
  --clr-yellow: #FFD400;
}

/******** Setup ********************************************************************************/

*,
*::before,
*::after {
  box-sizing: border-box;
}
@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}
html, body, div, span, object, iframe, figure, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, code, em, img, small, strike, strong, sub, sup, tt, b, u, i, ol, ul, li, fieldset, form, label, table, caption, tbody, tfoot, thead, tr, th, td, main, canvas, embed, footer, header, nav, section, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
}
::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
ol, ul {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/******** Fonts ********************************************************************************/

@font-face {
  font-family: "roboto";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/roboto-400.woff2") format("woff2"), url("_fonts/roboto-400.woff") format("woff");
}
@font-face {
  font-family: "roboto";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/roboto-500.woff2") format("woff2"), url("_fonts/roboto-500.woff") format("woff");
}
@font-face {
  font-family: "teko";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/teko-700.woff2") format("woff2"), url("_fonts/teko-700.woff") format("woff");
}
body {
  display:flex;
  flex-direction:column;
  font-family:"roboto", sans-serif;
  font-weight:400;
  font-size:1rem;
  line-height:1.5;
  background-color:var(--clr-purple);
  -webkit-text-size-adjust:100%;
  -webkit-tap-highlight-color:rgba(0, 0, 0, 0);
  background: url(../images/bg-afl.png) left top repeat;
  background-size:100px;
}
@media screen and (min-width: 992px) {
  body {
    flex-direction:row;
    background-image:none;
  }
  body:before {
    content:"";
    position:fixed;
    left:0;
    top:0;
    right:50%;
    bottom:0;
    background: url(../images/bg-afl.png) left top repeat;
    background-size:100px;
  }
  body:after {
    content:"";
    position:fixed;
    left:50%;
    top:0;
    right:0;
    bottom:0;
    background: url(../images/bg-elf.png) left top repeat;
    background-size:100px;
  }
}

/******** Content ***************************************************************************/

.brand {
  position:absolute;
  left:50%;
  top:400px;
  width:150px;
  height:320px;
  margin-left:-75px;
  z-index:2;
  pointer-events:none;
}
.brand img {
  display:block;
  width:100%;
  height:auto;
}
.split {
  display:flex;
  position:relative;
  z-index:1;
}
.split-afl {
  order:2;
  padding-top:6rem;
}
.split-afl h2 a,
.split-elf h2 a  {
  position:relative;
  display:block;
  padding-top:12rem;
  transition:0.2s ease-in-out;
}
.split-afl h2 a:hover,
.split-elf h2 a:hover  {
  color:#ffffff;
}
.split-afl h2 a:after,
.split-elf h2 a:after   {
  content: '';
  position:absolute;
  top:50px;
  width:150px;
  height:60px;
  background-repeat:no-repeat;
  background-size:150px;
}
.split-afl h2 a {
  text-align:left;
  color:var(--clr-purple);
}
.split-afl h2  {
  background-repeat:no-repeat;
  background-position:left top;
  background-size:191px;
  background-image:url(../images/logo-afc.png);
}
.split-afl h2 a:after {
  right:0;
  background-image:url(../images/afl.png);
}
.split-elf {
  order:1;
  background-image:url(../images/bg-elf.png);
  background-repeat:repeat;
  background-size:100px;
}
.split-elf h2 a {
  text-align:right;
  color:var(--clr-yellow);
}
.split-elf h2  {
  background-repeat:no-repeat;
  background-position:right top;
  background-size:191px;
  background-image:url(../images/logo-elf.png);
}
.split-elf h2 a:after {
  left:0;
  background-image:url(../images/elf.png);
}
.split-wrapper {
  display:flex;
  flex-direction:column;
  width:100%;
  padding:2rem 2rem 4rem 2rem;
}
@media screen and (min-width: 992px) {
  .brand {
    left:50%;
    top:10rem;
    width:300px;
    height:640px;
    margin-left:-150px;
  }
  .split {
    width:50%;
  }
  .split-afl {
    order:1;
    padding-top:0;
    justify-content:flex-end;
    background-image:none;
  }
  .split-elf {
    order:2;
    justify-content:flex-start;
    background-image:none;
  }
  .split-wrapper {
    width:100%;
    max-width:660px;
    padding:6rem 2rem 2rem 2rem;
  }
  .split-afl h2 a:after {
    right:auto;
    left:250px;
  }
  .split-elf h2 a:after {
    left:auto;
    right:250px;
  }
}

/******** Typography ***************************************************************************/

h2 {
  font-size:2.5rem;
  line-height:0.8;
  font-family:"teko", sans-serif;
  font-weight:700;
  text-transform:uppercase;
}
@media screen and (min-width: 992px) {
  h2 {
    font-size:3rem;
  }
}

/******** Navigation **********************************************************************/

a {
  text-decoration: none;
}
nav {
  margin-top:2rem;
}
@media screen and (min-width: 992px) {
  nav {
    width:50%;
  }
  .split-elf nav {
    margin-left:50%;
  }
}
nav li a {
  display:block;
  position:relative;
  font-family:"roboto", sans-serif;
  font-weight:500;
  font-size:1.15rem;
  padding-top:0.25rem;
  padding-bottom:0.25rem;
  margin-top:-1px;
  text-decoration:none;
}
@media screen and (min-width: 992px) {
  nav li a {
    font-size:1.25rem;
    padding-top:0.5rem;
    padding-bottom:0.5rem;
  }
}
nav li a:after {
  content: '';
  position:absolute;
  width:0px;
  height:2px;
  left:0;
  bottom:-1px;
  transition:0.3s ease-in-out;
}
nav li a:focus:after,
nav li a:hover:after {
  width:100%;
  left:0;
}
.split-afl nav li a {
  color:var(--clr-purple);
  border-top:1px solid var(--clr-purple);
  border-bottom:1px solid var(--clr-purple);
}
.split-afl nav li a:after {
  background-color:var(--clr-purple);
}
.split-elf nav li a {
  text-align:right;
  color:var(--clr-yellow);
  border-top:1px solid var(--clr-yellow);
  border-bottom:1px solid var(--clr-yellow);
}
.split-elf nav li a:after {
  background-color:var(--clr-yellow);
}