/* Wild Bushcraft: the theme's stylesheet (Theme -> Custom CSS).

   Written once from the old site's stylesheet as Gansey draws its pages,
   with what matches nothing left out. It is the site's own now: edit it
   here or in the theme editor (and bring an editor change back with
   Download what changed here), not regenerated by build.py. */

/* Gansey <-> the old site's markup. Loaded before screen.css.

   Each old element is a Gansey box carrying its classes, marked `wb`: a
   section (.section.mainContent), the row its data-row names
   (.container.cols2), a column (.col1) or a widget (.richText.intro).
   Gansey's other boxes, and what widgets draw inside their own box (the
   Text widget's div, the Image widget's figure, the Custom code widget's
   div), step out of the layout with display: contents, so the old
   elements sit as the old pages had them. */
/* The body takes the page's font and colour (see html below); its
   background stays clear, so the paper texture on the page shows through. */
body.gsy-body {
  display: block; min-height: 0; margin: 0; background: none; color: inherit; font: inherit;
}
.gsy-header,
.gsy-footer {
  background: none; color: inherit;
}
.gsy-section,
.gsy-part .gsy-section {
  padding-block: 0;
}
.gsy-part a,
.gsy-part .gsy-text a {
  color: inherit;
}
.gsy-row,
.gsy-col:not(.wb) {
  display: contents;
}
.gsy-col.wb {
  grid-column: auto; min-width: 0;
}
[data-row] > .gsy-row {
  display: block; gap: 0; grid-template-columns: none; max-width: none; margin: 0; padding: 0;
}
.gsy-widget:not(.wb),
.gsy-code,
.gsy-widget-text > .gsy-text,
.wb > .gsy-entry-field,
.gsy-image,
.gsy-widget-icon > .gsy-icon {
  display: contents;
}
.gsy-widget + .gsy-widget {
  margin-top: 0;
}
/* An entry field with nothing in it (a course with no video) takes no room. */
.gsy-widget:empty {
  display: none;
}
/* What widgets draw takes the old element rules, not core's own. */
:is(h1, h2, h3, h4, h5, h6).gsy-heading {
  font: inherit; letter-spacing: inherit; line-height: inherit; text-transform: inherit; color: var(--gsy-heading-color, inherit);
}
:is(.gsy-text, .gsy-entry-field) :is(h2, h3, h4) {
  font: inherit; letter-spacing: inherit; line-height: inherit; text-transform: inherit; color: inherit; margin: 0;
}
:is(.gsy-text, .gsy-entry-field) a {
  text-underline-offset: auto;
}
.gsy-entry-field {
  margin: 0;
}
.gsy-text p:first-child {
  margin-top: 0;
}
.gsy-image figcaption {
  margin: 0; color: inherit; font-size: inherit;
}
/* Builder canvas: every box stays, so each one can be picked. */
[data-gsy-section] .gsy-row,
[data-gsy-section] .gsy-col:not(.wb) {
  display: block;
}
[data-gsy-widget]:not(.wb),
[data-gsy-section] .gsy-code {
  display: block !important;
}
[data-gsy-group]:empty {
  min-height: 2rem;
}
/* screen.css, the old site's stylesheet, as Gansey draws its pages */
html,
body,
body.gsy-body,
div,
span,
applet,
object,
iframe,
h1,
h1.gsy-heading,
h2,
h2.gsy-heading,
.gsy-text h2,
h3,
h3.gsy-heading,
.gsy-text h3,
h4,
h5,
h6,
p,
.gsy-text>p:last-child,
blockquote,
.gsy-text>blockquote:last-child,
pre,
a,
.gsy-text a,
.gsy-entry-field a,
a.gsy-group,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
img[src],
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
.gsy-text>ol:last-child,
ul,
.gsy-text>ul:last-child,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin:0;
  padding:0;
  border:0;
  font-size:100%;
  font:inherit;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
  display:block;
}
table {
  border-collapse:collapse;
  border-spacing:0;
}
input,
textarea {
  border:0;
}
*,
*:before,
*:after {
  -o-box-sizing:border-box;
  -ms-box-sizing:border-box;
  box-sizing:border-box;
}
button,
input,
select,
textarea {
  color:inherit;
  font-family:inherit;
  font-style:inherit;
  font-weight:inherit;
}
html {
  -webkit-text-size-adjust:100%;
  -ms-text-size-adjust:100%;
}
a:link,
.gsy-text a:link,
.gsy-entry-field a:link,
a.gsy-group:link {
  -webkit-tap-highlight-color:#999;
}
::-webkit-selection {
  background-color:#999;
  color:#fff;
}
::-moz-selection {
  background-color:#999;
  color:#fff;
}
::selection {
  background-color:#999;
  color:#fff;
}
::-webkit-input-placeholder {
  font-size:.875em;
  line-height:1.4;
}
input:-moz-placeholder {
  font-size:.875em;
  line-height:1.4;
}
input[type=submit] {
  -webkit-appearance:none;
}
input,
select,
textarea {
  font:100%/1.375 "HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  hyphens:none;
  -webkit-hyphens:none;
  -moz-hyphens:none;
  -ms-hyphens:none;
  -o-hyphens:none;
}
p,
.gsy-text>p:last-child,
ul,
.gsy-text>ul:last-child,
ol,
.gsy-text>ol:last-child,
blockquote,
.gsy-text>blockquote:last-child {
  margin-bottom:1.375em;
  margin-bottom:1.375rem;
}
/* The page's font, size, line height and text colour are the theme's
   (Theme -> Colours & type); the old reset has everything inherit them
   from here. */
html {
  font:var(--gsy-font-base-size)/var(--gsy-line-height) var(--gsy-font-body);
  color:var(--gsy-color-text);
  background:#fcfcf2 url(/media/originals/2026/11/dd095a63-2b54-424f-ac55-8a2646492f50.jpg);
  hyphens:none;
  -webkit-hyphens:none;
}
sup {
  vertical-align:top;
  font-size:.75em;
}
sub {
  vertical-align:bottom;
  font-size:.75em;
}
strong,
b {
  font-weight:bold;
}
em,
i {
  font-style:italic;
}
code {
  font:.85em/1 Courier, monospace;
  color:#006;
}
a:link,
.gsy-text a:link,
.gsy-entry-field a:link,
a.gsy-group:link,
a:visited,
.gsy-text a:visited,
.gsy-entry-field a:visited,
a.gsy-group:visited {
  color:inherit;
  text-decoration:none;
}
a:hover,
.gsy-text a:hover,
.gsy-entry-field a:hover,
a.gsy-group:hover {
  color:#63b442;
}
img,
img[src] {
  max-width:100%;
}
a img,
a img[src] {
  margin:0;
}
picture {
  display:flex;
}
picture img,
picture img[src] {
  width:100%;
  height:100%;
}
tbody tr:nth-child(2n+1) {
  background-color:rgba(0,0,0,0.1);
}
label {
  display:block;
  margin-bottom:1em;
}
label span {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
}
label:not(.boolean) span {
  display:block;
  margin-bottom:0.5em;
}
input[type="text"],
input[type="email"],
textarea {
  width:100%;
  border:1px solid #dcdcdc;
  padding:0.5em 1em;
  transition:all 0.2s;
  color:#000;
}
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
  border-color:#000;
  outline:0;
}
.cms-textblock:after {
  content:".";
  display:block;
  height:0;
  clear:both;
  visibility:hidden;
}
.dc_button {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  position:relative;
  display:inline-block;
  margin:auto;
  padding:0.5em 1em;
  border:2px solid #fff;
  border-radius:0;
  color:#fff !important;
  background-color:transparent;
  text-transform:uppercase;
  overflow:hidden;
  z-index:1;
  transition:all .3s;
}
.dc_button:hover,
.dc_button:focus {
  background-color:#fff;
  color:#000 !important;
  cursor:pointer;
}
button::-moz-focus-inner {
  padding:0;
  border:0;
}
.imageGallery.slider {
  position:relative;
  margin-bottom:60px;
}
.imageGallery.slider .prev {
  position:absolute;
  left:0;
  bottom:-30px;
}
.imageGallery.slider .next {
  position:absolute;
  right:0;
  bottom:-30px;
}
@media (min-width: 700px) {
  .imageGallery.slider {
    margin-bottom:20px;
  }
  .imageGallery.slider .prev,
  .imageGallery.slider .next {
    text-indent:-999em;
    overflow:hidden;
    bottom:auto;
    top:50%;
    transform:translateY(-50%);
    z-index:10;
    display:block;
    width:44px;
    height:44px;
    background:white url(/media/originals/2026/11/3a26e049-77eb-436e-8bde-26fd36772aef.png) 50% 50% / 12px auto no-repeat;
    transition:all .2s;
  }
  .imageGallery.slider .prev:hover,
  .imageGallery.slider .prev:focus,
  .imageGallery.slider .next:hover,
  .imageGallery.slider .next:focus {
    cursor:pointer;
    background:transparent url(/media/originals/2026/11/3a26e049-77eb-436e-8bde-26fd36772aef.png) 50% 50% / 24px auto no-repeat;
  }
  .imageGallery.slider .prev {
    transform-origin:50% 50%;
    transform:rotate(180deg) translateY(50%);
  }
}
.site_navigation {
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
}
html .nav-menu-trigger {
  position:fixed;
  top:0;
  right:0;
  z-index:20;
  display:block;
  height:84px;
  text-align:left;
  text-transform:uppercase;
  color:#f38f00;
}
html .nav-menu-trigger span {
  position:absolute;
  right:0;
  top:0;
  display:block;
  width:115px;
  height:84px;
  text-indent:-999em;
  transition:all .3s;
}
html .nav-menu-trigger span i {
  position:absolute;
  top:38px;
  left:35px;
  display:block;
  width:42px;
  height:4px;
  background-color:#f38f00;
  transition:all .3s;
}
html .nav-menu-trigger span i:after,
html .nav-menu-trigger span i:before {
  content:"";
  position:absolute;
  top:-13px;
  left:0;
  display:block;
  width:42px;
  height:4px;
  background-color:#f38f00;
  transform-origin:50% 50%;
  transition:all .3s;
}
html .nav-menu-trigger span i:after {
  top:13px;
}
html .nav-menu-trigger:hover,
html .nav-menu-trigger:focus {
  cursor:pointer;
}
html .nav-menu-trigger:hover span,
html .nav-menu-trigger:focus span {
  background-color:transparent;
}
html .showHide.top {
  position:relative;
}
html .showHide.top:after {
  position:absolute;
  right:1em;
  top:50%;
  content:"";
  display:block;
  width:10px;
  height:16px;
  background:url(/media/originals/2026/11/3064afbb-898e-472d-862d-3d8867fe26e4.png) 0 0/contain no-repeat;
  transform:translateY(-50%);
}
html .showHide.second {
  position:relative;
  padding-top:1em;
  padding-bottom:1em;
}
html .showHide.second:after {
  position:absolute;
  left:1.5em;
  top:50%;
  content:"";
  display:block;
  width:10px;
  height:16px;
  background:url(/media/originals/2026/11/3a26e049-77eb-436e-8bde-26fd36772aef.png) 0 0/contain no-repeat;
  transform:translateY(-50%) rotate(180deg);
}
html .showHide.second:hover:after,
html .showHide.second:focus:after {
  background-image:url(/media/originals/2026/11/3064afbb-898e-472d-862d-3d8867fe26e4.png);
}
html .nav_main .hide {
  position:absolute;
  top:85px;
  left:-1em;
  right:0;
  bottom:0;
  background-color:white;
  color:#f38f00;
  transition:all 0.3s;
  transform:translateX(100%);
}
html .nav_main a:hover,
html .nav_main a:focus {
  cursor:pointer;
}
html .site_context {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding-top:84px;
  color:#fcfcf2;
}
html .site_context h2,
html .site_context h2.gsy-heading {
  position:absolute;
  left:-999em;
  overflow:hidden;
}
html .site_context ul {
  list-style:none;
  margin-bottom:0;
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
}
html .site_context a,
html .site_context .gsy-text a,
html .site_context a.gsy-group {
  display:block;
}
html .site_context>.container {
  position:fixed;
  right:0;
  top:0;
  bottom:0;
  z-index:2;
  max-width:390px;
  padding:84px 0 0 0;
  background-color:#f38f00;
  opacity:0;
  transform:translate(100%, 0);
  transition:all .4s;
  overflow:auto;
  /* The closed submenus wait just past the right edge (translateX(100%)),
     so the panel would scroll sideways to them. */
  overflow-x:hidden;
  pointer-events:none;
  z-index:10;
}
html .site_context .container2 {
  height:100px;
  margin-left:auto;
  margin-right:auto;
  max-width:1600px;
  padding-left:20px;
  padding-right:20px;
  background:url(/media/originals/2026/11/fef68a2d-c99c-4307-99d7-0b62647a8a86.svg) 20px 0 no-repeat;
}
html .site_context .sm {
  padding:0.5em 20px;
}
html .site_context .sm h3,
html .site_context .sm h3.gsy-heading,
html .site_context .sm p,
html .site_context .sm .gsy-text>p:last-child {
  position:absolute;
  left:-999em;
  overflow:hidden;
}
html .site_context .sm li {
  display:inline-block;
  margin-left:0.5em;
  padding:10px;
}
html .site_context .sm li:first-child {
  margin-left:0;
}
html .site_context .sm svg path {
  fill:white;
}
html .site_context .nav_main,
html .site_context .contactInfo,
html .site_context .sm {
  padding-top:1.375rem;
  padding-bottom:1.375rem;
  border-top:1px solid #ff9d09;
}
html .site_context .nav_main>*:last-child,
html .site_context .contactInfo>*:last-child,
html .site_context .sm>*:last-child {
  margin-bottom:0;
}
html .site_context .contactInfo p,
html .site_context .contactInfo .gsy-text>p:last-child {
  margin-bottom:0;
}
html .site_navigation a {
  padding:1em 20px;
}
html .site_navigation a:hover,
html .site_navigation a:focus {
  background-color:#ff9d09;
  color:white;
}
html .site_title {
  position:absolute;
  left:-999em;
  overflow:hidden;
}
html .contactInfo {
  padding:0.5em 20px;
}
html.nav-active .nav-menu-trigger span i {
  background-color:transparent;
}
html.nav-active .nav-menu-trigger span i:before {
  transform:translateY(13px) rotate(-45deg);
  background-color:white;
}
html.nav-active .nav-menu-trigger span i:after {
  transform:translateY(-13px) rotate(45deg);
  background-color:white;
}
html.nav-active .site_context>.container {
  opacity:1;
  pointer-events:auto;
  transform:translate(0, 0);
}
@media (min-width: 480px) {
  html .site_context {
    padding-top:10px;
  }
  html .site_context>.container {
    width:390px;
  }
}
.site_footer {
  position:relative;
}
.site_footer h2,
.site_footer h2.gsy-heading {
  position:absolute;
  left:-999em;
  overflow:hidden;
}
.site_footer .sm h3,
.site_footer .sm h3.gsy-heading,
.site_footer .sm p,
.site_footer .sm .gsy-text>p:last-child {
  position:absolute;
  left:-999em;
  overflow:hidden;
}
.site_footer .sm li {
  margin-left:1rem;
}
.site_footer .sm li:first-child {
  margin-left:0;
}
.site_footer .sm svg {
  width:2.8rem;
  height:2.8rem;
}
.site_footer .sm svg path {
  fill:white;
}
.site_footer-2 {
  position:relative;
  font-size:1rem;
}
.site_footer-2:before {
  position:absolute;
  top:0px;
  left:0;
  content:"";
  display:block;
  width:100%;
  height:30px;
  background:url(/media/originals/2026/11/31164900-6cb3-45e9-91e2-4bd997d52bae.png) 0 100% repeat-x;
  z-index:2;
}
.site_footer-2 h3,
.site_footer-2 h3.gsy-heading {
  position:absolute;
  left:-999em;
  overflow:hidden;
}
.site_footer-2 ul,
.site_footer-2 .gsy-text>ul:last-child {
  list-style:none;
}
.site_footer-2 .legal li {
  margin-bottom:10px;
}
@media (min-width: 960px) {
  .site_footer-2 .container {
    display:flex;
    justify-content:space-between;
  }
  .site_footer-2 .legal li {
    display:inline-block;
    margin-bottom:0px;
    margin-left:0.5em;
    padding-left:0.5em;
    border-left:1px solid white;
  }
  .site_footer-2 .legal li:first-child {
    margin-left:0;
    padding-left:0;
    border-left:0;
  }
}
.newsletter {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding-top:2rem;
  padding-bottom:2rem;
  position:relative;
}
@media (min-width: 960px) {
  .newsletter {
    padding-top:80px;
  }
}
@media (min-width: 960px) {
  .newsletter {
    padding-bottom:80px;
  }
}
.newsletter:before {
  position:absolute;
  bottom:-30px;
  left:0;
  content:"";
  display:block;
  width:100%;
  height:30px;
  background:url(/media/originals/2026/11/ca50a8c8-b98c-4be8-9ed4-fc9d792a271d.png) 0 100% repeat-x;
  z-index:2;
}
.newsletter:after {
  position:absolute;
  top:-30px;
  left:0;
  content:"";
  display:block;
  width:100%;
  height:30px;
  background:url(/media/originals/2026/11/ca50a8c8-b98c-4be8-9ed4-fc9d792a271d.png) 0 0 repeat-x;
  z-index:2;
}
.newsletter>.container {
  max-width:600px !important;
  margin-left:auto;
  margin-right:auto;
}
.newsletter svg {
  margin-bottom:1rem;
}
.newsletter h2,
.newsletter h2.gsy-heading {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin:0;
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:30px;
  line-height:24px;
  text-rendering:optimizeLegibility;
  margin-bottom:1rem;
}
@media (max-width: 699px) {
  .newsletter h2,
  .newsletter h2.gsy-heading {
    font-size:18px;
  }
}
.newsletter label span {
  position:absolute;
  left:-999em;
  overflow:hidden;
}
@media (min-width: 480px) {
  .newsletter form .cantFlexboxFieldset {
    display:flex;
  }
  .newsletter form .cantFlexboxFieldset label {
    margin-bottom:0;
    flex-grow:1;
  }
  .newsletter form .cantFlexboxFieldset .dc_button {
    margin:0;
  }
}
.section>.container,
.section[data-row~="container"]>.gsy-row {
  padding-left:20px;
  padding-right:20px;
  max-width:1600px;
  margin-left:auto;
  margin-right:auto;
}
.embed-container {
  position:relative;
  height:0;
  padding-bottom:75%;
  max-width:100%;
  overflow:hidden;
}
.embed-container iframe,
.embed-container>div {
  position:absolute;
  top:0;
  left:0;
  width:100% !important;
  height:100% !important;
}
.embed-container>div * {
  -o-box-sizing:content-box;
  -ms-box-sizing:content-box;
  box-sizing:content-box;
}
.embed-container.widescreen {
  padding-bottom:56.25%;
}
.mixedContent .cms-textblock,
.mixedContent .video,
.mixedContent .singleImage,
.mixedContent .imageGallery {
  margin-bottom:40px;
}
.mixedContent .video {
  border:8px solid white;
  background-color:white;
  box-shadow:0 0 1rem rgba(0,0,0,0.3);
}
.mixedContent .intro {
  font-size:1.4em;
}
.mixedContent .singleImage {
  border:8px solid white;
  background-color:white;
  box-shadow:0 0 1rem rgba(0,0,0,0.3);
  display:block;
}
.mixedContent .singleImage img,
.mixedContent .singleImage img[src] {
  display:block;
  margin-bottom:10px;
}
.mixedContent .singleImage.full {
  width:100% !important;
  margin:10px 0 40px;
}
.mixedContent .singleImage.full img,
.mixedContent .singleImage.full img[src] {
  margin-bottom:10px;
}
.mixedContent .singleImage.left,
.mixedContent .singleImage.right {
  margin-bottom:20px;
}
@media (min-width: 700px) {
  .mixedContent .singleImage.small {
    width:20%;
  }
  .mixedContent .singleImage.medium {
    width:40%;
  }
  .mixedContent .singleImage.left {
    float:left;
    margin-right:20px;
  }
  .mixedContent .singleImage.right {
    float:right;
    margin-left:20px;
  }
}
@media (min-width: 960px) {
  .mixedContent .singleImage.small {
    width:20%;
  }
  .mixedContent .singleImage.medium {
    width:40%;
  }
}
.mixedContent .imageGallery.popup ul {
  list-style:none;
}
.mixedContent .imageGallery.popup ul:after {
  content:".";
  display:block;
  height:0;
  clear:both;
  visibility:hidden;
}
.mixedContent .imageGallery.popup li a {
  border:8px solid white;
  background-color:white;
  box-shadow:0 0 1rem rgba(0,0,0,0.3);
  position:relative;
  float:left;
  margin:0 0 10px 10px;
  width:calc(50% - 5px);
  overflow:hidden;
}
.mixedContent .imageGallery.popup li a:after {
  position:absolute;
  top:50%;
  left:50%;
  content:"";
  display:block;
  width:50%;
  height:50%;
  background:url(/media/originals/2026/11/e800cc17-26c7-474a-8653-698c4dec380f.png) 0 0/contain no-repeat;
  transform-origin:center center;
  transform:translate(-50%, -50%) scale(0);
  opacity:0;
  transition:all .2s;
}
.mixedContent .imageGallery.popup li a:hover:after,
.mixedContent .imageGallery.popup li a:focus:after {
  transform:translate(-50%, -50%) scale(1);
  opacity:1;
}
.mixedContent .imageGallery.popup li a:hover img,
.mixedContent .imageGallery.popup li a:hover img[src],
.mixedContent .imageGallery.popup li a:focus img,
.mixedContent .imageGallery.popup li a:focus img[src] {
  transform:scale(1.1);
}
.mixedContent .imageGallery.popup img,
.mixedContent .imageGallery.popup img[src] {
  display:block;
  width:100%;
  transition:all .2s;
}
@media (min-width: 320px) and (max-width: 479px) {
  .mixedContent .imageGallery.popup li:nth-of-type(2n+1) a {
    margin-left:0;
  }
}
@media (min-width: 480px) and (max-width: 699px) {
  .mixedContent .imageGallery.popup li a {
    width:calc(33.333333% - 6.666666px);
  }
  .mixedContent .imageGallery.popup li:nth-of-type(3n+1) a {
    margin-left:0;
  }
}
@media (min-width: 700px) and (max-width: 959px) {
  .mixedContent .imageGallery.popup li a {
    width:calc(25% - 7.5px);
  }
  .mixedContent .imageGallery.popup li:nth-of-type(4n+1) a {
    margin-left:0;
  }
}
@media (min-width: 960px) and (max-width: 1279px) {
  .mixedContent .imageGallery.popup li a {
    width:calc(20% - 8px);
  }
  .mixedContent .imageGallery.popup li:nth-of-type(5n+1) a {
    margin-left:0;
  }
}
@media (min-width: 1280px) {
  .mixedContent .imageGallery.popup li a {
    width:calc(16.66666% - 8.333333px);
  }
  .mixedContent .imageGallery.popup li:nth-of-type(6n+1) a {
    margin-left:0;
  }
}
.mixedContent .imageGallery.slider {
  border:8px solid white;
  background-color:white;
  box-shadow:0 0 1rem rgba(0,0,0,0.3);
  list-style:none;
}
.mixedContent .imageGallery.slider img,
.mixedContent .imageGallery.slider img[src] {
  display:block;
  margin-bottom:20px;
}
.mixedContent .imageGallery.slider .text *:last-child {
  margin-bottom:0;
}
html.js .mixedContent .imageGallery.slider img,
html.js .mixedContent .imageGallery.slider img[src] {
  margin-bottom:0;
}
.mixedContent .featuredLink *:last-child {
  margin-bottom:0;
}
.cms-textblock {
  font-size:18px;
}
.cms-textblock>*:last-child,
.cms-textblock>.gsy-text>*:last-child,
.cms-textblock>.gsy-entry-field>*:last-child {
  margin-bottom:0;
}
.cms-textblock h1:before {
  content:"h1 not allowed here!";
  color:red;
}
.cms-textblock h2,
.cms-textblock .gsy-text h2 {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin:0;
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:30px;
  line-height:24px;
  text-rendering:optimizeLegibility;
  margin-bottom:1em;
}
@media (max-width: 699px) {
  .cms-textblock h2,
  .cms-textblock .gsy-text h2 {
    font-size:18px;
  }
}
.cms-textblock h3,
.cms-textblock .gsy-text h3 {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin:0;
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:24px;
  line-height:24px;
  text-rendering:optimizeLegibility;
  margin-bottom:1em;
}
@media (max-width: 699px) {
  .cms-textblock h3,
  .cms-textblock .gsy-text h3 {
    font-size:16px;
  }
}
.cms-textblock h4 {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin:0;
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:20px;
  line-height:24px;
  text-rendering:optimizeLegibility;
  margin-bottom:1em;
}
@media (max-width: 699px) {
  .cms-textblock h4 {
    font-size:16px;
  }
}
.cms-textblock h5 {
  margin:0;
  font-size:16px;
  line-height:24px;
  font-weight:bold;
  text-rendering:optimizeLegibility;
  margin-bottom:1em;
}
.cms-textblock h6 {
  margin:0;
  font-size:16px;
  line-height:24px;
  font-style:italic;
  font-weight:bold;
  text-rendering:optimizeLegibility;
  margin-bottom:1em;
}
.cms-textblock img,
.cms-textblock img[src] {
  display:block;
  margin-bottom:1em;
}
.cms-textblock a,
.cms-textblock .gsy-text a,
.cms-textblock .gsy-entry-field a {
  text-decoration:underline;
  color:inherit;
}
.cms-textblock a:hover,
.cms-textblock .gsy-text a:hover,
.cms-textblock .gsy-entry-field a:hover,
.cms-textblock a:focus,
.cms-textblock .gsy-text a:focus,
.cms-textblock .gsy-entry-field a:focus {
  text-decoration:none;
}
.cms-textblock ul,
.cms-textblock .gsy-text>ul:last-child {
  margin-left:1em;
}
.cms-textblock ol,
.cms-textblock .gsy-text>ol:last-child {
  margin-left:2em;
}
.cms-textblock ul,
.cms-textblock .gsy-text>ul:last-child {
  list-style:none;
}
.cms-textblock ul li {
  padding-left:1em;
  background:url(/media/originals/2026/11/71f5cdbd-193b-4afd-8380-5f42d13ea6be.svg) 0 5px no-repeat;
}
.cms-textblock blockquote {
  padding:1em;
  margin-bottom:1em;
}
.cms-textblock blockquote p:last-child {
  margin-bottom:0;
}
.cms-textblock iframe {
  display:block;
  margin-bottom:2em;
}
.cms-textblock table {
  width:100%;
  margin-bottom:2em;
}
.cms-textblock table tr {
  transition:background-color .2s;
}
.cms-textblock table tr:hover {
  background-color:rgba(0,0,0,0.1);
}
.cms-textblock table th,
.cms-textblock table td {
  padding:3px 10px 3px 0;
  text-align:left;
}
.cms-textblock table th {
  font-weight:bold;
}
.cms-textblock b,
.cms-textblock strong {
  font-weight:bold;
}
.cms-textblock i,
.cms-textblock em {
  font-style:italic;
}
@media (min-width: 700px) {
  .cms-textblock.cols_two {
    -webkit-column-count:2;
    -moz-column-count:2;
    column-count:2;
    -webkit-column-gap:2em;
    -moz-column-gap:2em;
    column-gap:2em;
  }
}
.sm ul {
  list-style:none;
  margin-bottom:0;
}
.sm li {
  display:inline;
  list-style:none;
  padding:10px;
}
.sm li a {
  display:inline-block;
}
.sm li a:hover svg path {
  fill:white;
}
.sm svg {
  display:block;
  width:1.4rem;
  height:1.4rem;
}
.sm svg path {
  fill:#f38f00;
  transition:all 0.3s;
}
.pageBanner {
  position:relative;
  margin-bottom:2rem;
}
.pageBanner .text {
  padding:2em;
}
.pageBanner .largeText {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin:0;
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:40px;
  line-height:50px;
  text-rendering:optimizeLegibility;
}
@media (max-width: 699px) {
  .pageBanner .largeText {
    font-size:24px;
  }
}
.pageBanner.bannerImage {
  position:relative;
}
.pageBanner.bannerImage>.gsy-row>.text {
  position:absolute;
  top:50%;
  left:50%;
  display:block;
  width:80%;
  transform:translate(-50%, -50%);
}
.pageBanner.bannerImage>.text>*:last-child,
.pageBanner.bannerImage>.gsy-row>.text>*:last-child {
  margin-bottom:0;
}
.pageBanner.bannerImage .image {
  position:relative;
}
.pageBanner.bannerImage .image picture {
  overflow:hidden;
}
.pageBanner.bannerImage .image picture img,
.pageBanner.bannerImage .image picture img[src] {
  width:100%;
}
.pageBanner.bannerImage .image:before {
  position:absolute;
  top:0;
  left:0;
  content:"";
  display:block;
  width:100%;
  height:30px;
  background:url(/media/originals/2026/11/76655620-8bd9-4c82-b6c5-f091055586c5.png) 0 100% repeat-x;
}
.pageBanner.bannerImage .image:after {
  position:absolute;
  bottom:0;
  left:0;
  content:"";
  display:block;
  width:100%;
  height:30px;
  background:url(/media/originals/2026/11/76655620-8bd9-4c82-b6c5-f091055586c5.png) 0 0 repeat-x;
}
.pageBanner.bannerImage .text {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
@media (min-width: 480px) {
  .pageBanner.selfHostedVideo>.text>*:last-child {
    margin-bottom:0;
  }
}
.pageIntroduction {
  margin-bottom:2rem;
}
.pageIntroduction h1,
.pageIntroduction h1.gsy-heading {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin:0;
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:40px;
  line-height:50px;
  text-rendering:optimizeLegibility;
}
@media (max-width: 699px) {
  .pageIntroduction h1,
  .pageIntroduction h1.gsy-heading {
    font-size:24px;
  }
}
.pageIntroduction .subTitle {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin:0;
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:20px;
  line-height:24px;
  text-rendering:optimizeLegibility;
  margin-bottom:0;
}
@media (max-width: 699px) {
  .pageIntroduction .subTitle {
    font-size:16px;
  }
}
.pageIntroduction .introText {
  font-size:1.4em;
}
@media (min-width: 700px) {
  .pageIntroduction {
    margin-bottom:3rem;
  }
  .pageIntroduction .introText {
    max-width:880px;
    margin-left:auto;
    margin-right:auto;
  }
}
.pageIcon {
  margin-bottom:1rem;
}
/* A course's icon is its Icon field's picture, not an Icon widget (which
   takes its size in the editor): its box is the icon's width. */
.gsy-widget-entry-field.pageIcon {
  width:70px;
  margin-left:auto;
  margin-right:auto;
}
#map {
  height:75vh;
  min-height:300px;
  max-height:800px;
}
@media (max-width: 699px) {
  [data-row~="cols2"]>.gsy-row .col2 {
    margin-bottom:2rem;
  }
}
@media (min-width: 700px) {
  [data-row~="cols2"]>.gsy-row {
    display:flex;
    justify-content:space-between;
  }
  [data-row~="cols2"]>.gsy-row .richText.intro {
    margin-bottom:3rem;
  }
  [data-row~="cols2"]>.gsy-row .col1 {
    width:66.666666%;
    padding-right:2rem;
    padding-bottom:3rem;
  }
  [data-row~="cols2"]>.gsy-row .col2 {
    width:33.333333%;
    padding-bottom:3rem;
  }
}
@media (min-width: 960px) {
  [data-row~="cols2"]>.gsy-row .col1 {
    border-right:dotted 1px black;
  }
  [data-row~="cols2"]>.gsy-row .col2>div {
    padding-left:2rem;
    padding-top:2rem;
    padding-bottom:2rem;
    border-bottom:dotted 1px black;
  }
  [data-row~="cols2"]>.gsy-row .col2>div:first-child {
    padding-top:0;
  }
  [data-row~="cols2"]>.gsy-row .col2>div:last-child {
    border-bottom:0;
  }
}
html:has(.wb-oneColumnPage) .pageBanner.bannerImage {
  margin-bottom:0;
}
html:has(.wb-oneColumnPage) .pageBanner.bannerImage .image:after {
  background-image:url(/media/originals/2026/11/ca50a8c8-b98c-4be8-9ed4-fc9d792a271d.png);
}
html:has(.wb-oneColumnPage) .pageIntroduction {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  margin-bottom:0;
}
html:has(.wb-oneColumnPage) .mainContent {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  position:relative;
}
html:has(.wb-oneColumnPage) .mainContent:after {
  position:absolute;
  bottom:-30px;
  left:0;
  content:"";
  display:block;
  width:100%;
  height:30px;
  background:url(/media/originals/2026/11/ca50a8c8-b98c-4be8-9ed4-fc9d792a271d.png) 0 100% repeat-x;
}
.calloutMessage {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin:0;
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:20px;
  line-height:24px;
  text-rendering:optimizeLegibility;
  position:relative;
}
@media (max-width: 699px) {
  .calloutMessage {
    font-size:16px;
  }
}
.calloutMessage a,
.calloutMessage .gsy-text a {
  text-decoration:underline;
}
.calloutMessage:before {
  position:absolute;
  top:-30px;
  left:0;
  content:"";
  display:block;
  width:100%;
  height:30px;
  background:url(/media/originals/2026/11/31164900-6cb3-45e9-91e2-4bd997d52bae.png) 0 0 repeat-x;
}
.calloutMessage:after {
  position:absolute;
  bottom:-30px;
  left:0;
  content:"";
  display:block;
  width:100%;
  height:30px;
  background:url(/media/originals/2026/11/31164900-6cb3-45e9-91e2-4bd997d52bae.png) 0 100% repeat-x;
}
.widget h3,
.widget h3.gsy-heading,
.widget .gsy-text h3 {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin:0;
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:24px;
  line-height:24px;
  text-rendering:optimizeLegibility;
  margin-bottom:1em;
}
.widget .gsy-text h3 {
  color:#f38f00;
}
@media (max-width: 699px) {
  .widget h3,
  .widget h3.gsy-heading,
  .widget .gsy-text h3 {
    font-size:16px;
  }
}
.widget.nav-in-section>.gsy-widget>nav>ul {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
}
.widget.nav-in-section ul {
  list-style:none;
  margin-bottom:0;
}
.widget.nav-in-section li {
  margin-bottom:0.5em;
}
.widget.nav-in-section li>ul {
  margin-left:1em;
  margin-top:1.1em;
  font-weight:bold;
}
.widget.courseInfo>div {
  margin-bottom:0.5em;
}
.widget.courseInfo>div:after {
  content:".";
  display:block;
  height:0;
  clear:both;
  visibility:hidden;
}
.widget.courseInfo>div p {
  margin-bottom:0;
}
.widget.feedback .theFeedback+.gsy-widget-text>.gsy-text>p:first-child {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin-bottom:0;
}
.section.featuredPages[data-row~="container"]>.gsy-row {
  padding-top:2rem;
  padding-bottom:2rem;
}
@media (min-width: 960px) {
  .section.featuredPages[data-row~="container"]>.gsy-row {
    padding-top:80px;
  }
}
@media (min-width: 960px) {
  .section.featuredPages[data-row~="container"]>.gsy-row {
    padding-bottom:80px;
  }
}
.section.featuredPages .thePages {
  overflow:hidden;
}
.section.featuredPages .featuredPage a,
.section.featuredPages .featuredPage a.gsy-group {
  display:block;
}
.section.featuredPages .featuredPage picture {
  margin-bottom:1rem;
}
.section.featuredPages .featuredPage h3,
.section.featuredPages .featuredPage h3.gsy-heading {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin:0;
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:20px;
  line-height:24px;
  text-rendering:optimizeLegibility;
}
@media (max-width: 699px) {
  .section.featuredPages .featuredPage h3,
  .section.featuredPages .featuredPage h3.gsy-heading {
    font-size:16px;
  }
}
@media (min-width: 480px) {
  .section.featuredPages .featuredPage {
    float:left;
    width:calc( 50% - 0.5rem);
  }
  .section.featuredPages .featuredPage:nth-child(2n) {
    margin-left:1rem;
  }
  .section.featuredPages .featuredPage:nth-child(2n+1) {
    clear:left;
  }
  .section.featuredPages picture {
    overflow:hidden;
  }
  .section.featuredPages img,
  .section.featuredPages img[src] {
    transition:all .3s;
  }
  .section.featuredPages a:hover,
  .section.featuredPages a.gsy-group:hover,
  .section.featuredPages a:focus,
  .section.featuredPages a.gsy-group:focus {
    color:#603521;
  }
  .section.featuredPages a:hover picture,
  .section.featuredPages a:focus picture {
    overflow:hidden;
  }
  .section.featuredPages a:hover img,
  .section.featuredPages a:hover img[src],
  .section.featuredPages a:focus img,
  .section.featuredPages a:focus img[src] {
    transform:scale(1.05);
  }
}
@media (min-width: 960px) {
  .section.featuredPages .featuredPage {
    float:left;
    width:calc( 25% - 1.33333333rem);
    margin-left:1.666666rem !important;
    margin-bottom:40px;
  }
  .section.featuredPages .featuredPage:nth-child(2n+1) {
    clear:none;
  }
  .section.featuredPages .featuredPage:nth-child(4n+1) {
    clear:left;
    margin-left:0 !important;
  }
}
.button-enquire {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  position:relative;
  display:inline-block;
  margin:auto;
  padding:0.5em 1em;
  border:2px solid #f38f00;
  border-radius:0;
  color:#f38f00 !important;
  background-color:transparent;
  text-transform:uppercase;
  overflow:hidden;
  z-index:1;
  transition:all .3s;
}
.button-enquire:hover,
.button-enquire:focus {
  background-color:#f38f00;
  color:#fff !important;
  cursor:pointer;
}
html:has(.wb-contact) [data-row~="cols2"]>.gsy-row {
  position:relative;
}
html:has(.wb-contact) [data-row~="cols2"]>.gsy-row:before {
  position:absolute;
  bottom:-30px;
  left:0;
  content:"";
  display:block;
  width:100%;
  height:30px;
  background:url(/media/originals/2026/11/76655620-8bd9-4c82-b6c5-f091055586c5.png) 0 100% repeat-x;
  z-index:5;
}
html:has(.wb-courses) .moreCourses,
html:has(.wb-courses) [data-row~="moreCourses"]>.gsy-row {
  margin-bottom:3rem;
}
html:has(.wb-courses) [data-row~="moreCourses"]>.gsy-row .header svg {
  margin-bottom:1rem;
}
html:has(.wb-courses) [data-row~="moreCourses"]>.gsy-row h2 {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin:0;
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:30px;
  line-height:24px;
  text-rendering:optimizeLegibility;
  color:#f38f00;
  margin-bottom:3rem;
}
@media (max-width: 699px) {
  html:has(.wb-courses) [data-row~="moreCourses"]>.gsy-row h2 {
    font-size:18px;
  }
}
html:has(.wb-courses) .moreCourses h3,
html:has(.wb-courses) [data-row~="moreCourses"]>.gsy-row h3 {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin:0;
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:24px;
  line-height:24px;
  text-rendering:optimizeLegibility;
}
@media (max-width: 699px) {
  html:has(.wb-courses) .moreCourses h3,
  html:has(.wb-courses) [data-row~="moreCourses"]>.gsy-row h3 {
    font-size:16px;
  }
}
@media (min-width: 480px) {
  html:has(.wb-courses) .moreCourses,
  html:has(.wb-courses) [data-row~="moreCourses"]>.gsy-row {
    text-align:center;
  }
  html:has(.wb-courses) .moreCourses img,
  html:has(.wb-courses) [data-row~="moreCourses"]>.gsy-row img,
  html:has(.wb-courses) .moreCourses img[src] {
    transition:all .3s;
  }
  html:has(.wb-courses) .moreCourses a:hover,
  html:has(.wb-courses) [data-row~="moreCourses"]>.gsy-row a:hover,
  html:has(.wb-courses) .moreCourses a:focus,
  html:has(.wb-courses) [data-row~="moreCourses"]>.gsy-row a:focus {
    color:#603521;
  }
  html:has(.wb-courses) .moreCourses a:hover img,
  html:has(.wb-courses) [data-row~="moreCourses"]>.gsy-row a:hover img,
  html:has(.wb-courses) .moreCourses a:hover img[src],
  html:has(.wb-courses) .moreCourses a:focus img,
  html:has(.wb-courses) [data-row~="moreCourses"]>.gsy-row a:focus img,
  html:has(.wb-courses) .moreCourses a:focus img[src] {
    transform:scale(1.05);
  }
}
html:has(.wb-course) .actions {
  display:flex;
  margin-left:auto;
  margin-right:auto;
  margin-top:22px;
  justify-content:center;
}
html:has(.wb-course) .actions .bookingHound {
  margin-right:1em;
}
html:has(.wb-course) .bookingHound {
  margin-bottom:1em;
}
html:has(.wb-course) .bookingHound .tngbh-btn {
  font-family:"HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:16px;
  padding:8px 16px;
  line-height:22px;
}
html:has(.wb-coursesOverview) .moreCourses {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding-top:2rem;
  padding-bottom:2rem;
  position:relative;
  margin-bottom:0;
}
@media (min-width: 960px) {
  html:has(.wb-coursesOverview) .moreCourses {
    padding-top:80px;
  }
}
@media (min-width: 960px) {
  html:has(.wb-coursesOverview) .moreCourses {
    padding-bottom:80px;
  }
}
html:has(.wb-coursesOverview) .moreCourses:before {
  position:absolute;
  bottom:-30px;
  left:0;
  content:"";
  display:block;
  width:100%;
  height:30px;
  background:url(/media/originals/2026/11/ca50a8c8-b98c-4be8-9ed4-fc9d792a271d.png) 0 100% repeat-x;
  z-index:2;
}
html:has(.wb-coursesOverview) .moreCourses:after {
  position:absolute;
  top:-30px;
  left:0;
  content:"";
  display:block;
  width:100%;
  height:30px;
  background:url(/media/originals/2026/11/ca50a8c8-b98c-4be8-9ed4-fc9d792a271d.png) 0 0 repeat-x;
  z-index:2;
}
html:has(.wb-coursesOverview) .readReviews {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding-top:2rem;
  padding-bottom:2rem;
}
@media (min-width: 960px) {
  html:has(.wb-coursesOverview) .readReviews {
    padding-top:80px;
  }
}
@media (min-width: 960px) {
  html:has(.wb-coursesOverview) .readReviews {
    padding-bottom:80px;
  }
}
html:has(.wb-coursesOverview) .readReviews h2,
html:has(.wb-coursesOverview) .readReviews h2.gsy-heading {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin:0;
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:30px;
  line-height:24px;
  text-rendering:optimizeLegibility;
  margin-bottom:1rem;
}
@media (max-width: 699px) {
  html:has(.wb-coursesOverview) .readReviews h2,
  html:has(.wb-coursesOverview) .readReviews h2.gsy-heading {
    font-size:18px;
  }
}
html:has(.wb-coursesOverview) .readReviews .tripAdvisor {
  display:block;
  width:100px;
  margin-left:auto;
  margin-right:auto;
}
@media (min-width: 480px) {
  html:has(.wb-coursesOverview) .readReviews .wrapper {
    text-align:center;
    max-width:880px;
    margin-left:auto;
    margin-right:auto;
  }
  html:has(.wb-coursesOverview) .readReviews .wrapper p,
  html:has(.wb-coursesOverview) .readReviews .wrapper .gsy-text>p:last-child {
    font-size:20px;
  }
}
html:has(.wb-home) .section.ourStory .icon {
  margin-bottom:1rem;
}
html:has(.wb-home) .section.ourStory h2,
html:has(.wb-home) .section.ourStory h2.gsy-heading {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin:0;
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:30px;
  line-height:24px;
  text-rendering:optimizeLegibility;
  margin-bottom:2rem;
}
@media (max-width: 699px) {
  html:has(.wb-home) .section.ourStory h2,
  html:has(.wb-home) .section.ourStory h2.gsy-heading {
    font-size:18px;
  }
}
html:has(.wb-home) .section.ourStory .description {
  max-width:680px;
  margin-left:auto;
  margin-right:auto;
  font-size:18px;
}
html:has(.wb-home) .section.ourStory ul,
html:has(.wb-home) .section.ourStory .gsy-text>ul:last-child {
  list-style:none;
}
html:has(.wb-home) .section.ourStory ul a {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  position:relative;
  display:inline-block;
  margin:auto;
  padding:0.5em 1em;
  border:2px solid #603521;
  border-radius:0;
  color:#603521 !important;
  background-color:transparent;
  text-transform:uppercase;
  overflow:hidden;
  z-index:1;
  transition:all .3s;
}
html:has(.wb-home) .section.ourStory ul a:hover,
html:has(.wb-home) .section.ourStory ul a:focus {
  background-color:#603521;
  color:#f38f00 !important;
  cursor:pointer;
}
html:has(.wb-home) .section.rows {
  position:relative;
}
html:has(.wb-home) .section.rows:before {
  position:absolute;
  top:0;
  left:0;
  content:"";
  display:block;
  width:100%;
  height:30px;
  background:url(/media/originals/2026/11/76655620-8bd9-4c82-b6c5-f091055586c5.png) 0 100% repeat-x;
}
html:has(.wb-home) .section.rows:after {
  position:absolute;
  bottom:0;
  left:0;
  content:"";
  display:block;
  width:100%;
  height:30px;
  background:url(/media/originals/2026/11/76655620-8bd9-4c82-b6c5-f091055586c5.png) 0 0 repeat-x;
}
html:has(.wb-home) .section.rows .row {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
html:has(.wb-home) .section.rows .row .icon {
  margin-bottom:1rem;
}
html:has(.wb-home) .section.rows .row .text {
  padding:1rem;
}
html:has(.wb-home) .section.rows .row .text .description p,
html:has(.wb-home) .section.rows .row .text .description .gsy-text>p:last-child {
  font-size:18px;
}
html:has(.wb-home) .section.rows .row h2,
html:has(.wb-home) .section.rows .row h2.gsy-heading {
  text-transform:uppercase;
  font-size:0.875em;
  letter-spacing:0.12em;
  margin:0;
  font-family:"Trend Slab One","HK Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:24px;
  line-height:24px;
  text-rendering:optimizeLegibility;
  margin-bottom:1rem;
}
@media (max-width: 699px) {
  html:has(.wb-home) .section.rows .row h2,
  html:has(.wb-home) .section.rows .row h2.gsy-heading {
    font-size:16px;
  }
}
html:has(.wb-home) .section.rows .row svg {
  max-width:100%;
}
html:has(.wb-home) .section.rows .row ul,
html:has(.wb-home) .section.rows .row .gsy-text>ul:last-child {
  list-style:none;
  margin-bottom:0;
}
html:has(.wb-home) .section.rows .row ul a {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  position:relative;
  display:inline-block;
  margin:auto;
  padding:0.5em 1em;
  border:2px solid #fff;
  border-radius:0;
  color:#fff !important;
  background-color:transparent;
  text-transform:uppercase;
  overflow:hidden;
  z-index:1;
  transition:all .3s;
}
html:has(.wb-home) .section.rows .row ul a:hover,
html:has(.wb-home) .section.rows .row ul a:focus {
  background-color:#fff;
  color:#f38f00 !important;
  cursor:pointer;
}
@media (min-width: 700px) {
  html:has(.wb-home) .section.ourStory ul,
  html:has(.wb-home) .section.ourStory .gsy-text>ul:last-child {
    overflow:hidden;
    margin-bottom:4rem;
  }
  html:has(.wb-home) .section.ourStory li {
    display:inline-block;
    margin-left:1rem;
  }
  html:has(.wb-home) .section.ourStory li:first-child {
    margin-left:0;
  }
  html:has(.wb-home) .section.rows .row {
    display:flex;
  }
  html:has(.wb-home) .section.rows .row>*,
  html:has(.wb-home) .section.rows .row>.gsy-widget>.gsy-image>picture {
    width:50%;
  }
  html:has(.wb-home) .section.rows .row:nth-child(2n) picture {
    order:2;
  }
  html:has(.wb-home) .section.rows .row:nth-child(2n) .text {
    order:1;
  }
}
@media (min-width: 960px) {
  html:has(.wb-home) .section.rows .text {
    display:flex;
    align-items:center;
    justify-content:center;
    padding:2rem;
  }
  html:has(.wb-home) .section.rows .wrapper {
    max-width:440px;
  }
}
div.alert>*:last-child {
  margin-bottom:0;
}
/* After screen.css: what the rebuild adds or mends. */
/* The menu button is a link with an address now (so keyboards reach it). */
.nav-menu-trigger {
  color: inherit;
}
.nav-menu-trigger:focus-visible {
  outline: 2px solid #fcfcf2; outline-offset: -6px;
}
.site_navigation .showHide:focus-visible {
  outline: 2px solid #fcfcf2; outline-offset: -4px;
}
/* The menu is the Main menu now, drawn by core's Navigation widget in the
   old classes: its submenu toggles and back arrows are buttons, and an open
   item is `open` (the old script swapped its list's `hide` for `show`). */
.site_navigation button.showHide {
  display: block; width: 100%; margin: 0; padding: 1em 20px; border: 0; background: none; font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; text-align: left; cursor: pointer;
}
.site_navigation button.showHide:hover,
.site_navigation button.showHide:focus {
  background-color: #ff9d09; color: white;
}
.nav_main li.open > ul.hide {
  z-index: 10; transform: translateX(0);
}
/* The logo is an empty group drawing it as its background, which the bridge
   would hide as an empty widget. */
.site_context .container2 {
  display: block;
}
/* The slide-out's phone numbers and email are one Text widget, which keeps
   no classes or inline styles: the phone numbers sit beside their T: and
   M: (the old links' inline-block), and the email is the second paragraph
   (the old p.email). */
.site_context .contactInfo p:first-child a {
  display: inline-block;
}
.contactInfo p + p a {
  text-transform: uppercase; font-size: 0.875em; letter-spacing: 0.12em;
}
/* Images: Gansey's picture sizes them; keep the old fill-the-box crops. */
.pageBanner .image picture img,
.section.rows .row picture img {
  object-fit: cover;
}
/* The home page's rows are at least the 13:9 most of their pictures have,
   so a wide picture (Vouchers') is cropped to fill that rather than making
   its row shorter than the rest; a row with more text grows, as before. */
.section.rows .row picture {
  aspect-ratio: 13 / 9;
}
/* The contact page's map, as an embedded map. */
#map iframe {
  display: block; width: 100%; height: 100%; border: 0;
}
/* Slider: one slide at a time, sliding (the old slick slider's look). */
.wb-slider {
  position: relative; overflow: hidden;
}
.wb-slider .wb-track {
  display: flex; transition: transform .4s ease; will-change: transform;
}
.wb-slider .wb-track > * {
  flex: 0 0 100%; min-width: 0;
}
.wb-slider .wb-track img {
  display: block; width: 100%; height: auto;
}
.imageGallery.slider .prev,
.imageGallery.slider .next {
  cursor: pointer; user-select: none;
}
.pageBanner .wb-slider .wb-track {
  transition-duration: .8s;
}
@media (prefers-reduced-motion: reduce) {
  .wb-slider .wb-track {
    transition: none;
  }
}
/* Pop-up gallery: the larger picture over the page. */
.wb-lightbox {
  position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; background: rgba(11, 11, 11, .85);
}
.wb-lightbox[hidden] {
  display: none;
}
.wb-lightbox figure {
  margin: 0; max-width: min(92vw, 1200px); text-align: center; color: #ccc;
}
.wb-lightbox img {
  display: block; max-width: 100%; max-height: 82vh; margin: 0 auto; box-shadow: 0 0 8px rgba(0, 0, 0, .6);
}
.wb-lightbox figcaption {
  padding-top: .75em; font-size: .875em;
}
.wb-lightbox button {
  position: absolute; border: 0; background: none; color: #fff; font: inherit; font-size: 2rem; line-height: 1; padding: .5em; cursor: pointer; opacity: .75;
}
.wb-lightbox button:hover,
.wb-lightbox button:focus-visible {
  opacity: 1;
}
.wb-lightbox .wb-close {
  top: 0; right: 0;
}
.wb-lightbox .wb-prev {
  left: 0; top: 50%; transform: translateY(-50%);
}
.wb-lightbox .wb-next {
  right: 0; top: 50%; transform: translateY(-50%);
}
/* The booking script's button sits in the actions row, beside Enquire. */
.pageIntroduction .actions .bookingHound {
  display: inline-block;
}
.mixedContent .imageGallery.popup img[src] {
  aspect-ratio: 1; height: auto; object-fit: cover;
}
/* Course and page cards: the old CMS cut their pictures square too. */
.featuredPages .featuredPage picture img[src] {
  aspect-ratio: 1; height: auto; object-fit: cover;
}
/* A card with no picture kept the square (its img had an empty src); its
   Image widget, waiting for a picture, keeps it too. */
.featuredPages .featuredPage .wb-empty-picture:empty {
  display: flex; aspect-ratio: 1; margin-bottom: 1rem;
}
/* ---- Courses: the template draws each course from its entry's fields. */
/* Banner pictures and the icon are the fields' own <img>s. */
.pageBanner .image .gsy-entry-field img {
  display: block; width: 100%; height: auto;
}
.pageIcon img {
  display: block; width: 100%; height: auto;
}
/* The Booking button field is the embed's code, which the site script runs. */
.wb-booking-code {
  display: none !important;
}
/* Course Info: one box of rows, label then value, as the old h4 and div. */
.widget.wb-info {
  margin-bottom: .5em;
}
.wb-info > .gsy-entry-field {
  display: block; padding-left: 90px;
}
.wb-info .gsy-entry-field-label {
  float: left; width: 90px; margin-left: -90px; font-weight: bold;
}
.wb-info p {
  margin-bottom: 0;
}
.wb-disclaimer {
  font-size: .875em; opacity: .5;
}
/* (Named through the row, to outrank the old .cols2 .col2>div as it is
   repeated for the row: [data-row~="cols2"]>.gsy-row .col2>div.) */
@media (min-width: 960px) {
  [data-row~="cols2"] > .gsy-row .col2 > div.wb-box-start:not(.wb-box-end),
  [data-row~="cols2"] > .gsy-row .col2 > div.wb-box-more:not(.wb-box-end) {
    padding-bottom: 0; border-bottom: 0;
  }
  [data-row~="cols2"] > .gsy-row .col2 > div.wb-box-more {
    padding-top: 0;
  }
}
/* Feedback: the field's label is the box's heading, the last line who wrote it. */
.wb-feedback .gsy-entry-field-label {
  display: block; margin-bottom: 1em; color: #f38f00; text-transform: uppercase; letter-spacing: .12em; font-family: "Trend Slab One", "HK Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 24px; line-height: 24px;
}
@media (max-width: 699px) {
  .wb-feedback .gsy-entry-field-label {
    font-size: 16px;
  }
}
.wb-feedback .gsy-entry-field > p:last-child {
  margin-bottom: 0; text-transform: uppercase; font-size: .875em; letter-spacing: .12em;
}
/* Body pictures (one course has one between its paragraphs) in the old frame. */
.mixedContent .cms-textblock img {
  display: block; border: 8px solid white; box-shadow: 0 0 1rem rgba(0, 0, 0, .3);
}
/* Course cards: the Entry list widget's cards in the old cards' look. */
.wb-course-cards .gsy-post-list {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; text-align: center;
}
@media (min-width: 480px) {
  .wb-course-cards .gsy-post-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 960px) {
  .wb-course-cards .gsy-post-list {
    grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem 1.666rem;
  }
}
.wb-course-cards .gsy-entry-card {
  display: block; overflow: visible; border-radius: 0; background: none; color: inherit;
}
.wb-course-cards .gsy-entry-card > a:first-child {
  display: block; overflow: hidden; margin-bottom: 1rem;
}
.wb-course-cards .gsy-entry-card > a:first-child img {
  display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 0; transition: all .3s;
}
.wb-course-cards .gsy-entry-card:hover > a:first-child img {
  transform: scale(1.05);
}
.wb-course-cards .gsy-entry-card-body {
  display: block; padding: 0;
}
.wb-course-cards .gsy-entry-card-body::before {
  content: "Courses"; display: block; color: #b69d90; text-transform: uppercase; font-size: .875em; letter-spacing: .12em;
}
.wb-course-cards .gsy-entry-card h3 {
  margin: 0; color: inherit; text-transform: uppercase; letter-spacing: .12em; font-family: "Trend Slab One", "HK Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 24px; line-height: 24px;
}
@media (max-width: 699px) {
  .wb-course-cards .gsy-entry-card h3 {
    font-size: 16px;
  }
}
.wb-course-cards .gsy-entry-card h3 a {
  color: inherit;
}
.wb-course-cards .gsy-entry-card h3 a:hover {
  color: #603521;
}
/* On the Courses page the cards sit on brown, with a white label. */
html:has(.wb-coursesOverview) .wb-course-cards .gsy-entry-card {
  margin-bottom: 1rem;
}
html:has(.wb-coursesOverview) .wb-course-cards .gsy-entry-card > a:first-child {
  margin-bottom: 0;
}
html:has(.wb-coursesOverview) .wb-course-cards .gsy-entry-card-body {
  padding: 1rem; background-color: white;
}
html:has(.wb-coursesOverview) .wb-course-cards .gsy-entry-card h3 {
  color: #603521;
}
/* A course's Enquire and Vouchers links are Buttons now; each sat in a
   paragraph, which kept a paragraph's space below it. */
.actions > .wb-p {
  margin: 0 0 1.375em; margin-bottom: 1.375rem;
}
/* The home page's tagline is its one h1 (the logo no longer is), a Heading
   now where it was a paragraph: same look, with the paragraph's space below. */
.pageBanner .largeText .gsy-heading {
  margin: 0 0 1.375rem;
}
@media (min-width: 320px) and (max-width: 479px) {
  html:has(.wb-home) .bannerImage .largeText .gsy-heading {
    margin-bottom: 0;
  }
}
/* Keep the slide-out menu above the page: core 1.8 makes the header its own
   view-transition layer, which paints like a positioned box with no z-index,
   so the banner (later in the page) covered the open menu. Lift the header
   over the content. (First made in the theme builder on 6 Nov, which a deploy
   replaces with the files: it belongs here.) */
.gsy-header {
  position: relative; z-index: 20;
}
