:root {
  --admin-container: 1280px;
  --admin-container-400: 400px;
}

*, *::before, *::after {box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; margin: 0; padding: 0;}

html, html:focus-within {scroll-behavior: smooth;}
main {display: block; flex-grow: 1;}

body {margin: 0; min-height: 100vh; -webkit-font-smoothing: antialiased; text-rendering: optimizespeed; overflow-x: hidden; display: flex; flex-direction: column;}

details {display: block;}
summary {display: list-item;}
template {display: none;}
[hidden] {display: none;}

/* SeeCMS default image alignment styling */
img, picture, video, canvas, svg, iframe {display: block; max-width: 100%; max-inline-size: 100%; block-size: auto;}
img.seecmsimagedefault, img.seecmsimagedefaultundefined {display: inline-block; margin: 0 0 20px 0;}
img.seecmsimageleft, img.seecmsimageleftundefined {float: left; margin: 0 20px 20px 0;}
img.seecmsimageright, img.seecmsimagerightundefined {float: right; margin: 0 0 20px 20px;}
img.seecmsimagecentre, img.seecmsimagecentreundefined {display: block; margin: 0 auto;}

hr {box-sizing: content-box; overflow: visible; margin: 0 auto 20px auto; clear: both; height: 1px; border: none;}

button, input, optgroup, select, textarea {font-family: inherit; margin: 0; text-transform: none;}
input, textarea, select {width: 100%;}
/* input, optgroup, select, textarea {-webkit-appearance: none; appearance: none;} */
input, select {padding: 5px 10px;}
input[type="checkbox"], input[type="radio"] {width: 15px; height: 15px; margin: 0 10px 0 0;/*  -webkit-appearance: checkbox; appearance: checkbox; */ display: inline-block;}
button, [type="button"], [type="reset"], [type="submit"] {/* -webkit-appearance: button; appearance: button; */ cursor: pointer; width: auto; padding: 10px 20px;}
button, input {overflow: visible;}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {border-style: none; padding: 0;}
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {outline: 1px dotted ButtonText;}
fieldset {padding: 20px;}
legend {color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal;}
progress {vertical-align: baseline;}
textarea {overflow: auto; resize: none; min-height: 150px; padding: 10px;}
[type="checkbox"], [type="radio"] {padding: 0;}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {height: auto;}
[type="search"] {-webkit-appearance: textfield; appearance: textfield; outline-offset: -2px;}
[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}
::-webkit-file-upload-button {-webkit-appearance: button; font: inherit;}

pre, code, kbd, samp {font-family: monospace, monospace;}
small {font-size: 80%;}
sub, sup {font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sub {bottom: -0.25em;}
sup {top: -0.5em;}
a {background-color: transparent; text-decoration: none;}
a:hover {text-decoration: underline;}
a:not([class]) {text-decoration-skip-ink: auto;}
a[role="button"] {cursor: pointer;}
abbr[title] {border-bottom: none; text-decoration: underline;}
a img {border: none; outline: none;}
h1, h2, h3, h4, h5, h6 {overflow-wrap: break-word; line-height: calc(1em + 0.5rem); padding: 0; margin: 0 0 10px 0; font-style: normal; color: inherit;}
p {padding: 0; margin: 0 0 20px 0; overflow-wrap: break-word;}
p:last-child {margin: 0;}

/* LISTS */
ul, ol {margin: 0 0 20px 20px; padding: 0;}
/*  Remove bottom margin from nested lists */
ul ul, ul ol, ol ul, ol ol {margin-bottom: 0;}
/* Proper display for nested ordered lists */
ol {counter-reset: item; list-style: none; padding-left: 1.5em;}
ol > li {counter-increment: item; margin: 0.4em 0;}
ol > li::before {content: counters(item, ".") ": ";}
li > ol {counter-reset: item;}
/* remove padding for paragraphs inside list items */
li p {padding: 0;}
/* End LISTS */

table {width: 100%; margin: 0 0 20px 0; border: 0!important; border-collapse: separate!important; border-spacing: 2px!important;}
table th, table td {padding: 10px; border-collapse: separate!important; text-align: left; border: 0!important; border-spacing: 2px!important;}
table th p, table td p {padding: 0;}

.embed-container {position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%;}
.embed-container iframe, .embed-container object, .embed-container embed {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

.searchresult h3 img {width: auto; display: inline-block; margin: 0 10px 0 0;}

.breadcrumb ul {display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; gap: 5px;}

.sitemap ul ul {margin: 0 0 0 20px;}

/* Text alignment default classes */
.textright {text-align: right;}
.textleft {text-align: left;}
.textcenter {text-align: center;}
.textjustify {text-align: justify;}
.textuppercase {text-transform: uppercase;}
/* End: Text alignment default classes */

/* No padding default classes */
.nopaddingleft {padding-left: 0;}
.nopaddingright {padding-right: 0;}
.nopaddingtop {padding-top: 0;}
.nopaddingbottom {padding-bottom: 0;}
.nopadding {padding: 0;}
.nopaddingblock {padding-block: 0;}
.nopaddinginline {padding-inline: 0;}
/* End: No padding default classes */

/* No margin default classes */
.nomarginleft {margin-left: 0;}
.nomarginright {margin-right: 0;}
.nomargintop {margin-top: 0;}
.nomarginbottom {margin-bottom: 0;}
.nomargin {margin: 0;}
/* End: No margin default classes */

/* Image Styling */
/* .image.full-image, .image.full-image img, .image.full-image picture, .image.full-image video {width: 100%;;}
.image.full-image img, .image.full-image picture, .image.full-image video {object-fit: cover;} */

/* Grid default classes */
.grid {display: grid; gap: var(--gap, 0);}
.grid > * {min-width: 0; min-height: 0;}
.grid.grid-stack {grid-template-columns: 1fr; grid-template-rows: 1fr;}
.grid.grid-stack > * {grid-column: 1; grid-row: 1;}
.grid-halves, .grid-2 {grid-template-columns: repeat(2, 1fr); --gap: 60px;}
.grid-thirds, .grid-3 {grid-template-columns: repeat(3, 1fr); --gap: 40px;}
.grid-quarters, .grid-4 {grid-template-columns: repeat(4, 1fr); --gap: 20px;}
.grid-5 {grid-template-columns: repeat(5, 1fr); --gap: 20px;}

.grid-fullwidth-container {grid-template-columns: minmax(var(--gutter, 20px), 1fr) repeat(var(--col-count, 2), minmax(0, calc(var(--container-400) / var(--col-count, 2)))) minmax(var(--gutter, 20px), 1fr);}
.grid-fullwidth-container > * {grid-row: 1;}
.grid-fullwidth-container.col-1 {--col-count: 1;}
.grid-fullwidth-container.col-2 {--col-count: 2;}
.grid-fullwidth-container.col-3 {--col-count: 3;}

.grid-one-third {grid-template-columns: 1fr 2fr; --gap: 60px;}
.grid-two-third {grid-template-columns: 2fr 1fr; --gap: 60px;}
.grid-one-quarter {grid-template-columns: 1fr 3fr; --gap: 60px;}

.grid-align-end {align-items: end;}
.grid-align-center {align-items: center;}
.span-two-columns {grid-column: span 2;}
/* End: Grid default classes */

/* Flex default classes */
.flex {display: flex; gap: var(--gap, 0);}
.flex > * {min-width: 0; min-height: 0;}
.flex-nowrap {flex-wrap: nowrap;}
.flex-wrap {flex-wrap: wrap;}
.flex-direction-column {flex-direction: column;}
.flex-grow {flex-grow: var(--flex-grow, 1);}

.flex-justifycontent-end {justify-content: flex-end;}
.flex-justifycontent-center {justify-content: center;}
.flex-justifycontent-spacebetween {justify-content: space-between;}
.flex-justifycontent-spacearound {justify-content: space-around;}
.flex-justifycontent-spaceevenly {justify-content: space-evenly;}

.flex-justifyitems-end {justify-items: end;}

.flex-alignitems-start {align-items: flex-start;}
.flex-alignitems-end {align-items: flex-end;}
.flex-alignitems-center {align-items: center;}
.flex-alignitems-baseline {align-items: baseline;}
.flex-aligncontent-start {align-content: flex-start;}
.flex-aligncontent-end {align-content: flex-end;}
.flex-aligncontent-center {align-content: center;}
.flex-aligncontent-stretch {align-content: stretch;}
.flex-aligncontent-spacebetween {align-content: space-between;}
.flex-aligncontent-spacearound {align-content: space-around;}
/* End: Flex default classes */

/* New form builder */
.sc-fb p {padding: 0;}
.sc-fb p.sc-fb-field-radio {padding: 0 0 5px 0;}
.sc-fb .sc-fb-field-name {padding: 0 0 5px 0;}
.sc-fb .sc-fb-field-option {padding: 0 0 20px 0;}
.sc-fb .sc-fb-field-option .sc-fb-field-notes {font-style: italic;}
.sc-fb input, .sc-fb select, .sc-fb textarea {margin: 0 0 5px 0;}
.sc-fb input[type="checkbox"], .sc-fb input[type="radio"] {margin: 0 10px 0 0; float: none;}
.sc-fb input[type="submit"] {margin: 15px 0;}
.sc-fb .sc-fb-submit-errors {padding: 0 0 20px 0;}
.sc-fb .sc-fb-field-error {float: right;}
.sc-fb .sc-fb-field-required {margin-left: 8px;}
.sc-fb .sc-fb-required-desc {text-align: right;}
.required {margin-left: 8px;}
/* End: New form builder */

/* Forms */
.form .row {display: grid; column-gap: 20px; margin: 0 0 20px 0;}
.form .row.halves {grid-template-columns: 1fr 1fr;}
.form .row.thirds {grid-template-columns: 1fr 1fr 1fr;}
/* End: Forms */

/* Swiper */
div:has(.swiper), section:has(.swiper) {min-width: 0;}
.swiper {max-width: 100%;}
.slick-slide {outline: none!important;}

.svg {position: absolute; width: 0; height: 0;}

/* Skip to content accessibility button */
.stclink {display: inline-block; z-index: 99999; left: 50%; padding: 8px; position: absolute; transform: translateY(-101%); transition: transform 0.3s; text-decoration: none; opacity: 0;}
.stclink:focus {transform: translateY(0); opacity: 1;}
.stclink:focus-within {opacity: 1;}
:focus-visible {z-index: 100;}

.editable.editableadf .editbar {background: #909090!important; max-width: var(--admin-container); margin: 0 auto;} /* make in page ADFs another colour */
/* .editable.editableadf .editbar {position: relative; z-index: 3;} */

@media (prefers-reduced-motion: reduce) {
  html:focus-within {scroll-behavior: auto;}
  *, *::before, *::after {animation-duration: 0.01ms!important; animation-iteration-count: 1!important; transition-duration: 0.01ms!important; scroll-behavior: auto!important;}
}

/* Default print styling */
@media print {
  * {-webkit-print-color-adjust: exact; print-color-adjust: exact;}
  body {font-size: 12pt; font-family: arial, serif; line-height: 140%;}
  header, footer, nav {display: none;}
  .see-cms-toolbar {display: none!important;}
}
