/*/
 * Variables
 */
/**
 * Universal styles
 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html {
  scrollbar-gutter: stable; }

body {
  background: white;
  font-family: 'Lato', sans-serif;
  color: #4d4d4d;
  display: flex;
  flex-direction: column;
  min-height: 100vh; }

h1 {
  max-width: 834px;
  margin: 48px auto 2px;
  padding: 0 15px; }

h2 {
  margin: 1.5em 0 0.5em; }

h3 {
  margin: 0.8em 0 0.2em; }
  h3 a {
    text-decoration: none; }

h4 {
  margin: 1em 0 0.1em; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Archivo', sans-serif;
  font-weight: 800; }

a {
  color: #D8232A;
  text-underline-offset: 2px; }
  a:hover {
    text-decoration-thickness: 3px; }

dt {
  float: left;
  font-weight: bold;
  margin-right: 7px;
  clear: left; }

table {
  border-spacing: 0;
  margin: 15px 0;
  font-size: 1em;
  width: 100%; }

tr, tr.even {
  background: #F6F6F6; }

tr.odd {
  background: #F0F0F0; }

tr td, tr th {
  padding: 4px 15px;
  text-align: left;
  border-bottom: 1px solid white; }

table tr th {
  background: white;
  text-transform: uppercase;
  white-space: nowrap; }

table tr th, table tr th a, table tr th a:hover {
  font-size: 0.9em;
  letter-spacing: 1px; }

table tr th {
  background: white;
  text-transform: uppercase;
  white-space: nowrap; }

table tr th, table tr th a, table tr th a:hover {
  font-size: 0.9em;
  letter-spacing: 1px; }

tbody {
  display: table-row-group;
  vertical-align: middle;
  border-color: inherit; }

.byline {
  margin: 0.3em 0 1em;
  color: #676767; }

.pagination {
  text-align: center;
  margin: 16px; }

.side-bar-image {
  float: right;
  margin: 15px;
  max-width: 100%; }
  @media (max-width: 600px) {
    .side-bar-image {
      float: none; } }

.normal-width-content {
  max-width: 834px;
  margin: auto;
  padding: 0 15px; }
  .normal-width-content dl,
  .normal-width-content ul,
  .normal-width-content ol,
  .normal-width-content p {
    line-height: 1.5em;
    font-size: 16px;
    max-width: 585px; }
  .normal-width-content p {
    margin: 0 0px 1em; }

.wide-width-content {
  max-width: 1240px;
  margin: 20px auto; }

.messages {
  text-align: center;
  margin: 16px;
  font-size: 16px;
  font-family: 'Archivo'; }
  .messages .success {
    color: #08a508; }
  .messages .error {
    color: red; }

ul.pagination {
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1px;
  clear: both; }

ul.pagination li {
  list-style: none; }

/*
 * Admin only
 */
#admin-page .floating-table {
  position: fixed;
  top: 0px;
  visibility: hidden;
  margin-top: 0px; }

#toolbar {
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.25);
  font: normal small "Lucida Grande",Verdana,sans-serif;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: black; }
  #toolbar ul {
    margin: 0;
    padding: 0; }
  #toolbar li {
    display: inline-block;
    padding: 7px; }

#toolbar-user {
  float: right; }

#toolbar a {
  color: white;
  text-decoration: none; }

.tabs {
  position: absolute;
  right: 16px;
  width: 160px; }

a.wysibutton,
input.ajax-button {
  padding: 3px 6px 2px 5px;
  border-radius: 4px;
  border: 1px solid #DDD;
  display: inline-block;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  background: #dfdfdf;
  /* Old browsers */
  background: -moz-linear-gradient(top, #ffffff 0%, #dfdfdf 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #dfdfdf), color-stop(100%, transparent));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #ffffff 0%, #dfdfdf 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #ffffff 0%, #dfdfdf 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #ffffff 0%, #dfdfdf 100%);
  /* IE10+ */
  background: linear-gradient(top, #ffffff 0%, #dfdfdf 100%);
  /* W3C */
  color: black;
  text-shadow: none;
  box-shadow: none; }

input.ajax-button {
  width: 3em;
  text-transform: uppercase; }

a.wysibutton {
  height: 20px; }

a.wysibutton:hover,
input.ajax-button:hover {
  background: #cccc;
  /* Old browsers */
  background: -moz-linear-gradient(top, #ffffff 0%, #cccccc 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #cccccc));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #ffffff 0%, #cccccc 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #ffffff 0%, #cccccc 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #ffffff 0%, #cccccc 100%);
  /* IE10+ */
  background: linear-gradient(top, #ffffff 0%, #cccccc 100%);
  /* W3C */ }

a.wysibutton.wysihtml5-command-active,
input.ajax-button.active,
input.ajax-button:active {
  padding: 3px 6px 3px 5px;
  box-shadow: none;
  background: #dfdfdf;
  /* Old browsers */
  background: -moz-linear-gradient(top, #dfdfdf 0%, #ffffff 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #dfdfdf), color-stop(100%, #ffffff));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #dfdfdf 0%, #ffffff 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #dfdfdf 0%, #ffffff 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #dfdfdf 0%, #ffffff 100%);
  /* IE10+ */
  background: linear-gradient(top, #dfdfdf 0%, #ffffff 100%);
  /* W3C */ }

a.wysibutton.wysihtml5-command-active {
  height: 19px; }

.button-group a.wysibutton {
  border-radius: 0px;
  border-right-width: 0px;
  line-height: 19px; }

.button-group a.wysibutton:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px; }

.button-group a.wysibutton:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  border-right-width: 1px; }

#wysihtml5-toolbar {
  margin-bottom: 3px; }

iframe.wysihtml5-sandbox {
  outline: none !important; }

#wysihtml5-toolbar .new-link-dialog {
  display: inline; }

#wysihtml5-toolbar .new-link-dialog label {
  display: inline;
  text-transform: none;
  letter-spacing: 0px; }

.admin-form tr td, .admin-form tr th {
  padding: 4px 4px;
  font-size: 14px;
  padding: 2px;
  border-radius: 2px; }
.admin-form select,
.admin-form input[type=text],
.admin-form textarea {
  font-size: 14px;
  line-height: 1em;
  width: inherit; }
.admin-form .time input {
  width: 1.9em;
  padding: 4px;
  margin: 0 1px;
  text-align: right; }

.field-wrapper {
  margin: 8px 0 0; }
  .field-wrapper label {
    display: block;
    font-weight: bold;
    font-size: 1em;
    letter-spacing: 1px; }

select,
input[type=url],
input[type=text] {
  width: 400px; }
  @media (max-width: 420px) {
    select,
    input[type=url],
    input[type=text] {
      max-width: 100%; } }

textarea {
  width: 100%;
  height: 250px;
  margin-bottom: 16px; }

select,
input[type=text],
textarea {
  border: 1px solid #DDD;
  font-size: 1.1em;
  line-height: 1.5em;
  padding: 8px;
  border-radius: 8px; }

input[type=submit] {
  height: 30px;
  border-radius: 33px;
  background: #333434;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  text-align: center;
  line-height: 1.6em;
  border: none;
  color: #FFFCFC;
  font-family: Archivo;
  font-size: 14px;
  padding: 0 28px;
  cursor: pointer; }
  input[type=submit]:hover {
    outline: 1px solid #333434; }

.date-field select {
  width: inherit;
  margin-right: 3px; }

/*
 * Every page.
 */
#page {
  flex: 1; }

#header-container {
  width: 100%;
  background: #f4f4f4; }

#header {
  max-width: 1430px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  margin: 0 auto; }
  #header .logo-section {
    margin: 5px 0;
    text-decoration: none; }
    #header .logo-section .logo-section--wordmark {
      margin: 18px 0 18px 15px; }
      @media (max-width: 385px) {
        #header .logo-section .logo-section--wordmark {
          display: none; } }
    #header .logo-section .club-name {
      border: 0;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px;
      white-space: nowrap; }
  #header .menu-toggle {
    display: none;
    width: 80px;
    color: white;
    height: 30px;
    flex-shrink: 0;
    border: none;
    border-radius: 33px;
    background: #333434;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    text-align: center;
    line-height: 1.6em; }
    @media (max-width: 1280px) {
      #header .menu-toggle {
        display: block; } }
  #header .navigation {
    display: flex;
    flex-grow: 1; }
    #header .navigation .main-menu__container {
      flex-grow: 1;
      margin-top: 5px; }
    #header .navigation .main-menu {
      display: flex;
      list-style-type: none;
      flex-grow: 1;
      justify-content: center; }
      #header .navigation .main-menu li {
        margin: 0 10px;
        position: relative; }
      @media (min-width: 1280px) {
        #header .navigation .main-menu li.menu-item:hover,
        #header .navigation .main-menu li.menu-item.active,
        #header .navigation .main-menu li.menu-item--current-page {
          border-bottom: 5px solid #818181; } }
      #header .navigation .main-menu a {
        text-decoration: none;
        color: inherit; }
      #header .navigation .main-menu .sub-menu {
        list-style: none;
        padding: 0;
        margin: 0;
        display: none;
        position: absolute;
        top: calc(100% + 6px);
        left: 0;
        background-color: #818181;
        border-radius: 0 5px 5px;
        color: #f8f4f4;
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
        z-index: 1;
        min-width: 175px; }
        #header .navigation .main-menu .sub-menu li {
          margin: 0px; }
        #header .navigation .main-menu .sub-menu li a {
          margin: 0px;
          padding: 7px;
          white-space: nowrap;
          min-width: unset;
          display: block; }
        #header .navigation .main-menu .sub-menu li:hover {
          background: #f9f4f4;
          color: #818181; }
        @media (max-width: 660px) {
          #header .navigation .main-menu .sub-menu {
            position: relative;
            box-shadow: none;
            background-color: inherit; }
            #header .navigation .main-menu .sub-menu li a {
              margin: 6px 0 0px;
              white-space: nowrap;
              min-width: unset;
              padding: 5px 0 6px 12px; } }
      #header .navigation .main-menu .menu-item.clickable.active .sub-menu,
      #header .navigation .main-menu .menu-item:not(.clickable):hover .sub-menu {
        display: block; }
    #header .navigation .social-icons {
      margin: 0px 10px 0px 0px;
      display: flex;
      align-items: center; }
      #header .navigation .social-icons a img {
        display: inline-block;
        vertical-align: bottom; }
      #header .navigation .social-icons a:nth-child(3) img {
        margin: 5px 0; }
      #header .navigation .social-icons a:nth-child(2) {
        margin: 0px 7px 0px 4px; }
      #header .navigation .social-icons a {
        border-bottom: 5px solid transparent;
        margin: 0 3px; }
      #header .navigation .social-icons a:hover {
        border-bottom: 5px solid #818181; }
    #header .navigation .more-details-button {
      width: 110px;
      height: 30px;
      flex-shrink: 0;
      border-radius: 33px;
      background: #333434;
      box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
      text-align: center;
      line-height: 1.6em;
      cursor: pointer; }
      #header .navigation .more-details-button:hover {
        outline: 1px solid #333434; }
      #header .navigation .more-details-button a {
        color: #FFFCFC;
        text-align: center;
        font-family: Archivo;
        font-size: 14px;
        text-decoration: none; }
    @media (max-width: 1280px) {
      #header .navigation {
        flex-direction: column;
        align-items: flex-start;
        display: none;
        background: #e1e1e1;
        box-shadow: 4px 4px #797979;
        position: absolute;
        right: 20px;
        top: 86px;
        z-index: 12; }
        #header .navigation .main-menu__container {
          width: 100%; }
        #header .navigation .main-menu {
          display: block; }
          #header .navigation .main-menu li {
            margin: 0; }
          #header .navigation .main-menu li a {
            padding: 7px 10px;
            margin: 0;
            min-width: 12em;
            display: block; }
          #header .navigation .main-menu li.menu-item a:hover,
          #header .navigation .main-menu li.menu-item.active a {
            background: #818181;
            color: white; }
          #header .navigation .main-menu li.menu-item .sub-menu a:hover,
          #header .navigation .main-menu li.menu-item .sub-menu li.active a {
            color: #818181;
            background: white; }
          #header .navigation .main-menu li.menu-item--current-page a {
            background: #818181;
            color: white;
            width: 100%;
            display: inline-block; }
        #header .navigation .social-icons {
          margin: 4px 9px 6px 4px; }
        #header .navigation .more-details-button {
          width: calc(100% - 10px);
          margin: 0px 5px 11px 5px; }
        #header .navigation.active {
          display: flex; } }

#footer {
  background: #2c2c2c;
  color: #bcbcbc;
  padding: 19px;
  margin-top: 30px; }

/**
 * Front page
 */
.welcome-message-container {
  overflow: auto;
  background: #f4f4f4;
  padding: 0 10px; }

.welcome-message {
  margin: 30px auto;
  overflow: auto;
  max-width: 834px;
  text-align: center; }
  .welcome-message .welcome-message--message {
    line-height: 1.6em;
    padding-bottom: 10px; }
    .welcome-message .welcome-message--message h2 {
      font-size: 36px;
      line-height: 1.3em;
      margin: 0px 0 15px; }
    .welcome-message .welcome-message--message h3 {
      font-size: 18px;
      margin: 8px auto 25px;
      max-width: 35em; }
    .welcome-message .welcome-message--message p {
      margin: 10px 0 20px;
      text-align: left; }
    .welcome-message .welcome-message--message .more-details-button {
      margin: auto; }
  .welcome-message .more-details-button {
    width: 110px;
    height: 30px;
    flex-shrink: 0;
    border-radius: 33px;
    background: #333434;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    text-align: center;
    line-height: 1.6em;
    margin-top: 15px;
    cursor: pointer; }
    .welcome-message .more-details-button:hover {
      outline: 1px solid #333434; }
    .welcome-message .more-details-button a {
      color: #FFFCFC;
      text-align: center;
      font-family: Archivo;
      font-size: 14px;
      text-decoration: none; }
  .welcome-message .welcome-message--uk-map {
    float: right; }
    @media (max-width: 740px) {
      .welcome-message .welcome-message--uk-map {
        text-align: center;
        width: 100%;
        margin: 20px 0 0; } }

.front-page-body {
  max-width: 592px;
  margin: 4em auto;
  padding: 0 10px; }
  .front-page-body h2 {
    margin: 1em 0 0.3em; }
  .front-page-body ul,
  .front-page-body p {
    line-height: 1.5em;
    margin: 0 0px 1em; }
  .front-page-body .social-icons {
    display: flex;
    align-items: center;
    margin: 8px 0; }
    .front-page-body .social-icons a img {
      display: inline-block;
      vertical-align: bottom; }
    .front-page-body .social-icons a:nth-child(3) img {
      margin: 5px 0; }
    .front-page-body .social-icons a:nth-child(2) {
      margin: 0px 7px 0px 4px; }
    .front-page-body .social-icons a {
      border-bottom: 5px solid transparent;
      margin: 0 3px; }
    .front-page-body .social-icons a:hover {
      border-bottom: 5px solid #818181; }
  .front-page-body .social-icons a img {
    display: inline-block;
    vertical-align: bottom; }
  .front-page-body .social-icons a:nth-child(3) img {
    margin: 5px 0; }
  .front-page-body .social-icons a:nth-child(2) {
    margin: 0px 7px 0px 4px; }
  .front-page-body .social-icons a {
    border-bottom: 5px solid transparent;
    margin: 0 3px; }
  .front-page-body .social-icons a:hover {
    border-bottom: 5px solid #818181; }

.slider2 {
  position: relative;
  width: 100%;
  background: #f4f4f4; }
  .slider2 .slides {
    width: 100%;
    height: 300px;
    border-radius: 16px;
    overflow: hidden;
    display: flex; }
    .slider2 .slides .slide {
      margin: 10px 5px;
      box-shadow: 0 0 5px -2px black;
      border-radius: 8px;
      position: relative; }
    .slider2 .slides .slide img {
      height: 100%;
      object-fit: cover;
      border-radius: 8px;
      display: block;
      box-sizing: border-box; }
  .slider2 .btn {
    position: absolute;
    width: 40px;
    height: 40px;
    padding: 10px;
    border: none;
    border-radius: 50%;
    z-index: 10;
    cursor: pointer;
    background-color: #fff;
    font-size: 18px; }
  .slider2 .btn:hover,
  .slider2 .btn:active {
    transform: scale(1.1); }
  .slider2 .btn-prev {
    top: 45%;
    left: 2%; }
  .slider2 .btn-next {
    top: 45%;
    right: 2%; }
  .slider2 .edit-link {
    position: absolute;
    right: 5px;
    top: 5px;
    background: black;
    color: white;
    padding: 3px 10px;
    font-size: 10px;
    border-radius: 10px;
    text-decoration: none; }

.upcoming-races .event-date {
  font-weight: bold; }

.card-container {
  background: linear-gradient(to bottom, #f4f4f4 33%, white 33%);
  position: relative; }

.card-container::before {
  content: '';
  display: block;
  height: 5px;
  /* thickness of the border */
  background-color: #818181;
  width: 100%;
  position: absolute;
  top: 33%;
  /* position it a third of the way down */ }

.cards {
  display: flex;
  gap: 16px;
  /* Spacing between cards */
  max-width: 714px;
  margin: auto;
  padding: 0 10px; }
  .cards .card {
    width: 168px;
    /* Adjust as needed */
    height: 220px;
    /* Adjust as needed */
    perspective: 1000px;
    /* Helps with 3D effect */
    position: relative;
    color: white; }
  @media (max-width: 660px) {
    .cards {
      max-width: 372px;
      flex-wrap: wrap; } }
  .cards .card-front, .cards .card-back {
    width: 100%;
    height: 100%;
    position: absolute;
    backface-visibility: hidden;
    /* Hide the back face of the card */
    display: flex;
    justify-content: center;
    transition: transform 0.6s;
    /* Animation speed */
    box-shadow: 4px 4px #797979; }
  .cards .card-front {
    background-color: #D8232A;
    background-repeat: no-repeat; }
  .cards .card-front h3 {
    text-transform: uppercase;
    margin-top: 27px;
    font-size: 22px; }
  .cards .card-back {
    background-color: #e1e1e1;
    /* Card back color */
    transform: rotateY(180deg);
    /* Start rotated */
    color: black;
    text-align: center;
    display: block;
    padding: 8px;
    line-height: 1.5em;
    font-size: 15px; }
  .cards .card:hover .card-front {
    transform: rotateY(180deg);
    /* Rotate card front when card is hovered */ }
  .cards .card:hover .card-back {
    transform: rotateY(0);
    /* Reset rotation of card back when card is hovered */ }
  .cards .card-swim .card-front {
    background-position: 50% 105%;
    background-image: url("/static/images/card-swimmer.d6f000209eac.svg"); }
  .cards .card-bike .card-front {
    background-position: 50% 80%;
    background-image: url("/static/images/card-cyclist.947629372882.svg"); }
  .cards .card-run .card-front {
    background-position: 50% 80%;
    background-image: url("/static/images/card-runner.45c04ad27875.svg"); }
  .cards .card-fun .card-front {
    background-position: 50% 80%;
    background-image: url("/static/images/card-high-five.c0d3e845e020.svg"); }

/**
 * General pages
 */
body.page #content {
  max-width: 834px;
  margin: auto;
  overflow: auto; }
  body.page #content .join-button {
    border-radius: 33px;
    background: #333434;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    text-align: center;
    line-height: 1.6em;
    color: white;
    color: #FFFCFC;
    text-align: center;
    font-family: Archivo;
    font-size: 14px;
    text-decoration: none;
    padding: 9px 30px; }
    body.page #content .join-button:hover {
      outline: 1px solid #333434; }

/**
 * Races
 */
.calendar {
  clear: both;
  margin: auto;
  font-size: 14px;
  overflow: auto;
  display: flex;
  flex-wrap: wrap; }

.month {
  width: 226px;
  max-width: 226px;
  float: left;
  margin: 0 30px 16px 0px;
  line-height: 26px;
  flex: 1 1 calc(33.333% - 10px); }
  @media (max-width: 800px) {
    .month {
      flex: 1 1 calc(50% - 10px);
      /* Two items per row on smaller screens */ } }
  @media (max-width: 500px) {
    .month {
      flex: 1 1 100%;
      /* One item per row on very small screens */ } }

.month .dates {
  clear: both;
  overflow: auto;
  margin-bottom: 15px;
  display: grid;
  grid-template-columns: repeat(7, 1fr); }

.month h3 {
  text-align: center;
  margin-top: 1.3em; }

.month .event {
  margin-bottom: 1px; }

.month .event a {
  margin-left: 34px;
  display: block; }

.month .days {
  display: grid;
  grid-template-columns: repeat(7, 1fr); }

.date, .day {
  display: block;
  float: left;
  width: 26px;
  text-align: center; }

.date {
  color: #999; }

.date.today {
  color: white;
  border-radius: 50%;
  background: #888; }

.date.event-scheduled {
  color: black;
  background: #eee; }

.race-results-table-container {
  overflow-x: auto;
  margin: 24px auto;
  max-width: 1078px; }

#race-results {
  font-size: 14px;
  width: 100%; }
  @media (max-width: 660px) {
    #race-results {
      width: auto; } }

.race-results-form label {
  display: block; }

.race-event p {
  line-height: 1.5em; }
.race-event .races .race-details,
.race-event .event-gallery,
.race-event .more-link,
.race-event .event-details {
  max-width: 834px;
  margin: auto; }
.race-event .races-section {
  margin: 2em 0;
  clear: both; }
.race-event .event-gallery {
  overflow: auto;
  clear: both; }
.race-event .event-gallery #image-collection #add-photo {
  float: left;
  width: 174px;
  height: 174px;
  padding: 15px;
  margin: 3px;
  border: 2px dashed #ccc;
  text-align: center;
  font-size: 14px; }
.race-event .event-gallery .photo, .race-event .gallery-widget .photo, .race-event .photos .photo {
  position: relative;
  float: left; }
.race-event a.colorbox {
  text-decoration: none;
  display: block;
  float: left; }
.race-event .event-gallery .photo .photo-details, .race-event .gallery-widget .photo .photo-details, .race-event .photos .photo .photo-details {
  display: none; }
.race-event .event-gallery #image-collection a img {
  margin: 3px; }
.race-event #front-page .gallery-widget a.edit-link, .race-event .event-gallery .photo a.edit-link, .race-event .photos a.edit-link {
  position: absolute;
  top: 3px;
  right: 3px;
  background: #e4001c;
  padding: 4px 4px;
  width: inherit;
  color: white;
  text-transform: lowercase;
  text-decoration: none;
  font-size: 0.7em;
  letter-spacing: 1px;
  line-height: 1em; }
.race-event .event-gallery #image-collection #add-photo {
  text-align: center; }
.race-event span.fileinput-button {
  display: block; }
.race-event input[type=submit], .race-event span.fileinput-button {
  position: relative;
  overflow: hidden;
  margin: 5px auto 0;
  cursor: pointer;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
  background: #c0c0c0;
  background: -moz-linear-gradient(top, #c0c0c0 0%, #9f9f9f 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #c0c0c0), color-stop(100%, #9f9f9f));
  background: -webkit-linear-gradient(top, #c0c0c0 0%, #9f9f9f 100%);
  background: -o-linear-gradient(top, #c0c0c0 0%, #9f9f9f 100%);
  background: -ms-linear-gradient(top, #c0c0c0 0%, #9f9f9f 100%);
  background: linear-gradient(top, #c0c0c0 0%, #9f9f9f 100%);
  color: white;
  border-radius: 4px;
  padding: 3px 20px;
  border: 1px solid #9F9F9F;
  border-top-color: #9f9f9f;
  border-top-color: #C0C0C0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 5px rgba(0, 0, 0, 0.2); }
.race-event span.fileinput-button input {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  border: solid transparent;
  border-top-width: medium;
  border-right-width: medium;
  border-bottom-width: medium;
  border-left-width: medium;
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-transform: translate(-300px, 0) scale(4);
  direction: ltr;
  cursor: pointer;
  border-width: 0 0 100px 200px; }
.race-event .event-location {
  margin-top: 10px; }

.race-stages .stage {
  display: block; }
  .race-stages .stage .race-event-icon {
    width: 44px;
    height: 44px;
    display: inline-block;
    margin-right: 5px; }

.race-stages .stage .race-event-icon {
  width: 35px;
  height: 35px;
  display: inline-block;
  margin-right: 5px; }

.race-event-icon img {
  vertical-align: middle;
  height: 35px; }

#gallery-page .photo {
  overflow: auto; }
  #gallery-page .photo .thumbnail {
    display: block;
    float: left; }
  #gallery-page .photo .photo-details {
    float: left;
    margin-left: 5px; }

.contact-card {
  margin-bottom: 10px;
  clear: both;
  overflow: auto; }
  .contact-card .avatar {
    float: left;
    width: 138px;
    margin: 10px 10px 10px 0;
    height: 140px; }
    .contact-card .avatar img {
      width: 100%;
      box-shadow: 0 0 5px -2px black;
      border-radius: 8px; }
  .contact-card__details {
    margin: 10px 0 0 0;
    float: left; }
    .contact-card__details dl {
      line-height: 1.4em; }
    .contact-card__details dt {
      width: 1.3em;
      text-align: right; }
  .contact-card__contact-info dd {
    float: left; }

#contact-form {
  clear: both; }

/*
    ColorBox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden; }

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%; }

#cboxMiddleLeft, #cboxBottomLeft {
  clear: left; }

#cboxContent {
  position: relative; }

#cboxLoadedContent {
  overflow: auto; }

#cboxTitle {
  margin: 0; }

#cboxLoadingOverlay, #cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%; }

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
  cursor: pointer; }

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block; }

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0; }

/* 
    User Style:
    Change the following styles to modify the appearance of ColorBox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
  background: #000000; }

#colorbox {
  outline: none; }

#colorbox a {
  color: white; }

#cboxTopLeft {
  width: 15px;
  height: 15px; }

#cboxTopRight {
  width: 15px;
  height: 15px; }

#cboxBottomLeft {
  width: 15px;
  height: 15px; }

#cboxBottomRight {
  width: 15px;
  height: 15px; }

#cboxMiddleLeft {
  width: 15px; }

#cboxMiddleRight {
  width: 15px; }

#cboxTopCenter {
  height: 15px; }

#cboxBottomCenter {
  height: 15px; }

.cboxIframe {
  background: #fff; }

#cboxError {
  padding: 50px;
  border: 1px solid #ccc; }

#cboxLoadedContent {
  margin-bottom: 50px; }

#cboxTitle {
  position: absolute;
  bottom: 9px;
  left: 85px;
  right: 85px;
  text-align: center;
  color: white; }
  @media all and (max-width: 547px) {
    #cboxTitle {
      display: none !important; } }

#cboxCurrent {
  position: absolute;
  bottom: 9px;
  right: 52px;
  color: #949494; }

#cboxSlideshow {
  position: absolute;
  bottom: 4px;
  right: 30px;
  color: #0092ef; }

#cboxPrevious {
  border: none;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #191919 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAIAAAADnC86AAABamlDQ1BJQ0MgUHJvZmlsZQAAGJWV0TFLw1AQB/B/aqWKhTpI6eDwQBGHRmId2tIpbcEKDqUqqFuaxlZo2kfyivodXHQQJ0H9Dro4OIqDDoKDiJ9BKHSREu8laBdL8SDkl+O4u7wHhITBeTMMwG4Jp7KaZ9s7uyzyhhDiiCKGjGG6XC+X1zE0eq9Q5PtFlb2G1/0ZUzXLNQFlgmzWXNMmyx5JkzuCfE5WDwSXfiDPOLQg+V26HvhTuuo7FPZrNisFcoI8XQ28KF0PnJE2G0aNXJKzgh38mCwVWVrLqvo//2Nk2M3Ozwx5WlGrtbUh96BnFiUUwZCGhixU6MI6FLKw0OZHzn69IZhOJ2uxQtvmHWE5SbbWMpeSLKUta7JO3lnQulvxuyvx50GufQlk54Cx40Guegbc3gGJx0Fu/gKI5YCbJ244xu/iSi886tvdW0kFjuaB8Q/P6y4AkVOgf+J5X1ee17+m+XRn981vcAxi4g82N3sAAAAJcEhZcwAACxMAAAsTAQCanBgAAACcSURBVFiF7dfBDYAgEARAz9gFTVACBdABbVASjdABJfnwrXDcojHZfV8yP3YR59z2RfZPVMKECRO+i/e+lPJ8c8DJnHMIoXsJg8dJGKwlAfAcaYIt5CRsJ9UwilTAWHIIXkFe6b9cIgJX+3BrLaUUY6y1vgqv4xUlgeXV7YTiJ2vRzpv62MIDhsAcD1sgWh48fcZ54W+RMGHCv4NPJvhXdpN2CHAAAAAASUVORK5CYII=) no-repeat 50% 50%;
  background-image: none, url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+IDxwYXRoIGZpbGw9IiNGRkZGRkYiIHg9IjAiIHk9IjAiIGQ9Ik0gMjAgMCBMIDIwIDIwIEwgMCAxMCB6Ii8+IDwvc3ZnPg==");
  width: 40px;
  height: 40px;
  text-indent: -9999px; }

#cboxPrevious:hover {
  background-color: rgba(255, 255, 255, 0.2); }

#cboxNext {
  border: none;
  position: absolute;
  bottom: 0;
  left: 45px;
  background: #191919 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAIAAAADnC86AAABamlDQ1BJQ0MgUHJvZmlsZQAAGJWV0TFLw1AQB/B/aqWKhTpI6eDwQBGHRmId2tIpbcEKDqUqqFuaxlZo2kfyivodXHQQJ0H9Dro4OIqDDoKDiJ9BKHSREu8laBdL8SDkl+O4u7wHhITBeTMMwG4Jp7KaZ9s7uyzyhhDiiCKGjGG6XC+X1zE0eq9Q5PtFlb2G1/0ZUzXLNQFlgmzWXNMmyx5JkzuCfE5WDwSXfiDPOLQg+V26HvhTuuo7FPZrNisFcoI8XQ28KF0PnJE2G0aNXJKzgh38mCwVWVrLqvo//2Nk2M3Ozwx5WlGrtbUh96BnFiUUwZCGhixU6MI6FLKw0OZHzn69IZhOJ2uxQtvmHWE5SbbWMpeSLKUta7JO3lnQulvxuyvx50GufQlk54Cx40Guegbc3gGJx0Fu/gKI5YCbJ244xu/iSi886tvdW0kFjuaB8Q/P6y4AkVOgf+J5X1ee17+m+XRn981vcAxi4g82N3sAAAAJcEhZcwAACxMAAAsTAQCanBgAAACqSURBVFiF7daxDcQgDAXQOEpFR80SbAD7sQZswAJswEgpMsDZ+Oc46fxrxJOMbUHOuWNHLu/9FvjcohpssMH/ALfWYowb4JRS773WCudZpc45w3nBG2N5cXOh+MWu1vOqcdLwgDle42ELRMqDNxeff2VlEtHHMxeWHGOUUuac34P5JAyWkgB4jVTBGnIR1pNiGEUKYCzJgt8gn1AIAX4pJ7/6yzTYYIP5uQHe1GyQ3k0dSQAAAABJRU5ErkJggg==) no-repeat 50% 50%;
  background-image: none, url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+IDxwYXRoIGZpbGw9IiNGRkZGRkYiIHg9IjAiIHk9IjAiIGQ9Ik0gMCAwIEwgMjAgMTAgTCAwIDIwIHoiLz4gPC9zdmc+");
  width: 40px;
  height: 40px;
  text-indent: -9999px; }

#cboxNext:hover {
  background-color: rgba(255, 255, 255, 0.2); }

#cboxLoadingOverlay {
  background: url("/static/css/images/loading_background.acf427e932fb.png") no-repeat center center; }

#cboxLoadingGraphic {
  background: url("/static/css/images/loading.d6e6b42484b7.gif") no-repeat center center; }

#cboxClose {
  border: none;
  position: absolute;
  bottom: 0;
  right: 0;
  background: #191919 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAIAAAADnC86AAABamlDQ1BJQ0MgUHJvZmlsZQAAGJWV0TFLw1AQB/B/aqWKhTpI6eDwQBGHRmId2tIpbcEKDqUqqFuaxlZo2kfyivodXHQQJ0H9Dro4OIqDDoKDiJ9BKHSREu8laBdL8SDkl+O4u7wHhITBeTMMwG4Jp7KaZ9s7uyzyhhDiiCKGjGG6XC+X1zE0eq9Q5PtFlb2G1/0ZUzXLNQFlgmzWXNMmyx5JkzuCfE5WDwSXfiDPOLQg+V26HvhTuuo7FPZrNisFcoI8XQ28KF0PnJE2G0aNXJKzgh38mCwVWVrLqvo//2Nk2M3Ozwx5WlGrtbUh96BnFiUUwZCGhixU6MI6FLKw0OZHzn69IZhOJ2uxQtvmHWE5SbbWMpeSLKUta7JO3lnQulvxuyvx50GufQlk54Cx40Guegbc3gGJx0Fu/gKI5YCbJ244xu/iSi886tvdW0kFjuaB8Q/P6y4AkVOgf+J5X1ee17+m+XRn981vcAxi4g82N3sAAAAJcEhZcwAACxMAAAsTAQCanBgAAAHRSURBVFiF7VY9i8JAEJ3cXeVCMBBQsUxhp/E32AiLH53+i/0DNmlSp7S20k79AfZWKlYhWAjXZ5vUuWJhCVF3J3rgweV1Lxn2JfPyZmJUKhV4B74sy3qL8MdbVEvhUrgU/g/Cvu9/Z0ApfVRJKc1W+r6vPtloNpuK24SQ1Wrluq6gcRyPx+PL5ZIrcxxnvV7L6Xs8HieTSZIkipM1b5wkCWOMcy6oZVlBEBBCcg8XBIFU5ZwzxtSqAPBpmqa6Io7j6/U6GAwEbTQapmnudjtZ4Hlev9+XlDG23+/VZ6KEASCKItu2O52OoK7rhmEYRREAUEpns5msXCwW8/lceyBoPZa4azYAFLW2sDAAOI6z2Wyq1aqgp9PJMIx2uy0o53w0Gt1+d4+AarVAzux6vV6r1eRdpLXPCMON2RJ4ayUKtFqAELLdblutlrwShuFwOERaK/HMyEzTVEGRKNZqAPA8r9frZa/Ytp1L9u8L51IrkU02EsXilE3t+XxO01TG6dEYf1WYELJcLrvdrqAitQCQTfbhcJhOp8ivDNvquwNZO8ZfFVYMZMUYV0Pfau2uRe7sHDQ5xuxazM6+habVyF37hNmFR+Zv4a/+ZZbCpXApjMcPodQYo3HxBV4AAAAASUVORK5CYII=) no-repeat 50% 50%;
  background-image: none, url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+IDxwYXRoIGZpbGw9IiNGRkZGRkYiIHg9IjAiIHk9IjAiIGQ9Ik0gMCAwIEwgNSAwIEwgMjAgMjAgTCAxNSAyMCB6Ii8+IDxwYXRoIGZpbGw9IiNGRkZGRkYiIHg9IjAiIHk9IjAiIGQ9Ik0gMCAyMCBMIDUgMjAgTCAyMCAwIEwgMTUgMCB6Ii8+IDwvc3ZnPg==");
  width: 40px;
  height: 40px;
  text-indent: -9999px;
  width: 40px;
  height: 40px;
  text-indent: -9999px; }

#cboxClose:hover {
  background-color: rgba(255, 255, 255, 0.2); }

/*
  The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
  when an alpha filter (opacity change) is set on the element or ancestor element.  This style is not applied to or needed in IE9.
  See: http://jacklmoore.com/notes/ie-transparency-problems/
*/
.cboxIE #cboxTopLeft,
.cboxIE #cboxTopCenter,
.cboxIE #cboxTopRight,
.cboxIE #cboxBottomLeft,
.cboxIE #cboxBottomCenter,
.cboxIE #cboxBottomRight,
.cboxIE #cboxMiddleLeft,
.cboxIE #cboxMiddleRight {
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF); }

/*
  The following provides PNG transparency support for IE6
  Feel free to remove this and the /ie6/ directory if you have dropped IE6 support.
*/
.cboxIE6 #cboxTopLeft {
  background: url("/static/css/images/ie6/borderTopLeft.bf4949b95b09.png"); }

.cboxIE6 #cboxTopCenter {
  background: url("/static/css/images/ie6/borderTopCenter.01ecb0184127.png"); }

.cboxIE6 #cboxTopRight {
  background: url("/static/css/images/ie6/borderTopRight.51315fa19507.png"); }

.cboxIE6 #cboxBottomLeft {
  background: url("/static/css/images/ie6/borderBottomLeft.7ceeb01563f0.png"); }

.cboxIE6 #cboxBottomCenter {
  background: url("/static/css/images/ie6/borderBottomCenter.1936585831e8.png"); }

.cboxIE6 #cboxBottomRight {
  background: url("/static/css/images/ie6/borderBottomRight.297fb7744087.png"); }

.cboxIE6 #cboxMiddleLeft {
  background: url("/static/css/images/ie6/borderMiddleLeft.64df0244eeaa.png"); }

.cboxIE6 #cboxMiddleRight {
  background: url("/static/css/images/ie6/borderMiddleRight.9fa458eaaa35.png"); }

.cboxIE6 #cboxTopLeft,
.cboxIE6 #cboxTopCenter,
.cboxIE6 #cboxTopRight,
.cboxIE6 #cboxBottomLeft,
.cboxIE6 #cboxBottomCenter,
.cboxIE6 #cboxBottomRight,
.cboxIE6 #cboxMiddleLeft,
.cboxIE6 #cboxMiddleRight {
  _behavior: expression(this.src = this.src ? this.src : this.currentStyle.backgroundImage.split('"')[1], this.style.background = "none", this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + this.src + ", sizingMethod='scale')"); }

/**
 * Begin Leaflet CSS
 *
 * The following styles come as standard with the leaflet plugin.
 */
/* required styles */
.leaflet-map-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-pane,
.leaflet-tile-container,
.leaflet-overlay-pane,
.leaflet-shadow-pane,
.leaflet-marker-pane,
.leaflet-popup-pane,
.leaflet-overlay-pane svg,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
  position: absolute;
  left: 0;
  top: 0; }

.leaflet-container {
  overflow: hidden;
  -ms-touch-action: none; }

.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-drag: none; }

.leaflet-marker-icon,
.leaflet-marker-shadow {
  display: block; }

/* map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container img {
  max-width: none !important; }

/* stupid Android 2 doesn't understand "max-width: none" properly */
.leaflet-container img.leaflet-image-layer {
  max-width: 15000px !important; }

.leaflet-tile {
  filter: inherit;
  visibility: hidden; }

.leaflet-tile-loaded {
  visibility: inherit; }

.leaflet-zoom-box {
  width: 0;
  height: 0; }

/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
  -moz-user-select: none; }

.leaflet-tile-pane {
  z-index: 2; }

.leaflet-objects-pane {
  z-index: 3; }

.leaflet-overlay-pane {
  z-index: 4; }

.leaflet-shadow-pane {
  z-index: 5; }

.leaflet-marker-pane {
  z-index: 6; }

.leaflet-popup-pane {
  z-index: 7; }

.leaflet-vml-shape {
  width: 1px;
  height: 1px; }

.lvml {
  behavior: url(#default#VML);
  display: inline-block;
  position: absolute; }

/* control positioning */
.leaflet-control {
  position: relative;
  z-index: 7;
  pointer-events: auto; }

.leaflet-top,
.leaflet-bottom {
  position: absolute;
  z-index: 1000;
  pointer-events: none; }

.leaflet-top {
  top: 0; }

.leaflet-right {
  right: 0; }

.leaflet-bottom {
  bottom: 0; }

.leaflet-left {
  left: 0; }

.leaflet-control {
  float: left;
  clear: both; }

.leaflet-right .leaflet-control {
  float: right; }

.leaflet-top .leaflet-control {
  margin-top: 15px; }

.leaflet-bottom .leaflet-control {
  margin-bottom: 15px; }

.leaflet-left .leaflet-control {
  margin-left: 15px; }

.leaflet-right .leaflet-control {
  margin-right: 15px; }

/* zoom and fade animations */
.leaflet-fade-anim .leaflet-tile,
.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear; }

.leaflet-fade-anim .leaflet-tile-loaded,
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1; }

.leaflet-zoom-anim .leaflet-zoom-animated {
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  -o-transition: -o-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1); }

.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile,
.leaflet-touching .leaflet-zoom-animated {
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none; }

.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden; }

/* cursors */
.leaflet-clickable {
  cursor: pointer; }

.leaflet-container {
  cursor: -webkit-grab;
  cursor: -moz-grab; }

.leaflet-popup-pane,
.leaflet-control {
  cursor: auto; }

.leaflet-dragging .leaflet-container,
.leaflet-dragging .leaflet-clickable {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing; }

/* visual tweaks */
.leaflet-container {
  background: #ddd;
  outline: 0; }

.leaflet-container a {
  color: #0078A8; }

.leaflet-container a.leaflet-active {
  outline: 2px solid orange; }

.leaflet-zoom-box {
  border: 2px dotted #38f;
  background: rgba(255, 255, 255, 0.5); }

/* general typography */
.leaflet-container {
  font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif; }

/* general toolbar styles */
.leaflet-bar {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); }

.leaflet-bar a,
.leaflet-bar a:hover {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: black; }

.leaflet-bar a,
.leaflet-control-layers-toggle {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: block; }

.leaflet-bar a:hover {
  background-color: #f4f4f4; }

.leaflet-bar a:last-child {
  border-bottom: none; }

.leaflet-bar a.leaflet-disabled {
  cursor: default;
  background-color: #f4f4f4;
  color: #bbb; }

.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px; }

/* zoom control */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  font: bold 18px 'Lucida Console', Monaco, monospace;
  text-indent: 1px; }

.leaflet-control-zoom-out {
  font-size: 20px; }

.leaflet-touch .leaflet-control-zoom-in {
  font-size: 22px; }

.leaflet-touch .leaflet-control-zoom-out {
  font-size: 24px; }

/* layers control */
.leaflet-control-layers {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
  background: #fff;
  border-radius: 5px; }

.leaflet-control-layers-toggle {
  background-image: url("/static/css/images/layers.027a0a220ae4.png");
  width: 36px;
  height: 36px; }

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url("/static/css/images/layers-2x.324b4fcaf164.png");
  background-size: 26px 26px; }

.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px; }

.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none; }

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative; }

.leaflet-control-layers-expanded {
  padding: 6px 10px 6px 6px;
  color: #333;
  background: #fff; }

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px; }

.leaflet-control-layers label {
  display: block; }

.leaflet-control-layers-separator {
  height: 0;
  border-top: 1px solid #ddd;
  margin: 5px -10px 5px -6px; }

/* attribution and scale controls */
.leaflet-container .leaflet-control-attribution {
  background: #fff;
  background: rgba(255, 255, 255, 0.7);
  margin: 0; }

.leaflet-control-attribution,
.leaflet-control-scale-line {
  padding: 0 5px;
  color: #333; }

.leaflet-control-attribution a {
  text-decoration: none; }

.leaflet-control-attribution a:hover {
  text-decoration: underline; }

.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
  font-size: 11px; }

.leaflet-left .leaflet-control-scale {
  margin-left: 5px; }

.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px; }

.leaflet-control-scale-line {
  border: 2px solid #777;
  border-top: none;
  line-height: 1.1;
  padding: 2px 5px 1px;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  background: #fff;
  background: rgba(255, 255, 255, 0.5); }

.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px; }

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777; }

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  box-shadow: none; }

.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box; }

/* popup */
.leaflet-popup {
  position: absolute;
  text-align: center; }

.leaflet-popup-content-wrapper {
  padding: 1px;
  text-align: left;
  border-radius: 12px; }

.leaflet-popup-content {
  margin: 13px 19px;
  line-height: 1.4; }

.leaflet-popup-content p {
  margin: 18px 0; }

.leaflet-popup-tip-container {
  margin: 0 auto;
  width: 40px;
  height: 20px;
  position: relative;
  overflow: hidden; }

.leaflet-popup-tip {
  width: 17px;
  height: 17px;
  padding: 1px;
  margin: -10px auto 0;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg); }

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  background: white;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4); }

.leaflet-container a.leaflet-popup-close-button {
  position: absolute;
  top: 0;
  right: 0;
  padding: 4px 4px 0 0;
  text-align: center;
  width: 18px;
  height: 14px;
  font: 16px/14px Tahoma, Verdana, sans-serif;
  color: #c3c3c3;
  text-decoration: none;
  font-weight: bold;
  background: transparent; }

.leaflet-container a.leaflet-popup-close-button:hover {
  color: #999; }

.leaflet-popup-scrolled {
  overflow: auto;
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd; }

.leaflet-oldie .leaflet-popup-content-wrapper {
  zoom: 1; }

.leaflet-oldie .leaflet-popup-tip {
  width: 24px;
  margin: 0 auto;
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); }

.leaflet-oldie .leaflet-popup-tip-container {
  margin-top: -1px; }

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999; }

/* div icon */
.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666; }

/**
 * End Leaflet CSS
 */
form .map-widget-wrapper {
  overflow: auto; }
  form .map-widget-wrapper .location-details {
    float: right; }
    @media all and (max-width: 658px) {
      form .map-widget-wrapper .location-details {
        float: none; } }
    form .map-widget-wrapper .location-details .existing-location-selected,
    form .map-widget-wrapper .location-details .address {
      width: 300px;
      margin-top: 5px; }
    form .map-widget-wrapper .location-details .latlng {
      width: 300px;
      bottom: 0;
      position: absolute; }
      @media all and (max-width: 658px) {
        form .map-widget-wrapper .location-details .latlng {
          float: right;
          position: relative; } }
      @media all and (max-width: 438px) {
        form .map-widget-wrapper .location-details .latlng {
          float: none; } }
    form .map-widget-wrapper .location-details label {
      text-align: left;
      margin-top: 5px;
      width: inherit;
      float: none; }
    form .map-widget-wrapper .location-details select {
      width: 300px; }
    form .map-widget-wrapper .location-details input {
      width: 300px;
      display: block; }
    form .map-widget-wrapper .location-details #find-postcode {
      width: 200px; }
  form .map-widget-wrapper #map {
    height: 500px;
    float: left;
    width: 771px;
    position: relative; }
    @media all and (max-width: 987px) {
      form .map-widget-wrapper #map {
        width: 659px; } }
    @media all and (max-width: 877px) {
      form .map-widget-wrapper #map {
        width: 549px; } }
    @media all and (max-width: 767px) {
      form .map-widget-wrapper #map {
        width: 439px; } }
    @media all and (max-width: 657px) {
      form .map-widget-wrapper #map {
        width: 100%; } }
  form .map-widget-wrapper .leaflet-popup-content input {
    width: 100%;
    box-sizing: border-box; }
  form .map-widget-wrapper .leaflet-popup-content label {
    text-align: left; }

/*# sourceMappingURL=style.css.c30ed7bf314b.map */
