html {font-size: 1em;}

body {
  background: #f9f9f9;
  font-family: 'Open Sans', sans-serif;
  font-weight: normal;
  line-height: 1.45;
  color: #333;
}

p {margin-bottom: 1.3em;}

h1, h2, h3 {
	font-size: 2rem;
	line-height: 2.375rem;
	font-family: "Open Sans", sans-serif;
	margin-bottom: .809rem;
	font-weight: normal;
	font-style: normal;
}

h4 {
	font-weight: bold;
	font-size: 1.618rem;
	line-height: 1.2;
	margin: 0 0 0.809rem 0;
}

h5 {
	font-size: 1rem;
	font-weight: bold;
	margin-bottom: 1rem;
}

h6 {
	font-size: 1.618rem;
	line-height: 1.4;
	font-family: Arial, Helvetica;
	margin-bottom: 1.618rem;
	font-weight: normal;
	font-style: normal;
}

h2 {font-size: 1.424em;}

h3 {font-size: 1.266em;}

h4 {font-size: 1.125em;}

small, .font_small {font-size: 0.889em;}

.right {
	text-align: right;
}

.left {
	text-align: left;
}

.float-right {
	float: right;
}

.foat-left {
	float: left;
}

ul.social {
	margin-left:0;
}

ul.social li {
	list-style:none;
	display:inline;
	margin-left:.5rem;
}

ul.social li a:link,
ul.social li a:visited {
}

ul.social li a:hover,
ul.social li a:focus {
	opacity: .8;
}

section {
	display:block;
  margin-top:1.25rem;
}

section.home {
  display:block;
  margin-top: 0;
}

article {
	background: #fff;
	padding:.05rem 1.5rem;
	margin-bottom:1.5rem;
}

article .text {
	margin:0;
}

article .text p {
	font-size:14px;
}

/* Gallery grid */
.gallery {
  display: flex;
  flex-wrap: wrap;
  margin: -5px;          /* negative to cancel inner padding */
}

.gallery a {
  box-sizing: border-box;
  padding: 5px;
  width: 25%;            /* 4 per row on desktop */
}

/* Thumbnails */
.gallery img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}

/* Responsive tweaks */
@media (max-width: 900px) {
  .gallery a {
    width: 33.333%;      /* 3 per row */
  }
}

@media (max-width: 600px) {
  .gallery a {
    width: 50%;          /* 2 per row */
  }
}


.contact-errors {
  margin: 0 0 1em;
  padding: 0.75em 1em;
  list-style: none;
  border: 1px solid #e05c5c;
  background: #ffe5e5;
  font-size: 0.9em;
}

.contact-success {
  padding: 0.75em 1em;
  border: 1px solid #4caf50;
  background: #e6ffe9;
}

.contact-form .field {
  margin-bottom: 1em;
}

.contact-form label {
  display: block;
  margin-bottom: 0.25em;
}

/* Honeypot: keep it visually hidden but still in DOM */
.contact-website {
  position: absolute;
  left: -9999px;
}


img.article-photo {margin:1.5rem 0 1.5rem;}

.article-image {
  display: block;
  margin: 1rem 0;
}

a.article-more:link,
a.article-more:visited {
	color: #15b5e9;
	text-decoration:none;
	border-bottom: 1px solid transparent;
	transition: all .3s;;
}

a.article-more:hover,
a.article-more:focus {
	border-color: #15b5e9;
	transition: all .3s;
}

.article-date {
	font-size:.65rem;
	margin-bottom:0;
	text-transform:uppercase;
}

.article-date span {
	font-weight:bold;
}

article h2 {
	color: #333;
	margin: 1.5rem 0 .5rem;
	font-weight:bold;
}

article h2.article-title {
  margin: 0;
  line-height: 1.25;
}

article h2 a:link,
article h2 a:visited {
	color: #333;
	text-decoration:none;
	transition:all .3s;
}

article h2 a:hover,
article h2 a:focus {
	color: #15b5e9;
	transition:all .3s;
}

article h3 {
	margin: 1.875rem 0 .5rem;
	font-size: 1.125em;
	color: #333;
}

article p.dirhead {
	font-family: "Open Sans Condensed", sans-serif;
    border: none;
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1.313rem;
    text-align: left;
    color: #15b5e9;
    font-weight: bold;
    display: inline-block;
    }

    article p.dir {
    font-family: "Open Sans", sans-serif;
    border: none;
    font-size: 1rem;
    line-height: 1.313rem;
    text-align: left;
    margin-bottom: .809rem;
    color: #333;
  }

.card-section h4 a:link,
.card-section h4 a:visited {
	color: #333;
	text-decoration:none;
	transition:all .3s;
}

.card-section h4 a:hover,
.card-section h4 a:focus {
	color: #15b5e9;
	transition:all .3s;
}

section.lowgap-strip {
	margin-top: 1.875rem;
}
section.footer-bottom {
	display: block;
	max-width: 100%;
	background: #fff;
	color: #333;
	font-size: .85rem;
	text-align: right;
	padding: 0;
}

div.sidebar-block {
	display:block;
	margin: 0;
	background: #fff;
	padding: 1.25rem 1.5rem;
}

h1.heading,
h2.heading {
	display:block;
	border-left: 3px solid #15b5e9;
	padding:0;
	margin:0;
	padding-left: .75rem;
	line-height: 1;
}

h1.heading {margin-bottom:1.5rem;}
h2.heading {margin:2.5rem 0 1.5rem;}
h2.heading-sidebar {
	display:block;
	border-left: 3px solid #15b5e9;
	padding:0;
	padding-left: .75rem;
	line-height: 1;
	margin-top: 0;
}

.footer-heading {
	font-weight: 300;
}

.footer-contact-details {
	font-size: .85rem;
	display: inline;
	border: 1px solid red;
}

.label-icon i {
	display:inline;
	font-size: .85rem;
}

ul.footer-contact {
	margin:0;
	padding:0;
}

ul.footer-contact li {
	list-style:none;
	font-size:.85rem;
	display:block;
	margin-bottom:.5rem;
}

ul.footer-nav {
	margin:0;
	padding:0;
}

ul.footer-nav li {
	list-style: none;
	font-size: .85rem;
}

ul.footer-nav li a {
	display: block;
	margin-bottom: .5rem;
	text-decoration: none;
	color: #fff;
}

ul.footer-nav li a:before {
	font-family: 'FontAwesome';
	content:'\f0da';
	margin-right: .5rem;
}

ul.footer-nav li a:hover {
	color: #15b5e9;
}

ul.sidebar {
	margin:0;
	padding:0;
}

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

	ul.sidebar li a {
		display: block;
		text-decoration: none;
		padding: .45rem 0;
		color: #333;
	}

	ul.sidebar li a:before {
		font-family: 'FontAwesome';
		content:'\f0da';
		margin-right: .5rem;
	}

	ul.sidebar li a:hover {
		color: #15b5e9;
	}

.meta-container {
	margin-bottom:1rem;
	position:relative;
	bottom:0;
}

ul.dirnav {
  display: inline-block;
  padding: 0;
  text-align: left;
  margin: .5rem auto 0 auto;
  padding-top: 1rem;
}

ul.dirnav li {
  list-style: none;
  text-decoration: none;
  display: inline-block;
  font-size: 1rem;
  text-transform: uppercase;
  padding: 0;
  font-weight: bold;
}

  ul.dirnav li a:link, ul.dirnav li a:visited {
    padding-right: .25rem;
    color: #666;
    text-decoration:none;
  }

  ul.dirnav li a:hover, ul.dirnav li a:active, ul.dirnav li a.active {
    color: #ff9a20;
  }

p.meta {
	font-size: .75rem;
	text-transform: uppercase;
	color: #333;
	margin-bottom:0;
}

p.meta a:link,
p.meta a:visited {
	color: #505050;
	text-decoration:none;
	transition:all .3s;
	font-weight:bold;
}

p.meta a:hover,
p.meta a:focus {
	color: #000;
	transition:all .3s;
}

.cta {
	background: #0059a8;
	width: 100%;
}

.cta-area {
	margin: 0 1.875rem;
}

.text {
	margin: 1.875rem;
}
.white {
	color: #fff;
}



.card {
	background:#fff;
	border: none;
	position:relative;
	border: 3px solid #fff;
}

.card img {
	max-width: 100%;

  -moz-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}


.card:hover {
	border:3px solid #15b5e9;
}

.card:hover h4 a {
  color: #15b5e9;
}

.card:hover img {
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.downloads-thumb-icon {
	display:block;
	font-size: 1.875rem;
	margin-left: .9375rem;
}

h2.downloads-desc-title a,
.downloads-thumb-icon a{
	color: #505050;
	text-decoration:none;
}

h2.downloads-desc-title a:hover,
.downloads-thumb-icon a:hover{
	color: #333;
}

p.downloads-desc-more {
	font-size: .75rem;
	display:inline-block;
	color: #333;
	margin:0;
	margin-right:.9375rem;
}

p.downloads-desc-more:last-of-type {
	margin-right:0;
}

a.textlink-small {
	display:block;
	text-align:left;
	font-size: .75rem;
	text-transform:uppercase;
	text-decoration:none;
	color: #505050;
	margin-top:1.5rem;
}

a.textlink-small:hover {
	color: #15b5e9;
}

p.contact-details-address span,
p.contact-details-other span,
p.contact-details-social span {
	font-weight:600;
}

p.contact-details-address {
	font-size: 1rem;
	font-weight: 400;
	margin-bottom: 1rem;
}

p.contact-details-other {
	margin:.25rem 0;
}

p.contact-details-other a,
p.contact-details-social a,
div.copyright a {
	color: #333;
	text-decoration:none;
	padding:0;
	margin:0;
	border-bottom: 1px solid #15b5e9;
}

p.contact-details-other a:hover,
p.contact-details-social a:hover,
div.copyright a:hover {
	color: #15b5e9;
}

img {
  max-width: 100%;
  -moz-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

img:hover {
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

img.none {
	transform: none;
	-webkit-transform: none;
	-moz-transform: none;
}

header {
    overflow: visible;
    background-color: #eee;
    font-family: Arial;
    display:block;
    border-bottom: 5px solid #0059a8;
}

header.article-header {
  background:0;
}

header .logo {
  display: block;
  margin: .5rem 0;
}

header img.headerSmall {
  height:6rem!important;
}

@keyframes bugfix { from {padding:0;} to {padding:0;}}
@-webkit-keyframes bugfix { from {padding:0;} to {padding:0;}}

#overlay-button {
  position: absolute;
  right: 2em;
  top: 2em;
  padding: 26px 11px;
  z-index: 5;
  cursor: pointer;
  user-select: none;
  span {
      height: 4px;
      width: 35px;
      border-radius: 2px;
      background-color: #0059a8;
      position: relative;
      display: block;
      transition: all .2s ease-in-out;
      &:before {
        top: -10px;
        visibility: visible;
      }
      &:after {
        top: 10px;
      }
      &:before, &:after {
          height: 4px;
          width: 35px;
          border-radius: 2px;
          background-color: #0059a8;
          position: absolute;
          content: "";
          transition: all .2s ease-in-out;
      }
    }
    &:hover span, &:hover span:before, &:hover span:after {
      background: #0059a8;
    }
}

input[type=checkbox] {
  display: none;

  &:checked ~ #overlay {
    visibility: visible;
  }

  &:checked ~ #overlay-button {
    position:fixed;
    &:hover span, span{
      background: transparent;
    }
    span {
      &:before {
        transform: rotate(45deg) translate(7px, 7px);
        opacity: 1;
      }
      &:after {
        transform: rotate(-45deg) translate(7px, -7px);
      }
    }
  }
}

#overlay {
  left:0;
  right:0;
  top:0;
  bottom:0;
  background: #eee;
  z-index: 2;
  visibility: hidden;
  position: fixed;
  &.active {
    visibility: visible;
  }
  ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    height: 100%;
    padding-left: 0;
    list-style-type: none;
    li {
      padding: .5rem;
      a {
        color: #000;
        text-decoration: none;
        font-size: 1rem;
        &:hover {
          color: #15b5e9;
        }
        &.active {
          color: #0059a8;
        }
      }
    }
    li.language-switcher {
      a {
        display:inline-block;
        font-size:10px;
        text-transform:uppercase;
        margin-left:.5rem;
        margin-right:.25rem;
        font-weight:bold;
        &.selected {
          color: #0059a8;
        }
      }
    }
  }
}

  .pagination-item {
    /* On touch-devices we increase prev/next buttons */
    display:inline-block;
    width: 2.25rem;
    height: 2.25rem;
    margin-top:1rem;
    fill:#0059a8;
  }

  .pagination-item:hover {
    fill: #15b5e9;
  }

.dropdown {
    float: left;
    overflow: visible;
}

.dropdown .dropbtn {
    font-weight: 600;
	font-family: 'Open Sans', arial, sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	text-align:left;
	text-transform: uppercase;
    border: none;
    outline: none;
    color: #000;
	padding: 0.8125rem 1rem;
    background-color: inherit;
    position: relative;
}

.dropdown .dropbtn:after {
	content: "\f107";
	padding-left: .25rem;
	font-family: 'FontAwesome';
}

.dropdown .dropbtn.active {
	color: #0059a8;
}


.dropdown-content {
    display: none;
    position: absolute;
    min-width: 200px;
    z-index: 1;
}

.dropdown-content a {
    float: none;
    font-size: .8125rem!important;
    line-height: 1.5!important;
    color: #fff;
    text-decoration: none;
    display: block;
    text-align: left;
    text-transform: none;
    padding: 0.65rem 1rem;
}

.dropdown-content a:hover {
	color: #15b5e9;
    padding-left: 1.50rem;
}

.dropdown-content a.active {
	color: #0059a8;
	padding-left: 1.50rem;
}
.dropdown-content a.active:after {
	border:none;
	position: none;
	}

.dropdown:hover .dropdown-content {
    display: block;
}

.orbit-image {
}

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  font-family: inherit;
  padding: 1.875em 3.75em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 3px;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #505050;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #2b2b2b;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }

  .button.primary {
    display:inline-block;
    background-color: #0059a8;
    color: #fff;
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 600;
    text-transform:uppercase;
    letter-spacing: .5px;
    }
    .button.primary:hover, .button.primary:focus {
      opacity: .8; }
  .button.secondary {
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 600;
    background-color: #15b5e9;
    color: #fff;
    text-transform:uppercase;
    letter-spacing: .5px; }
    .button.secondary:hover, .button.secondary:focus {
      opacity: .8; }

  .orbit-caption-title {
    display:inline-block;
    text-transform: uppercase;
    padding: .875rem 1rem;
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 600;
    background: #0059a8;
    color:#fff;
    margin-bottom: .5rem;
  }

  .orbit-caption-desc {
    padding: .5rem 1rem;
    font-size: 1rem;
    line-height: 1.5;
    background: #15b5e9;
    color:#fff;
  }

.board-member-card {
	display:block;
	margin-top:1.5rem;
	background:#f5f5f5;
	padding:1rem;
}

.board-member-card img {
  display: block;
  border-radius: 50%;
}

.board-member-card p.board-name {
	text-align:center;
	font-size: 15px;
	color:black;
	padding:0;
	margin:0;
	margin-top:1rem;
	font-weight:bold;
}

.board-member-card p.board-position {
	font-size:1rem;
	font-weight:bold;
	text-align:center;
  margin-bottom:0;
}

.board-member-card p.board-club {
	font-size:.75rem;
	font-weight:bold;
	text-align:center;
  margin-top:0;
}

input[type="search"], input[type="search"]:focus, input[type="search"]:active {
    background-image: url(http://deviantbox.com/cas/assets/images/search.png);
    background-repeat: no-repeat;
    background-position: 0.75rem center;
    background-size: 1rem;
    transition: background-color 539ms ease-out, border-color 539ms ease-out, color 539ms ease-out;
    -webkit-appearance: none;
    border-radius: 0;
    background-color: transparent;
    border: 1px solid #000;
    color: #000;
    display: inline-block;
    font-size: 1rem;
    padding: .8rem 0 .8rem 2.5rem;
    margin: 1.875rem 0 .5rem;
    resize: none;
}

footer {
	width: 100%;
	display:block;
	margin-top: 1.875rem;
	background: #0059a8;
	color: #fff;
}

footer a i {
  color: #000;
}

footer a:hover i {
  color: #0059a8;
}

.footer-bottom p {
	margin-top:1rem;
}

/* Championship results table – base styling (you may already have something like this) */
.results-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.results-table th,
.results-table td {
  border: 1px solid #ddd;
  padding: 6px 8px;
  text-align: center;
}

.results-table th {
  background: #f2f2f2;
  font-weight: 600;
}

/* Make table horizontally scrollable on small screens */
.results-table-wrapper {
  width: 100%;
  overflow-x: auto;
}

.results-table td.highest {
  color: red;
  text-decoration: line-through;
  font-weight: bold;
}

.results-table tr.top5, .results-table tr.top3 {
    background: #fff7b3;  /* soft yellow */
}

.results-table thead th {
  text-align: center;
  vertical-align: middle;
  font-weight:bold;
}

.results-table thead tr:first-child th {
  border-bottom: none;
}

.results-table thead tr:nth-child(2) th {
  font-size: 0.9em;
}

/* Optional: make the scroll container look nicer on mobile */
@media (max-width: 640px) {
  .results-table-wrapper {
    -webkit-overflow-scrolling: touch;
    border: 1px solid #eee;
    border-radius: 4px;
  }

  .results-table {
    min-width: 700px; /* force content wider than screen so scroll makes sense */
  }
}


@media screen and (max-width: 39.9375em) {
  .orbit-caption-title {
    padding: 0.218rem 0.25rem;
    font-size: 1.2rem;
    margin-bottom: .15rem;
  }

  .orbit-caption-desc {
    padding: .15rem .25rem;
    font-size: 1rem;
  }

  .text h3 {
    text-align:center;
    font-size:1rem;
    line-height:1.2;
  }

  .text p {
    text-align:center;
    font-size:.75rem;
    line-height:1.2;
  }

  section.lowgap-strip {
  	margin-top: 0.875rem;
  }
}

/* === DESKTOP MAIN MENU === */

/* Reset bullets & spacing inside header menu */
header #menu ul,
header #menu li {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Menu container on desktop */
header #menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* Top-level UL: horizontal row */
header #menu .main-nav {
  display: flex;
}

/* Top-level LI items */
header #menu .main-nav > li {
  position: relative;
}

/* Top-level links (with or without submenu) */
header #menu .main-nav > li > a {
  display: block;
  font-weight: 600;
  font-family: 'Open Sans', arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  text-align: right;
  text-transform: uppercase;
  color: #000;
  padding: 0.8125rem 1rem;
  text-decoration: none;
}

/* Add ▼ for items that have submenu */
header #menu .has-sub > .top-link::after {
  content: " ▾";
  font-size: 0.8em;
}

/* Submenu UL: vertical dropdown */
header #menu .sub-nav {
  position: absolute;
  top: 100%;
  right: 0;                /* right-aligned to match your design */
  background: #fff;
  min-width: 220px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  display: none;           /* hidden by default */
  z-index: 9999;
}

/* Submenu links: stacked vertically */
header #menu .sub-nav li a {
  display: block;
  padding: 0.4rem 0.75rem;
  text-decoration: none;
  color: #000;
  white-space: nowrap;
  text-transform: none;    /* change to uppercase if you prefer */
}

/* Show submenu on hover (desktop) */
header #menu .has-sub:hover > .sub-nav {
  display: block;
}

/* Hover + active colors */
header #menu .main-nav > li > a:hover,
header #menu .sub-nav li a:hover {
  color: #15b5e9;
}

header #menu a.active,
header #menu .has-sub.active > .top-link {
  color: #0059a8;
}

/* Stronger active styling */

/* Active top-level item (no submenu) */
header.show-for-large #menu .main-nav > li > a.active {
  color: #ffffff;
  background-color: #0059a8;
  border-radius: 2px;
}

/* Active parent item (has submenu, current section or child open) */
header.show-for-large #menu .has-sub.active > .top-link {
  color: #ffffff;
  background-color: #0059a8;
  border-radius: 2px;
}

/* Active submenu link */
header.show-for-large #menu .sub-nav li a.active {
  font-weight: 700;
  color: #0059a8;
}

/* Keep hover nice but don't override active background */
header.show-for-large #menu .main-nav > li > a:hover:not(.active),
header.show-for-large #menu .sub-nav li a:hover:not(.active) {
  color: #15b5e9;
}

/* Third level inside dropdown */

/* container for level-3 items */
header #menu .sub-sub-nav {
  list-style: none;
  margin: 0;
  padding: 0 0 0.25rem 1rem;  /* indent under the child item */
  display: none;              /* shown on hover */
}

/* show third level when hovering the second-level item */
header #menu .sub-nav li.has-sub-sub:hover > .sub-sub-nav {
  display: block;
}

/* style for third-level links */
header #menu .sub-sub-nav li a {
  display: block;
  padding: 0.25rem 0.75rem;
  font-size: 0.9rem;
  text-transform: none;
  color: #000;
}

/* hover/active states for third level */
header #menu .sub-sub-nav li a:hover {
  color: #15b5e9;
}

header #menu .sub-sub-nav li a.active {
  font-weight: 600;
  color: #0059a8;
}

.championshipentry {
  display:block;
  border:2px solid #15b5e9;
  background:#fff;
  text-align:center;
  text-decoration:none;
  padding: 1.25rem 0;
  margin: 0.75rem 0;
  color: #333;
}

.championshipentry h2 {
  font-weight:bold;
}

.championshipentry:link,
.championshipentry:visited {
	color: #333;
	text-decoration:none;
	transition:all .3s;
}

.championshipentry:hover,
.championshipentry:focus {
  color: #fff;
  background: #0059a8;
  border: 2px solid #0059a8;
	transition:all .3s;
}
