:root {
  --container: 1200px;
  --gap: 20px;

  --transition-speed: 0.3s;

  --white: #ffffff;
  --black: #000000;

  --primary-color: #4b187e;
  --primary-color-200: #8f58c7;
  --secondary-color: #a5162d;

  --link-color: var(--primary-color);
  --link-hover-color: var(--primary-color);

  --button-color: var(--secondary-color);
  --button-hover-color: var(--secondary-color);


}

*, *:before, *:after {box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; margin: 0; padding: 0;}

html {-webkit-text-size-adjust: 100%; /* legacy Safari / iOS */ text-size-adjust: 100%; /* modern browsers */}
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%;}
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, textarea {-webkit-appearance: none; appearance: none;}
input, select {padding: 0 10px;}
button, [type="button"], [type="reset"], [type="submit"] {-webkit-appearance: button; appearance: button; cursor: pointer; width: auto; padding: 0 50px;}
input[type="checkbox"], input[type="radio"] {width: 15px; height: 15px; margin: 0 10px 0 0; -webkit-appearance: checkbox; appearance: checkbox; display: inline-block;}
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: 0.35em 0.75em 0.625em;}
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;}
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;}
ul, ol {margin: 0 0 20px 20px; padding: 0;}
li p {padding: 0;}

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!important;}
.nopaddingright {padding-right: 0!important;}
.nopaddingtop {padding-top: 0!important;}
.nopaddingbottom {padding-bottom: 0!important;}
.nopadding {padding: 0!important;}
/* End: No padding default classes */

/* No margin default classes */
.nomarginleft {margin-left: 0!important;}
.nomarginright {margin-right: 0!important;}
.nomargintop {margin-top: 0!important;}
.nomarginbottom {margin-bottom: 0!important;}
.nomargin {margin: 0!important;}
/* End: No margin default classes */

/* Grid default classes */
.grid {display: grid;}
.grid > * {min-width: 0;}
.grid-halves {grid-template-columns: repeat(2, 1fr); column-gap: var(--gap);}
.grid-thirds {grid-template-columns: repeat(3, 1fr); column-gap: var(--gap);}
.grid.grid-stack {grid-template-columns: 1fr; grid-template-rows: 1fr;}
.grid.grid-stack > * {grid-column: 1; grid-row: 1;}

.grid-1 {grid-template-columns: repeat(1,1fr)}
.grid-2 {grid-template-columns: repeat(2,1fr)}
.grid-3 {grid-template-columns: repeat(3,1fr)}
.grid-4 {grid-template-columns: repeat(4,1fr)}
.grid-5 {grid-template-columns: repeat(5,1fr)}
/* End: Grid default classes */

/* Flex default classes */
.flex {display: flex;}
.flex-nowrap {flex-wrap: nowrap;}
.flex-wrap {flex-wrap: wrap;}
.flex-direction-column {flex-direction: column;}
.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-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 */

/* RTE Formatting */
.arrowbutton a {font-weight: 700; color: var(--link-color); transition: all var(--transition-speed);}
.arrowbutton a::after {content: '\f054'; font-family: 'Font Awesome 5 Free'; font-weight: 900; display: inline-block; margin-left: 5px;}
.arrowbutton a:hover {text-decoration: none; color: var(--link-hover-color); transition: all var(--transition-speed);}
.arrowbutton a:hover::after {animation: pulse-arrow 0.6s infinite alternate;}

.blockbutton a {background: var(--button-color); border-radius: 10px; color: var(--white); display: inline-block; font-weight: 700; padding: 12px 42px 12px 16px; position: relative; text-align: left; text-decoration: none; transition: all var(--transition-speed);}
.blockbutton a::after {content: '\f138'; color: var(--white); font-family: 'Font Awesome 5 Free'; font-size: 20px; position: absolute; right:10px; margin-right: 5px;}
.blockbutton a:hover {cursor: pointer; background: var(--button-hover-color); transition: all var(--transition-speed);}
.blockbutton a:hover::after {animation: pulse-arrow 0.6s infinite alternate;} 

@keyframes pulse-arrow {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}

/* End: RTE Formatting */

/* 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 */

.slick-slide {outline: none!important;}

/* Skip to content accessibility button */
.stclink {display: inline-block; z-index: 99999; left: 50%; padding: 8px; position: absolute; transform: translateY(-100%); transition: transform 0.3s; text-decoration: none;}
.stclink:focus {transform: translateY(0);}
:focus-visible {z-index: 100;}

.editable.editableadf .editbar {background: #909090!important; max-width: var(--container); margin: 0 auto;} /* make in page ADFs another colour */

.clip {display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; text-overflow: ellipsis;}
.clip.clip-1 {-webkit-line-clamp: 1; line-clamp: 1;}
.clip.clip-2 {-webkit-line-clamp: 2; line-clamp: 2;}
.clip.clip-3 {-webkit-line-clamp: 3; line-clamp: 3;}
.clip.clip-4 {-webkit-line-clamp: 4; line-clamp: 4;}
.clip.clip-5 {-webkit-line-clamp: 5; line-clamp: 5;}

@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;}
}
