

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}


audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}


audio:not([controls]) {
  display: none;
  height: 0;
}


[hidden] {
  display: none;
}



html {
  font-size: 100%;
  
  -webkit-text-size-adjust: 100%;
  
  -ms-text-size-adjust: 100%;
  
}


html,
button,
input,
select,
textarea {
  font-family: sans-serif;
}


body {
  margin: 0;
}



a:focus {
  outline: thin dotted;
}


a:active,
a:hover {
  outline: 0;
}


abbr[title] {
  border-bottom: 1px dotted;
}


b,
strong {
  font-weight: bold;
}


dfn {
  font-style: italic;
}


hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}


mark {
  background: #ff0;
  color: #000;
}


code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  _font-family: 'courier new', monospace;
  font-size: 1em;
}


pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}


q {
  quotes: none;
}


q:before,
q:after {
  content: '';
  content: none;
}


small {
  font-size: 80%;
}


sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -1em;
  font-size: .5em;
}

sub {
  bottom: -0.25em;
}



dl,
menu,
ol,
ul {
  margin: 1.5em 0;
}

dd {
  margin: 0 0 0 1.5em;
}


menu,
ol,
ul {
  padding: 0 0 0 1.5em;
}


nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}



img {
  border: 0;
  
  -ms-interpolation-mode: bicubic;
  
}


svg:not(:root) {
  overflow: hidden;
}



figure {
  margin: 0;
}



form {
  margin: 0;
}


fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}


legend {
  border: 0;
  
  padding: 0;
  white-space: normal;
  
  *margin-left: -7px;
  
}


button,
input,
select,
textarea {
  font-size: 100%;
  
  margin: 0;
  
  vertical-align: baseline;
  
  *vertical-align: middle;
  
}


button,
input {
  line-height: normal;
}


button,
select {
  text-transform: none;
}


button,
html input[type="button"], input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  
  cursor: pointer;
  
  *overflow: visible;
  
}


button[disabled],
html input[disabled] {
  cursor: default;
}


input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  
  padding: 0;
  
  *height: 13px;
  
  *width: 13px;
  
}


input[type="search"] {
  -webkit-appearance: textfield;
  
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  
  box-sizing: content-box;
}


input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}


button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}


textarea {
  overflow: auto;
  
  vertical-align: top;
  
}



table {
  border-collapse: collapse;
  border-spacing: 0;
}

.clearfix, .tribe-clearfix, .cf {
  clear: both;
  *zoom: 1;
}

.clearfix:before,
.clearfix:after, .tribe-clearfix:before,
.tribe-clearfix:after, .cf:before,
.cf:after {
  content: " ";
  
  display: table;
  
}

.clearfix:after, .tribe-clearfix:after, .cf:after {
  clear: both;
}


.alignnone {
  margin: 0.5em 1em 1em;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 1em auto;
}

.alignright {
  float: right;
  margin: 0.5em 0 1em 1em;
}

.alignleft {
  float: left;
  margin: 0.5em 1em 1em 0;
}

a img.alignright {
  float: right;
  margin: 0.5em 0 1em 1em;
}

a img.alignnone {
  margin: 0.5em 1em 1em 0;
}

a img.alignleft {
  float: left;
  margin: 0.5em 1em 1em 0;
}

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

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  
  padding: 0.5em 0.5em 0.75em;
  text-align: center;
}

.wp-caption.alignnone {
  margin: 0.5em 1em 1em 0;
}

.wp-caption.alignleft {
  margin: 0.5em 1em 1em 0;
}

.wp-caption.alignright {
  margin: 0.5em 0 1em 1em;
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}

.wp-caption p.wp-caption-text {
  font-size: .85rem;
  margin: 0;
  padding: 0 0.2em 0.5em;
}


.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: .2em;
  box-shadow: 0 0 0.1em 0.1em rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: .5em;
  line-height: normal;
  padding: 1.5em 2em 1em;
  text-decoration: none;
  top: .5em;
  width: auto;
  z-index: 100000;
  
}

.sticky {
  font-size: 1em;
}


p.form-allowed-tags {
  color: #939393;
}

.comments > ul {
  padding-left: 0;
}

#comments {
  background: transparent;
  padding: 0;
  margin-top: 5%;
  padding-top: 5%;
  border-top: 1px dotted #c6c6c6;
}

#comments #comments-list {
  padding-bottom: 2.5%;
}

#comments #respond {
  padding: 0;
  background: none;
  margin-bottom: 5%;
}

#comments .comment #respond {
  background: #fff;
  padding-right: 2.5%;
}

#comments ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

#comments .comment {
  border-left: 2em solid #fff;
  border-top: 1em solid #fff;
  margin: 0;
}

#comments .comment.depth-1 {
  border-left: none;
}

#comments .comment-author,
#comments .comment-meta {
  font-size: 0.75em;
}

#comments form {
  padding: 2.5% 0;
  background: transparent;
}

.comment-body {
  background: #fff;
  padding: 1.25%;
}


.xoxo {
  padding-left: 0;
  font-size: 0.8em;
}

.xoxo > li {
  list-style: none;
  margin: 0;
  padding: 5% 0;
  border-top: 1px dotted #464646;
  white-space: normal;
}

.vcard img {
  max-width: 32px;
  float: left;
  margin: 0 10px 10px 0;
}


#nav-below {
  margin: 0;
  padding: 2.5% 0;
  width: 100%;
}

#nav-below div {
  padding: 1em 0;
  text-align: center;
}

#nav-below .nav-previous {
  float: left;
  margin-right: 1em;
}

#nav-below .nav-next {
  float: right;
  margin-left: 1em;
}

@media only screen and (min-width: 37.5em) {
  .alignleft, .alignright {
    width: 45%;
    margin-bottom: 2.5%;
  }
  .alignleft {
    float: left;
    margin-right: 5%;
  }
  .alignright {
    float: right;
    margin-left: 5%;
  }
  .wp-caption.alignleft, .wp-caption.alignright {
    width: 45% !important;
    margin-bottom: 2.5%;
  }
  .wp-caption.alignleft {
    width: 45%;
    margin-top: .5em;
    margin-right: 5%;
    margin-bottom: 2.5%;
  }
  .wp-caption.alignright {
    width: 45%;
    margin: 0.5em 0 1em 1em;
    margin-left: 5%;
  }
}

body {
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.618;
  font-weight: 300;
  color: #464646;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Open Sans Condensed", "Arial Narrow", sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4em;
  margin: 1.5em 0 0.75em;
  color: #2b343b;
  text-transform: uppercase;
  text-rendering: optimizeLegibility;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: #2b343b;
}

h1.bar a, h2.bar a, h3.bar a, h4.bar a, h5.bar a, h6.bar a {
  display: block;
  width: 100%;
  padding: 0.25em 0.5em;
  background: #185b35;
  color: #fff;
}

.btn, nav a {
  line-height: 1;
  margin: 0;
}


input[type="submit"],
form input[type="submit"],
form input[type="button"],
#header a.btn,
.btn,
.bulk form input[type="button"],
.siblings li a,
.coursedates > label,
.groupbooking > label {
  background: #34b45f;
  color: #2b343b;
  display: inline-block;
  padding: 0.3em 0.5em;
  border-radius: 0.2em;
  transition: all 0.3s ease;
  font-family: "Open Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  border: 0;
  box-shadow: 0 0 0.5em rgba(52, 180, 95, 0.2);
  cursor: pointer;
}

input[type="submit"]:hover,
form input[type="submit"]:hover,
form input[type="button"]:hover,
#header a.btn:hover,
.btn:hover,
.bulk form input[type="button"]:hover,
.siblings li a:hover,
.coursedates > label:hover,
.groupbooking > label:hover {
  background: #4fcc79;
  box-shadow: 0 0 1em rgba(52, 180, 95, 0.5);
  color: #161a1d;
}

.btn.cta,
.coursedates > label {
  background: #FFFF42;
  box-shadow: 0 0 0.5em rgba(255, 255, 66, 0.2);
}

.btn.cta:hover,
.coursedates > label:hover {
  background: #ffff75;
  box-shadow: 0 0 1em rgba(255, 255, 66, 0.5);
}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, p:first-child, ul:first-child, ol:first-child {
  margin-top: 0;
}

h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, p:last-child, ul:last-child, ol:last-child {
  margin-bottom: 0;
}

h1 {
  font-size: 2em;
}

h1.top-title {
  margin-top: 0;
}

h2 {
  font-size: 1.5em;
}

h3 {
  font-size: 1.5em;
}

h4, h5, h6 {
  font-size: 1.2em;
}

p {
  margin: 1em 0 0.5em;
}

b, strong {
  font-weight: 600;
}

a {
  color: #298c4a;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
}

a:hover {
  color: #4fcc79;
}

a:active {
  color: #123d20;
}

.small {
  font-size: 0.75em;
}

.large {
  font-size: 2em;
}

blockquote {
  font-style: italic;
  padding: 1em 1.5em;
  background: #F9F9F9;
  margin: 2em 0;
  font-size: 1.25em;
}

ul {
  padding-left: 1.2em;
  list-style-type: disc;
}

li {
  margin: 0 0 1em;
}

ol ol {
  list-style: lower-roman;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

tr {
  background: white;
}

tr:nth-child(even) {
  background: white;
}

th {
  text-align: left;
  border: 1px solid white;
  padding: .5em;
  background: #ffffff;
}

td {
  vertical-align: top;
  padding: .5em;
}

hr {
  margin: 5% 0;
  border-top: 1px dotted #464646;
}

.alignright {
  float: right;
  margin: 0 0 1em 1em;
}

.alignleft {
  float: left;
  margin: 0 1em 1em 0;
}

.aligncenter {
  display: block;
  margin: 1em auto;
}

.wp-caption,
.wp-caption-text,
.gallery-caption,
.bypostauthor {
  font-size: 1em;
}

.wp-caption {
  margin: 2em 0;
}

@media only screen and (max-width: 37.5em) {
  body {
    font-size: .9em;
  }
  h1 {
    font-size: 1.5em;
  }
  h2 {
    font-size: 1.5em;
  }
  h3 {
    font-size: 1.2em;
  }
  h4, h5, h6 {
    font-size: 1.1em;
  }
}

@media only screen and (min-width: 100em) {
  .bulk {
    font-size: 1.1em;
  }
}

.supportive .widget-container h3:first-of-type {
  text-align: center;
  margin: 1.5rem 0 0;
  font-size: 1.5rem;
  padding: 0.75rem 0.25em;
  color: #2b343b;
  font-size: 1.5rem;
  background: #185b35;
}

.supportive .widget-container h3:first-of-type:first-of-type {
  margin: 0;
}

.supportive .widget-container.no-padding h3 {
  margin: 0;
}

table#wp-calendar {
  width: 100%;
}

table#wp-calendar caption {
  background: #134729;
  padding: 0.6em;
  font-size: 1.5em;
  font-family: "Open Sans Condensed", "Arial Narrow", sans-serif;
}

table#wp-calendar thead tr th {
  background: #0d331d;
  border: 0;
  text-align: center;
  font-family: "Open Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 0.75em;
}

table#wp-calendar tfoot {
  background: #2dac64;
}

table#wp-calendar tfoot tr {
  background: #2dac64;
}

table#wp-calendar tfoot td#eo-widget-next-month, table#wp-calendar tfoot td#eo-widget-prev-month, table#wp-calendar tfoot td.pad {
  background-color: #ffff28;
}

table#wp-calendar td {
  text-align: center;
  padding: .5em;
  position: relative;
  font-size: 1em;
  color: #dfdfdf;
}

table#wp-calendar td.eo-event-future {
  background-color: #f4f400;
}

table#wp-calendar td a {
  padding: .5em;
  color: #eee;
  width: 100%;
  font-weight: 600;
}

table#wp-calendar td a:hover {
  color: #fff;
}

table#wp-calendar tr:nth-child(even) {
  background: #1d6f41;
}

p#breadcrumbs {
  font-size: 0.85rem;
  transition: all 0.3s ease-in-out;
  padding: 0.75em 1em;
  width: 100%;
  z-index: 10;
  margin: 0;
  text-align: left;
  font-family: "Open Sans Condensed", "Arial Narrow", sans-serif;
  background: #2b343b;
  color: #aaaaaa;
}

p#breadcrumbs a {
  color: #34b45f;
}

div#message.updated {
  width: 100%;
  padding: 0.5em 0.5em 0.1em;
  background: #00D874;
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
  text-transform: uppercase;
  font-weight: 600;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}

html {
  background: #161a1d;
}

body {
  background: #ffffff;
}

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

img.lazy-hidden {
  width: auto;
}

.acf-map {
  width: 100%;
  height: 40em;
  height: 50vh;
  margin: 2.5% 0;
}

.acf-map .qtip,
.acf-map .ui-tooltip {
  font-size: 0.9rem;
  line-height: 1.4;
}

.single .con .con > article header,
.single .con .con > article .tribe-events-event-image {
  margin-bottom: 2em;
}

.top-image {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.top-image .image {
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
}

.top-image .image img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 50%;
  min-height: 50%;
  max-height: 100%;
}

.gallery {
  clear: both;
}

.gallery dl.gallery-item {
  margin: 0 !important;
  width: 33.333% !important;
  padding: 0.05em;
}

.gallery dl.gallery-item img {
  border: 0 !important;
}

.gallery br {
  display: none;
}

.single.content > article {
  margin: 0 auto;
  padding: 5%;
}

.bulk {
  overflow: hidden;
}

.single aside#coursedates {
  padding: 2em;
}

.coursedates, .groupbooking {
  margin: 0.5em 0 1.5em;
}

.coursedates input, .groupbooking input {
  display: none;
}

.coursedates input:checked + .overlay, .groupbooking input:checked + .overlay {
  display: table;
}

.coursedates aside#group_booking, .groupbooking aside#group_booking {
  padding: 1em;
}

.coursedates aside#group_booking .gform_wrapper, .groupbooking aside#group_booking .gform_wrapper {
  margin: 0;
  padding: 0;
  max-width: 100%;
}

.coursedates > label, .groupbooking > label {
  padding: 0.25em 0.75em;
}

.coursedates li, .groupbooking li {
  font-size: .85em;
}

.coursedates li h5 a span.date, .groupbooking li h5 a span.date {
  color: #464646;
}

.overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  z-index: 999;
  background: black;
  background: rgba(0, 0, 0, 0.7);
}

.overlay label {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.overlay .content {
  display: block;
  width: 30em;
  background: #fff;
  margin: 0 auto;
  text-align: left;
  cursor: auto;
  position: relative;
}

.overlay .inner_content {
  display: block;
  max-height: 85vh;
  overflow-y: auto;
}

.overlay #close, .overlay #close2 {
  display: none;
}

.overlay .closebutton {
  background: #2b343b;
  color: #FFFFFF;
  cursor: pointer;
  height: 2em;
  width: 2em;
  line-height: 2em;
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  text-align: center;
  font-size: .75em;
}

.overlay .closebutton:hover {
  background: #161a1d;
}

#content .gallery {
  margin: 3em 0;
}

#content .gallery dl {
  margin: 0;
}

#content .gallery dl.gallery-item {
  float: left;
  margin-top: 0;
}

#content .gallery dl.gallery-item img {
  border: 1px solid #fff;
  display: block;
}

#content .gallery dl.gallery-item a:hover img {
  border: 1px solid #ddd;
}

.mobile-only {
  display: none;
}

#wrapper {
  position: relative;
}

iframe {
  width: 100%;
  min-height: 20em;
  min-height: 50vh;
  border: 0;
}

.videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  
  padding-top: 25px;
  height: 0;
  margin: 5% 0;
}

.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

article section.extra_details {
  padding: 4em 0 0;
  margin: 4em 0 0;
  border-top: 1px dotted #999;
}

article section.extra_details .half {
  margin-bottom: 2em;
}

article section.extra_details .acf-map {
  margin: 0 0 2em;
}

.icon-facebook {
  fill: #3b5998;
}

.icon-twitter {
  fill: #00aced;
}

.icon-vimeo {
  fill: #bb0000;
}

.icon-googleplus {
  fill: #dd4b39;
}


footer#footer {
  color: #aaaaaa;
  background: #161a1d;
  padding: 2em 2em 1em;
  text-align: justify;
  position: relative;
}

footer#footer > div > nav,
footer#footer > div > div {
  display: inline-block;
  vertical-align: top;
  text-align: left;
  margin: 0 5% 3em 0;
  font-size: 0.8rem;
  max-width: 66%;
}

footer#footer > div > nav ul.menu,
footer#footer > div > div ul.menu {
  padding: 0;
  margin: 2em 0;
  list-style: none;
}

footer#footer input {
  font-size: 1rem;
  padding: .5em;
  border: 0;
  border-radius: .25em;
  margin: 0 0 0 0.25em;
}

footer#footer > div {
  font-size: 0.8em;
}

footer#footer > div a.ibex {
  display: inline-block;
  margin: 1em 0 1em 1em;
}

footer#footer > div a.ibex img {
  width: 4em;
  margin-bottom: -.3em;
}

div.ibex {
  float: right;
  margin: 2em;
  font-size: 0.8em;
}

.icon-ibex {
  width: 3em;
  height: 4em;
  margin: 0 -0.7em -0.8em 0.2em;
  fill: #6c8293;
}

a.ibex {
  color: black;
  text-shadow: 0 0 0 transparent;
  transition: all 0.3s ease-in-out;
}

a.ibex .icon-ibex {
  fill: #0b0d0f;
  -webkit-filter: drop-shadow(0 -1px 0 rgba(0, 0, 0, 0.3));
  filter: drop-shadow(0 -1px 0 rgba(0, 0, 0, 0.3));
  transition: all 0.3s ease-in-out;
}

a.ibex:hover {
  color: #aaaaaa;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.7);
}

a.ibex:hover .icon-ibex {
  fill: #aaaaaa;
  -webkit-filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.7));
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.7));
}

a.ibex:active {
  color: #FFFF42;
  text-shadow: 0 0 0 transparent;
}

a.ibex:active .icon-ibex {
  fill: #FFFF42;
  -webkit-filter: drop-shadow(0 -1px 0 rgba(0, 0, 0, 0.3));
  filter: drop-shadow(0 -1px 0 rgba(0, 0, 0, 0.3));
}

.slick-active .image.animate img {
  animation: move 8s ease-in-out;
  
  -ms-animation: move 8s ease-in-out;
  -webkit-animation: move 8s ease-in-out;
  -o-animation: move 8s ease-in-out;
  -moz-animation: move 8s ease-in-out;
}

@-webkit-keyframes move {
  from {
    transform: scale(1.05);
    -ms-transform: scale(1.05);
    
    -webkit-transform: scale(1.05);
    
    -o-transform: scale(1.05);
    
    -moz-transform: scale(1.05);
    
  }
  to {
    transform: scale(1);
    -ms-transform: scale(1);
    
    -webkit-transform: scale(1);
    
    -o-transform: scale(1);
    
    -moz-transform: scale(1);
    
  }
}

nav {
  padding: 0;
  font-family: "Open Sans Condensed", "Arial Narrow", sans-serif;
  text-transform: uppercase;
}

.touch #header nav.main {
  overflow-x: auto;
}

.touch #header nav.main ul {
  white-space: nowrap;
}

#header {
  background: #185b35;
  width: 100%;
  box-shadow: 0 0.2em 0.2em 0 rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 99;
  text-align: center;
}

#header div.upper {
  border-bottom: 1px solid #112f1e;
  width: 100%;
  padding: .5em;
}

#header div.upper div {
  display: inline-block;
  padding: .5em;
}

#header .branding {
  display: inline-block;
  width: 100%;
}

#header .branding a {
  margin: 0 auto;
  font-family: "Open Sans", Arial, sans-serif;
  text-transform: uppercase;
  color: #fff;
  font-weight: 800;
}

#header .branding div {
  display: inline-block;
  vertical-align: middle;
  line-height: 1em;
  margin: 0;
  font-size: 1.5em;
}

#header .branding div span {
  color: #fff;
}

#header a.btn {
  background: #FFFF42;
  box-shadow: 0 0 0.5em rgba(255, 255, 66, 0.2);
}

#header a.btn:hover {
  background: #ffffa8;
  box-shadow: 0 0 1em rgba(255, 255, 66, 0.5);
}

#header span.tag.line {
  color: #FFF;
  font-family: "Open Sans",Arial,sans-serif;
  font-weight: 400;
  font-size: .85em;
  display: inline-block;
  vertical-align: middle;
  text-transform: none;
}

#header .menu-main-container {
  width: 100%;
  display: inline-block;
  vertical-align: middle;
}

#header nav.main {
  width: 100%;
  background: #1b673c;
  border-top: 1px solid #23834d;
}

#header nav.main ul {
  margin: 0;
  padding: 0;
  text-align: center;
  padding: 0 0.75em;
}

#header nav.main ul li {
  padding: 0;
  margin: 0;
  list-style: none;
  display: inline-block;
  text-align: center;
}

#header nav.main ul li a {
  color: #fff;
  display: inline-block;
  padding: 0.5em 1em;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
}

#header nav.main ul li a:hover {
  color: #34b45f;
}

#header nav.main ul li.current-post-ancestor a,
#header nav.main ul li.current-category-ancestor a,
#header nav.main ul li.current-menu-item a,
#header nav.main ul li.current-event-ancestor a,
#header nav.main ul li.current-event-category-ancestor a,
#header nav.main ul li.current-business-type-ancestor a,
#header nav.main ul li.current-local-info-ancestor a,
#header nav.main ul li.current-vouchers-ancestor a,
#header nav.main ul li.current-voucher-ancestor a,
#header nav.main ul li.current-win-ancestor a,
#header nav.main ul li.current-competitions-ancestor a {
  color: #aaaaaa;
}

#header .social {
  display: flex;
  align-items: center;
}

#header a svg.icon {
  width: 1em;
  height: 1em;
  overflow: visible;
  margin: 0.6em 0 0 0.3em;
  fill: #34b45f;
}

#header a:hover svg.icon {
  fill: #f6f6f6;
}

#header .icon-text {
  display: none;
}

#header a.phone {
  font-family: "Open Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  padding: 0 0.5em;
  font-size: 1.2em;
  color: #fff;
}

@media only screen and (min-width: 48em) {
  #header .branding {
    width: auto;
  }
}


@media only screen and (min-width: 56.25em) {
  #header div.upper {
    display: table;
    padding: .25em 0;
  }
  #header div.upper > div {
    display: table-cell;
    vertical-align: middle;
  }
  #header div.upper div {
    padding: 0 1em 0 0;
  }
  #header div.upper .branding {
    padding: 0.5em 0.25em 0.5em 6rem;
    width: 20.5rem;
    text-align: left;
  }
  #header div.upper .branding div {
    font-size: 1em;
    font-weight: 600;
  }
  #header div.upper #contactdetails, #header div.upper .book {
    white-space: nowrap;
    text-align: right;
  }
  #header span.tag.line {
    padding-left: 6rem;
    width: 20rem;
    text-align: left;
  }
  #header .menu-main-container {
    width: 100%;
    margin-left: -20.5rem;
    padding-left: 20.5rem;
    display: inline-block;
    vertical-align: middle;
  }
  #header svg.pulse {
    width: 91px;
    height: 73px;
    margin-right: -91px;
    margin-top: -45px;
    float: left;
    position: relative;
    z-index: 10;
  }
  #header svg.pulse .back {
    fill: #185b35;
  }
  #header svg.pulse .shadow {
    fill: #112f1e;
  }
  #header svg.pulse .pulse {
    fill: #439667;
  }
  #header svg.pulse .bottom {
    fill: #1b673c;
  }
  #header .tagline {
    font-family: "Open Sans Condensed", "Arial Narrow", sans-serif;
    padding: 0.2em 0 0;
    overflow: hidden;
    text-align: left;
  }
  #header .tagline h3 {
    font-size: 0.75em;
    line-height: 1.2;
    font-weight: 200;
    margin: 0;
    color: white;
    text-transform: none;
  }
  #header nav.main {
    position: relative;
    overflow: visible;
  }
  #header nav.main ul {
    padding: 0;
    margin: 0;
    width: 100%;
    display: flex;
  }
  #header nav.main ul li {
    flex-grow: 1;
    text-align: left;
  }
  #header nav.main ul li a {
    padding: 0.5em 1em 0.5em 0;
  }
}

.gform_wrapper {
  padding: 3% 0;
}

.gform_wrapper ul.acf-radio-list li input,
.gform_wrapper ul.acf-checkbox-list li input {
  width: auto;
}

.gform_wrapper .gf_page_steps {
  font-size: .8em;
  margin: 1em 0;
}

.gform_wrapper input:focus {
  outline: none;
}

.gform_wrapper form {
  background: #eee;
  padding: 1em;
}

.gform_wrapper form {
  width: 100%;
}

.gform_wrapper form input,
.gform_wrapper form textarea {
  width: 100%;
  border: 1px solid #ddd;
  background: transparent;
  padding: 0.5em;
  outline: 0;
  background-color: #fff;
}

.gform_wrapper form input:focus,
.gform_wrapper form input:valid,
.gform_wrapper form textarea:focus,
.gform_wrapper form textarea:valid {
  border-color: #185b35;
}

.gform_wrapper form input:valid,
.gform_wrapper form textarea:valid {
  border-color: #aaaaaa;
  color: #464646;
}

.gform_wrapper form th {
  font-size: .8em;
  border: 1px #f1f1f1 solid;
}

.gform_wrapper form tr td {
  padding: 0;
  padding: 0;
  border: 1px #f1f1f1 solid;
}

.gform_wrapper form tr:nth-child(even), .gform_wrapper form tr:nth-child(even) td input {
  background: #fbfbfb;
}

.gform_wrapper form input[type="checkbox"],
.gform_wrapper form input[type="radio"] {
  width: auto;
}

.gform_wrapper form select {
  width: 100%;
}

.gform_wrapper form textarea {
  display: block;
  resize: vertical;
  min-height: 7em;
}

.gform_wrapper form input[type="submit"],
.gform_wrapper form input[type="button"] {
  width: auto;
  background: #34b45f;
  color: #2b343b;
  border: 0;
  margin-top: 2.5%;
  font-weight: 700;
  padding: 0.5em 0.75em;
  box-shadow: 0 0 0.5em rgba(24, 91, 53, 0.2);
}

.gform_wrapper form input[type="submit"]:hover,
.gform_wrapper form input[type="button"]:hover {
  background: #1d6535;
  box-shadow: 0 0 1em rgba(43, 52, 59, 0.5);
}

.gform_wrapper form input[type="submit"][type="submit"],
.gform_wrapper form input[type="button"][type="submit"] {
  color: #FFFF42;
  background: #2b343b;
}

.gform_wrapper form input[type="submit"][type="submit"]:hover,
.gform_wrapper form input[type="button"][type="submit"]:hover {
  background: #161a1d;
}

.gform_wrapper form .gfield_label {
  font-family: "Open Sans Condensed", "Arial Narrow", sans-serif;
}

.gform_wrapper form .gfield.gfield_error input,
.gform_wrapper form .gfield.gfield_error textarea {
  border: 1px solid tomato;
}

.gform_wrapper .gform_confirmation_wrapper {
  background: #FFFF42;
  padding: 1em;
  text-align: center;
  border-radius: 0.2em;
  color: #fff;
}

.gform_wrapper form#loginform {
  margin: 7% auto;
  width: 25em;
}

.gform_wrapper .container .gform_wrapper form {
  padding-right: 0;
}

.gform_wrapper .gform_body input,
.gform_wrapper .gform_body textarea {
  width: 100%;
  padding: 0.5em;
  border: 0;
  font-weight: 300;
}

.gform_wrapper .gform_fields,
.gform_wrapper .gfield_checkbox {
  list-style: none;
  margin: 0;
  padding: 0;
}

.gform_wrapper .gfield_required {
  color: #2b343b;
}

.gform_wrapper .gform_validation_container {
  text-indent: -999999em;
  float: right;
}

.gform_wrapper .ginput_full,
.gform_wrapper .gfield.half,
.gform_wrapper .ginput_left,
.gform_wrapper .ginput_right,
.gform_wrapper .name_first,
.gform_wrapper .name_last,
.gform_wrapper .name_prefix {
  display: inline-block;
  vertical-align: top;
  margin-bottom: 1em;
}

.gform_wrapper .name_prefix {
  width: 5em;
  margin: 0 80% 1em 0;
}

.gform_wrapper .gfield.half,
.gform_wrapper .ginput_left,
.gform_wrapper .ginput_right,
.gform_wrapper .name_first,
.gform_wrapper .name_last {
  width: 50%;
  padding-right: 3%;
  margin-right: -.25em;
}

.gform_wrapper .gfield.full,
.gform_wrapper .ginput_full {
  width: 100%;
  padding-right: 3%;
}

.gform_wrapper .gfield,
.gform_wrapper .gform_button {
  width: 100%;
  padding-right: 3%;
  margin: 3% 0 0;
  margin-right: -.25em;
}

.gform_wrapper img.add_list_item,
.gform_wrapper img.delete_list_item {
  margin: 3px;
}

.gform_wrapper .ginput_container span label, .gform_wrapper .gfield_description {
  font-size: 0.8em;
}

.gform_wrapper .gsection {
  padding-top: 5%;
  margin-top: 5%;
  border-top: 1px dotted #464646;
}

.gform_wrapper form .gfield_checkbox > ul,
.gform_wrapper form .gfield_radio > ul,
.gform_wrapper form .ginput_container > ul {
  padding-left: 0.5em;
}

.gform_wrapper form .gfield_checkbox > ul > li,
.gform_wrapper form .gfield_radio > ul > li,
.gform_wrapper form .ginput_container > ul > li {
  list-style: none;
  margin-left: 0;
}

.gform_wrapper form .gfield_checkbox input,
.gform_wrapper form .gfield_checkbox label,
.gform_wrapper form .gfield_radio input,
.gform_wrapper form .gfield_radio label,
.gform_wrapper form .ginput_container input,
.gform_wrapper form .ginput_container label {
  display: inline-block;
}

.gform_wrapper form .gfield_checkbox input,
.gform_wrapper form .gfield_radio input {
  width: 2em;
  display: inline-block;
  vertical-align: middle;
}

.gform_wrapper form .gfield_checkbox label,
.gform_wrapper form .gfield_radio label {
  display: inline-block;
  vertical-align: middle;
  font-weight: 400;
  font-size: 0.8em;
  width: 100%;
  margin-left: -3em;
  padding-left: 3em;
}

.gform_wrapper .gf_page_steps > div {
  display: inline-block;
  margin-right: 1em;
}

.gform_wrapper .gf_page_steps > div .gf_step_number {
  color: #2b343b;
}

.gform_wrapper .gf_page_steps .gf_step_active {
  font-weight: 600;
}

.gform_confirmation_wrapper {
  background: #185b35;
  color: #fff;
  padding: 2.5%;
  text-align: center;
  margin: 2.5% 0;
  font-weight: bold;
}

@media only screen and (max-width: 30em) {
  .gfield.half,
  .ginput_left,
  .ginput_right {
    width: 100%;
    padding-right: 0;
  }
}

body a {
  color: #34b45f;
}

body p.info_link {
  float: right;
}

body .tribe-events-notices {
  background: #185b35;
  border: 1px solid #030a06;
  color: #fff;
  margin: 10px 0 18px;
  padding: 0.5em 1em;
  text-shadow: none;
  border-radius: 0;
  text-align: center;
}

body .entry-meta {
  background: #fff;
  padding: 5%;
  margin-bottom: 5%;
}

body .entry-meta hr {
  display: none;
}

body.single-tribe_events .tribe-events-schedule .recurringinfo,
body.single-tribe_events .tribe-events-schedule .event-is-recurring,
body.single-tribe_events .tribe-events-schedule .tribe-events-cost,
body.single-tribe_events .tribe-events-schedule .tribe-events-divider,
body.single-tribe_events .tribe-events-schedule .tribe-events-cost,
body.single-tribe_events .tribe-events-schedule h3 {
  vertical-align: baseline;
  font-weight: 300;
  font-size: 1em;
}

body .tribe-events-category-first-person-on-scene a,
body .tribe-events-category-outdoor-first-aid-course-dates a {
  color: #2ec15d;
}

body .tribe-events-category-family-first-aid-course-dates a {
  color: #b0c12e;
}

body .tribe-events-category-first-aid-at-work-course-dates a {
  color: #c12e3a;
}

body .tribe-events-calendar thead th {
  border: 1px solid #666;
}

body .tribe-events-tooltip .tribe-events-event-body {
  white-space: normal;
}

body .eo-event-venue-map {
  margin: 1.5em 0;
}

.posrel {
  position: relative;
}

.info {
  display: flex;
  background: #f7f7f7;
}

.info .top-image {
  flex: 1 0 15rem;
  margin-bottom: 0;
  max-width: 15rem;
}

.info .description {
  padding: 2em 7%;
  width: 100%;
  background: #2b343b;
  color: #aaaaaa;
  text-align: center;
}

.info .description h1, .info .description h2, .info .description h3, .info .description h4, .info .description h5, .info .description h6 {
  color: #fff;
}

.info .description .btn {
  color: #fff;
  float: right;
  margin: 0 0 0.5em 1em;
}

nav.col {
  background: #36414a;
}

nav.col ul, nav.col li {
  margin: 0;
  padding: 0;
}

nav.col ul {
  text-align: center;
  padding: 1em 0;
}

nav.col ul li {
  display: inline-block;
  vertical-align: top;
}

nav.col ul li a {
  color: #fff;
}

nav.col ul li a:hover {
  color: #34b45f;
}

nav.col li li ul {
  display: none;
}

nav.col a {
  display: block;
  width: auto;
  padding: 1rem 1.5rem;
  font-weight: 700;
}

nav.col li.current-cat > ul,
nav.col li.current-cat-parent > ul {
  display: inline-block;
  padding-left: 1em;
  font-size: .9em;
  vertical-align: middle;
}

nav.col li.current-cat > a,
nav.col li.current-cat-parent > a {
  color: #34b45f;
  display: inline-block;
  vertical-align: middle;
}

nav.col li.current-cat > a {
  color: #34b45f;
}

.touch nav.col ul {
  text-align: center;
}

.touch nav.col ul li, .touch nav.col ul a, .touch nav.col ul ul {
  display: inline-block;
  vertical-align: middle;
}

.con .con {
  background: #fff;
  padding: 2em;
  flex-grow: 1;
  max-width: 100%;
}

.con .con.list {
  padding: 0;
}

.con .con.list article {
  font-size: .85em;
  margin-bottom: 5%;
  padding-bottom: 5%;
  border-bottom: 1px dotted #c6c6c6;
}

.con .con.list article header {
  float: left;
  width: 20%;
  margin: 0 5% 2.5% 0;
}

.con .con.cards {
  padding: .5em;
  background-color: #aaaaaa;
  display: flex;
  flex-grow: 1;
  flex-wrap: wrap;
  -ms-flex: 1 1 0;
}

.con .con.cards article {
  background: #ffffff;
  display: inline-block;
  vertical-align: top;
  margin: .5em;
  padding: 0;
  transition: .2s all ease;
  width: calc( 100% - 1em);
  -webkit-transform: translateY(0);
  -webkit-backface-visibility: hidden !important;
  transition: box-shadow 300ms cubic-bezier(0.65, -1, 0.25, 2.5), -webkit-transform 300ms cubic-bezier(0.65, -1, 0.25, 2.5);
  -webkit-will-change: -webkit-transform, box-shadow;
}

.con .con.cards article a {
  color: #298c4a;
}

.con .con.cards article a:hover {
  color: #34b45f;
}

.con .con.cards article:hover {
  -webkit-transform: translateY(-0.3rem);
  box-shadow: 0 10px 16px -4px rgba(36, 45, 50, 0.15);
}

.con .con.cards article .text {
  font-size: .8rem;
  padding: 2em 1.5em;
}

@media only screen and (min-width: 25em) {
  .con .con.cards article {
    width: 46%;
    width: calc(50% - 1em);
  }
}

@media only screen and (min-width: 37.5em) {
  .xoxo {
    border-top: 1px dotted #aaa;
    margin: 5% 0;
    padding: 5% 0 0;
  }
  .xoxo > li {
    border-top: none;
    display: inline-block;
    vertical-align: top;
    width: 33%;
    padding: 2em 5% 0 0;
  }
  .half {
    display: inline-block;
    vertical-align: top;
    width: 50%;
    margin-right: -.25em;
    margin-bottom: 2em;
    padding-right: 1em;
  }
}

@media only screen and (min-width: 50em) {
  .no-flexbox .con .cards.con {
    text-align: center;
  }
  .no-flexbox .con .cards.con article {
    width: 15rem;
  }
  .flexbox .con.col {
    display: flex;
    display: -webkit-box;
  }
  .flexbox nav.col {
    max-width: 15rem;
  }
  .flexbox nav.col > ul > li {
    width: 15rem;
  }
  .flexbox nav.col ul {
    white-space: normal;
    text-align: left;
    display: block;
  }
  .flexbox nav.col ul li {
    display: block;
  }
  .flexbox nav.col ul li a {
    width: 100%;
  }
  .flexbox .con.col .con.cards, .flexbox .events-archive .single.con {
    width: calc(100% - 15rem);
  }
  .flexbox .con.col aside.con.cards {
    width: 100%;
    margin: 0;
    padding: .5em;
  }
  .flexbox .con.col aside.con.cards header {
    max-width: 100%;
    margin: 0 0 1em;
  }
  .con .con {
    padding: 3em;
  }
  .top {
    margin-top: 2.5%;
  }
  .con article .col {
    display: inline-block;
    width: 50%;
    padding-right: 2.5%;
    margin-right: -.2em;
    vertical-align: top;
    padding-top: 1em;
  }
  .con article .col.left {
    padding-right: 2.5%;
  }
  .con article .col.right {
    padding-left: 2.5%;
  }
}

@media only screen and (max-width: 37.5em) {
  .no-mob {
    display: none !important;
  }
}

@media only screen and (max-width: 50em) {
  .touch .mobile-only {
    display: block;
  }
}

@media only screen and (min-width: 56.25em) {
  body {
    text-rendering: optimizeLegibility;
  }
  .con .con.cards article {
    width: 30%;
    width: calc(33.333% - 1em);
  }
}

@media only screen and (min-width: 75em) {
  .single .con .con {
    padding: 4em;
  }
  .single .con .con > article header, .single .con .con > article .tribe-events-event-image {
    max-width: 50%;
    float: left;
    margin: 0 5% 2.5% 0;
  }
  .acf-map.top {
    margin: 0;
  }
  .bulk #content {
    background: #ffffff;
  }
  .bulk #comments {
    margin: 5% 0 0;
  }
  #content.edit_page {
    max-width: 90%;
  }
  .con .con.cards article {
    width: 22.5%;
    width: calc(25% - 1em);
  }
}

@media only screen and (max-width: 56.25em) {
  .no-tab {
    display: none !important;
  }
}

@media only screen and (min-width: 85em) {
  html {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAAUVBMVEWFhYWDg4N3d3dtbW17e3t1dXWBgYGHh4d5eXlzc3OLi4ubm5uVlZWPj4+NjY19fX2JiYl/f39ra2uRkZGZmZlpaWmXl5dvb29xcXGTk5NnZ2c8TV1mAAAAG3RSTlNAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAvEOwtAAAFVklEQVR4XpWWB67c2BUFb3g557T/hRo9/WUMZHlgr4Bg8Z4qQgQJlHI4A8SzFVrapvmTF9O7dmYRFZ60YiBhJRCgh1FYhiLAmdvX0CzTOpNE77ME0Zty/nWWzchDtiqrmQDeuv3powQ5ta2eN0FY0InkqDD73lT9c9lEzwUNqgFHs9VQce3TVClFCQrSTfOiYkVJQBmpbq2L6iZavPnAPcoU0dSw0SUTqz/GtrGuXfbyyBniKykOWQWGqwwMA7QiYAxi+IlPdqo+hYHnUt5ZPfnsHJyNiDtnpJyayNBkF6cWoYGAMY92U2hXHF/C1M8uP/ZtYdiuj26UdAdQQSXQErwSOMzt/XWRWAz5GuSBIkwG1H3FabJ2OsUOUhGC6tK4EMtJO0ttC6IBD3kM0ve0tJwMdSfjZo+EEISaeTr9P3wYrGjXqyC1krcKdhMpxEnt5JetoulscpyzhXN5FRpuPHvbeQaKxFAEB6EN+cYN6xD7RYGpXpNndMmZgM5Dcs3YSNFDHUo2LGfZuukSWyUYirJAdYbF3MfqEKmjM+I2EfhA94iG3L7uKrR+GdWD73ydlIB+6hgref1QTlmgmbM3/LeX5GI1Ux1RWpgxpLuZ2+I+IjzZ8wqE4nilvQdkUdfhzI5QDWy+kw5Wgg2pGpeEVeCCA7b85BO3F9DzxB3cdqvBzWcmzbyMiqhzuYqtHRVG2y4x+KOlnyqla8AoWWpuBoYRxzXrfKuILl6SfiWCbjxoZJUaCBj1CjH7GIaDbc9kqBY3W/Rgjda1iqQcOJu2WW+76pZC9QG7M00dffe9hNnseupFL53r8F7YHSwJWUKP2q+k7RdsxyOB11n0xtOvnW4irMMFNV4H0uqwS5ExsmP9AxbDTc9JwgneAT5vTiUSm1E7BSflSt3bfa1tv8Di3R8n3Af7MNWzs49hmauE2wP+ttrq+AsWpFG2awvsuOqbipWHgtuvuaAE+A1Z/7gC9hesnr+7wqCwG8c5yAg3AL1fm8T9AZtp/bbJGwl1pNrE7RuOX7PeMRUERVaPpEs+yqeoSmuOlokqw49pgomjLeh7icHNlG19yjs6XXOMedYm5xH2YxpV2tc0Ro2jJfxC50ApuxGob7lMsxfTbeUv07TyYxpeLucEH1gNd4IKH2LAg5TdVhlCafZvpskfncCfx8pOhJzd76bJWeYFnFciwcYfubRc12Ip/ppIhA1/mSZ/RxjFDrJC5xifFjJpY2Xl5zXdguFqYyTR1zSp1Y9p+tktDYYSNflcxI0iyO4TPBdlRcpeqjK/piF5bklq77VSEaA+z8qmJTFzIWiitbnzR794USKBUaT0NTEsVjZqLaFVqJoPN9ODG70IPbfBHKK+/q/AWR0tJzYHRULOa4MP+W/HfGadZUbfw177G7j/OGbIs8TahLyynl4X4RinF793Oz+BU0saXtUHrVBFT/DnA3ctNPoGbs4hRIjTok8i+algT1lTHi4SxFvONKNrgQFAq2/gFnWMXgwffgYMJpiKYkmW3tTg3ZQ9Jq+f8XN+A5eeUKHWvJWJ2sgJ1Sop+wwhqFVijqWaJhwtD8MNlSBeWNNWTa5Z5kPZw5+LbVT99wqTdx29lMUH4OIG/D86ruKEauBjvH5xy6um/Sfj7ei6UUVk4AIl3MyD4MSSTOFgSwsH/QJWaQ5as7ZcmgBZkzjjU1UrQ74ci1gWBCSGHtuV1H2mhSnO3Wp/3fEV5a+4wz//6qy8JxjZsmxxy5+4w9CDNJY09T072iKG0EnOS0arEYgXqYnXcYHwjTtUNAcMelOd4xpkoqiTYICWFq0JSiPfPDQdnt+4/wuqcXY47QILbgAAAABJRU5ErkJggg==);
    background-color: #000;
  }
  body {
    max-width: 95%;
    margin: 1em auto;
    box-shadow: 0 0.5em 1em 0 rgba(0, 0, 0, 0.5);
  }
  .con .con > article {
    font-size: 1.2em;
  }
}

@media only screen and (min-width: 100em) {
  body {
    max-width: 85%;
    margin: 2em auto;
  }
  .con .con.cards article {
    width: calc(20% - 1em);
  }
}


@media all and (device-width: 768px) and (device-height: 1024px) and (orientation: portrait) {
  .map {
    max-height: 300px;
  }
}


@media all and (device-width: 768px) and (device-height: 1024px) and (orientation: landscape) {
  .map {
    max-height: 300px;
  }
}


@media screen and (device-aspect-ratio: 40/71) {
  .map {
    max-height: 300px;
  }
}

@media print {
  body {
    background: #ffffff !important;
  }
  .bulk .top-image {
    float: left;
    width: 50%;
    margin: 0 2em 2em 0;
  }
  .no-print, .menu-main-header-navigation-container {
    display: none !important;
  }
}
