:root {
    --terracota: rgb(199, 121, 109);
    --lavenderblue: rgb(157 184 234);
    --forestgreen: rgb(71 100 100);
    --ciderrose: rgb(222 174 174);
    --midgrey: rgb(115 125 134);
    --clay: rgb(206 203 191);
    --cream: rgb(255 252 249);
    --black: rgb(46 56 56);
    --lg: 100px;
    --md: 80px;
    --sm: 25px;
    --xsm: 10px;
    --container-padding-lg: 150px;
    --container-padding-md: 50px;
    --container-padding-sm: 20px;
    --max-width: 1440px;
    --font-primary: "DM Serif Display", serif;
    --font-secondary: "Host Grotesk", sans-serif;
}

@keyframes fadeIn { 
    from { opacity: 0; transform: translateY(100px); }  
    to { opacity: 1; transform: translateY(0px); }
}

@view-transition {
    navigation: auto;
}

* {  margin: 0; padding: 0; box-sizing: border-box;  background-repeat: no-repeat !important  }
*:focus {  outline: none; box-shadow: none; }
html { font-size: 100%;  scroll-behavior: smooth; }
body {font-family: var(--font-primary); font-size: 1rem; line-height: 1.4; color: var(--black); background-color: var(--cream); ; }

h1, h2, h3, h4, h5, h6 {  font-weight: 400;  line-height: 1.2;  margin-bottom: 0.5em;  }
a {  color: var(--black);  text-decoration: none; }
a:hover { text-decoration: underline; transition: all 0.3s ease-in; }
li { list-style-type: none; }
input[type=text] { background-color: unset; border-top: 0px; border-left: 0px; border-right: 0px; border-radius: 0px;  font-family: var(--font-secondary);}
fieldset { border: unset;  }
input[type=submit] { background-color: unset;  color: var(--forestgreen);  text-transform: uppercase;  font-family: var(--font-secondary);   }
.hidden {  display: none !important;  }

/* Layout */
.pagecontent { width: 90%; max-width: 1200px;  margin: 0 auto;  }

.noscroll {  height: 100vh;  height: 100dvh;  overflow: hidden;  position: fixed;  max-width: 100vw;  }

/* Intro video */
.introvideo {  background: white; position: fixed; top: 0; left: 0; z-index: 250; box-sizing: border-box; width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center;}
.introvideo video { max-width: 100%; max-height: 100%; object-fit: contain;}

/* Container defaults */
.blocktext,
.basic,
.quicklink.inline,
.layoutfooter form,
.layoutfooter .layoutfooter_inner > .util_container,
.layoutfooter .logo .image,
.dbase_faqs,
.listblock,
.mediablock, .eventlist .list {max-width: var(--max-width); width: 100%; }

/* Page Components Spacing */
.pagecomponents_inner > div:not(.animatedimageblock, .blockimage) {padding: var(--md) 0px;  margin: 0px auto; }
.pagecomponents_inner > div.quicklink { padding: var(--lg) var(--md); margin: 0px auto; }
.pagecomponents_inner > div.calltoaction, 
.pagecomponents_inner > div.animatedimageblock,
.pagecomponents_inner > div.basic {  margin: var(--md) auto ; }
.pagecomponents_inner > div.animatedimageblock { padding: var(--md) 0px var(--md) 0px; margin: 0px auto var(--lg) auto; }
.pagecomponents_inner .eventlist .list {margin : auto;}

/* Forms */
button, .btn { display: inline-block;padding: 0.6em 1.2em;border: none;border-radius: 0.375rem;background: #0077cc;color: #fff;font-size: 1rem; cursor: pointer; }
button:hover, .btn:hover {  background: #005fa3;  }

input, textarea, select { width: 100%; padding: 0.5em; border: 1px solid var(--forestgreen); border-radius: 0.25rem; font: inherit; }
input[type=submit] {  width: auto; padding: 12px 18px !important; border-radius: 40px;  border: 2px solid var(--midgrey);  }
input:focus, textarea:focus, select:focus { border-color: #0077cc; outline: none; }

/* Header */
.layouttopmenu { display: none; }
.layouttopmenu_inner { display: flex;flex-direction: row; align-items: center; margin: 50px 150px; } 
.layouttopmenu_inner > div:first-of-type {margin: 0px 0px 0px 0px; z-index: 20;}
.layouttopmenu_inner > div:last-of-type { min-width: 350px; }
.layouttopmenu_inner a { color: white; text-transform: uppercase; font-family: var(--font-secondary);}
.layouttopmenu_inner a:hover { color: var(--terracota); text-decoration: none; }

/* Header logo */
.layouttopmenu_inner .logo img { 
    max-width: 350px; 
    width: auto; 
    height: auto; 
    margin: 0px 0px; 
    display: block; 
}

/* Top Menu */
.layouttopmenu_inner .nav_multilevel .toggle {
    display: none;
}

.layouttopmenu_inner .nav_multilevel i {
    color: white; 
    font-size: 170%; 
    margin-top: 2px;
}

.layouttopmenu_inner .nav_multilevel { 
    width: 100%;
} 

.layouttopmenu_inner .nav_multilevel .titletxt {
    display: none; 
}

.layouttopmenu_inner .nav_multilevel .level1 { 
    max-width: 712px; 
    height: 40px; 
    align-items: center;  
    margin: auto auto; 
    display: flex;  
    flex-direction: row; 
    justify-content: space-evenly; 
    gap: 27px; 
}

.layouttopmenu_inner .nav_multilevel .level1 > li {
    align-items: center;
    padding: 10px 0px;
}

.layouttopmenu_inner .nav_multilevel .level2 {
    display: none;
}

.layouttopmenu_inner .nav_multilevel .level1 li:hover .level2 {
    display: block;
    position: absolute;
    background-color: white;
    padding: 10px 20px 15px 20px;
    border-radius: 0px 0px 10px 10px;
    margin-top: 10px;
    min-width: 170px;
    border: 1px solid var(--clay);
}

.layouttopmenu_inner .nav_multilevel .level2 a { 
    color: var(--black); 
    border-bottom: 1px solid var(--clay); 
    padding: 10px 40px 10px 0px; 
    display: block;  
}

/* Top Menu Right */
.topmenuright .toplinks { 
    position: absolute;
    top: 20px;
    display: flex;
    flex-direction: row;
    gap: 10px; 
    z-index: 90; 
    right: 160px;  
}

.topmenuright .items .nav_linklist .links { 
    display: flex; 
    flex-direction: row;  
    gap: 20px; 
    align-items: center; 
    align-content: center;  
}

.topmenuright .items .nav_linklist .links li:first-of-type {
    background-color: var(--midgrey); 
    padding: 8px 30px; 
    border-radius: 20px;
}

.topmenuright .items .nav_linklist .links li:last-of-type {
    background-color: var(--lavenderblue); 
    padding: 8px 30px; 
    border-radius: 20px;
}

/* Footer */
.layoutfooter .logo {  background-color: var(--cream);  padding: 150px 0px; }
.layoutfooter .logo .image {  max-width: 1020px;  margin: 0px auto; }
.layoutfooter .logo img { max-width: 100%;  height: auto; }
.layoutfooter > .layoutfooter_inner > .util_container {  max-width: 1440px;  width: 100%;  margin: 0px auto; }
.layoutfooter .util_container .items { display: flex; margin: 100px auto;}
.layoutfooter .quicklink {/* max-width: 580px; */padding: 0px;}
.layoutfooter .quicklink .title { font-size: 180%;}
.layoutfooter .quicklink .box1, .layoutfooter .quicklink .box2, .layoutfooter .quicklink .box {max-width: 100% !important;width:274px !important;height: 274px !important;}
.layoutfooter .util_container > .items > .util_container {  width: 100%; }
.layoutfooter .util_container > .items .links { display: flex;   column-gap: 10px;  }
.layoutfooter .util_container > .items .links i { font-size: 120%;  border: 2px solid var(--terracota);  color: var(--terracota);  border-radius: 50%;  width: 40px;  height: 40px;  text-align: center;  line-height: 36px; vertical-align: middle; }
.layoutfooter .util_container > .items .textbox {margin: 0px; padding: 0px;}
.layoutfooter .util_container > .items .textbox .box1, 
.layoutfooter .util_container .items .textbox .box2 { width: 274px; height: 350px; margin: 0px 10px 0px 10px; position: relative; left: 0px; }
.layoutfooter .util_container > .items .textbox .box {width: 274px; height: 300px; }
.layoutfooter .util_container > .items .textbox .link { width: 240px; height: 270px; }
.layoutfooter .util_container .items .items { display: block; margin: 0px auto;  margin: 0px 0px; }
.layoutfooter .util_container > .items > .util_container > .items > .util_container { width: 100%; }
.layoutfooter .util_container .items .items .items { display: flex; margin-top: 50px; justify-content: space-between;}
.layoutfooter .util_container .items .items .items .titletxt {color: var(--black);  }
.layoutfooter .util_container .items .items .items a { color: var(--black);  text-transform: uppercase;  font-family: var(--font-secondary);  margin: 10px 0px;  display: block; }
.layoutfooter .util_container .items .items .items .links {  display: block; }
.layoutfooter .policies .introduction {display:flex;justify-content: space-between;align-items: center;font-family: var(--font-secondary);flex-wr;flex-wrap;:wrap;flex-wrap;:wrap;flex-wrap;:wra;flex-wrap;:wr;ap;:w;flex-wrap: wrap;}
.layoutfooter .policies .introduction ul  {font-family: var(--font-secondary);display:flex;gap: 10px;flex-wrap: wrap;}
.layoutfooter .policies .introduction li a { font-family: var(--font-secondary); color: var(--midgrey);   }
.layoutfooter .policies .introduction div { display:block; }
.layoutfooter .policies .introduction div p  a { margin-right: 10px;  }
.layoutcredits_inner {display: none; }

/* Page Title */

.pageheader {
    height: calc(100vh - 153px);
}

.pageheader .pageheader_inner { 
    height: 100vh;
}

.pageheader_inner {
    position: relative;
    top: -153px;
    z-index: -10;
}

.pagebanner.banner {
    background-size: cover;
    height: 100%;
    background-position: center;
}

.pagebanner.banner::after { 
    content: ''; 
    position: absolute; 
    inset: 0; 
    z-index: 0; 
    background-repeat: no-repeat; 
    background-position: left bottom; 
    background-size: clamp(420px, 75vw, 900px) auto; 
    background-image: url(/images/zMlBu44GLlCAs9phRu7N0nc0bn.png); 
}

.section1075 .pagebanner.banner::after { 
    background-image: url(/images/quE66eqAG7cl5q3vNuRt0ku0bc.png); 
}

.section1019 .pagebanner.banner::after { 
    background-image: url(/images/oVAfMUaGSN2Dwepu6XFx0ku0bc.png); 
}

.section1020 .pagebanner.banner::after { 
    background-image: url(/images/13vNBteRhD2GCIHfi6cm0ku0bc.png); 
}

.pagetitle {
    position:absolute;
    left: 150px;
    top: calc(100vh - 350px);
    letter-spacing: 3px;
    max-width: 890px;
}

.pagetitle .pagetitle_inner { 
    color: white; 
    max-width: 890px; 
    font-family: var(--font-primary); 
    font-weight: 400; 
    font-size: 350%; 
}
*/

/* Block Text */
.blocktext { width: 1440px;   background-color: var(--cream); }
.blocktext .titletxt {  font-size: 350%;   color: var(--terracota); }
.blocktext .content { width: 75%;}
.blocktext .content p {  max-width: 1440px; margin: 20px auto; font-family: var(--font-secondary); font-weight: 300; } 
.blocktext .content p:first-of-type {  font-size: 250%; }
.blocktext .content p:nth-last-of-type(2) { font-size: 150%;  }
.blocktext .content p a { color: var(--terracota); text-decoration: underline; }

/* Block Image */
.blockimage .image img { display: block; width: 100%; height: auto; max-height: 900px;  object-fit: cover; object-position: top; border-radius: 10px;  background-color: var(--cream); }

.basic { margin: var(--md); }
.basic .titletxt { font-size: 350%; color: var(--terracota); }
.basic h3 { font-size: 150%; font-family: var(--font-secondary); color: var(--terracota); }
.basic .content p { max-width: 1440px; margin: 20px auto; font-family: var(--font-secondary); font-weight: 300; color: var(--black); padding: 5px 0px 0px 0px; } 
.basic .content ol, .basic .content ul { font-family: var(--font-secondary);  }
.basic .content ol li, .basic .content ul li { font-family: var(--font-secondary); list-style-type:decimal; margin: 0px 0px 10px 50px; color: var(--black); font-weight: 300; }

/* Call to Action */
.calltoaction {
    position: relative;
    background-size: cover;
    background-position: center;
    margin: 150px auto;
    height: 600px;
    width: 80vw;
    display: block;
    border-radius: 10px;
    overflow: hidden; 
}

.calltoaction::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1;
    background-image: url(/images/k2iPhbDyzzC6U7El73ea0jq05a.png);
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 60% auto;
}

.calltoaction > * {
    position: relative;
    z-index: 2;
}

.calltoaction .titletxt {
    color: white; 
    font-size: 350%; 
    text-align: center; 
    margin: 130px 20px 20px 20px; 
    letter-spacing: 2px; 
}

.calltoaction .links {
    display: flex;
    flex-direction: row;
    gap: 20px;
    text-align: center; 
    justify-content: center;
}

.calltoaction .links a {
    border: 2px solid white; 
    padding: 10px 20px; 
    border-radius: 230px; 
    min-width: 150px; 
    display: block; 
    text-transform: uppercase; 
    color: white; 
    font-family: var(--font-secondary); 
    text-decoration: none; 
    transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.calltoaction .links a:hover {
    background-color: var(--terracota);
    border-color: var(--terracota); 
}

/* Animated Image Block */
.animatedimageblock { 
    padding: 0px 0px 0px 0px;
    text-align: center;
    background-color: white; 
    overflow: hidden;  
}

.animatedimageblock .topimage { 
    margin-top: 50px; 
}

.animatedimageblock .titletxt { 
    font-size: 400%;  
    color: var(--terracota); 
    letter-spacing: 2px;  
} 

.animatedimageblock .introduction { 
    max-width: 800px; 
    margin: 0px auto; 
    font-size: 150%; 
    font-family: var(--font-secondary); 
    padding-bottom: 50px; 
}

.animatedimageblock .image_1 { 
    height: 200px; 
    width: 200px; 
    background-size: cover; 
    border-radius: 10px; 
    position: absolute;  
    z-index: 0; 
    left: -100px;  
    margin-top: -450px;  
}

.animatedimageblock .image_3 { 
    height: 120px; 
    width: 120px; 
    background-size: cover; 
    border-radius: 10px; 
    position: absolute; 
    z-index: 0; 
    left: calc(50% + 40%);  
    margin-top: -400px; 
}

.animatedimageblock .image_4 { 
    height: 170px; 
    width: 170px; 
    background-size: cover; 
    border-radius: 10px; 
    position: absolute; 
    z-index: 0;
    left: calc(50% - 800px);  
    margin-top: -200px;  
}

.animatedimageblock .image_5 { 
    height: 120px; 
    width: 130px; 
    background-size: cover; 
    border-radius: 10px; 
    position: absolute; 
    z-index: 0;
    left: calc(50% + 30%);  
    margin-top: -200px;  
}

.animatedimageblock .image_6 { 
    height: 145px; 
    width: 155px; 
    background-size: cover; 
    border-radius: 10px; 
    position: absolute; 
    z-index: 0;
    left: calc(50% - 40%);  
    margin-top: 200px;  
}

.animatedimageblock .image_7 { 
    height: 155px; 
    width: 170px; 
    background-size: cover; 
    border-radius: 10px; 
    position: absolute; 
    z-index: 0; 
    left: calc(50% + 35%); 
    margin-top: 200px;  
}

.animatedimageblock .toplinks {
    display: flex;
    flex-direction: row;
    gap: 20px;
    text-align: center; 
    justify-content: center;
}

.animatedimageblock .toplinks a {
    border: 2px solid var(--midgrey); 
    padding: 10px 20px; 
    border-radius: 230px; 
    min-width: 150px; 
    display: block; 
    text-transform: uppercase; 
    color: var(--midgrey); 
    font-family: var(--font-secondary); 
    text-decoration: none; 
    transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

.animatedimageblock .toplinks a:hover {
    background-color: var(--terracota);
    border-color: var(--terracota);
    color: white; 
}

.animatedimageblock { 
    transition: padding-top 0.3s ease-in-out; 
}

.animatedimageblock .image { 
    position: relative; 
    height: 100vw; 
    display: flex; 
    justify-content: center;
    align-items: center; 
    overflow: hidden; 
    transition: height 1.5s ease, width 1.5s ease; 
}

.animatedimageblock .image img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    border-radius: 10px; 
    transition: all 1.5s ease-in; 
    object-position: top center;
    will-change: width, height;
}

.animatedimageblock.active {  
    text-align: center; 
}

.animatedimageblock.active .image img { 
    width: 200px; 
    height: 200px; 
    object-fit: cover; 
}

.animatedimageblock.active .image { 
    height: 200px;
    will-change: height, width;
}

/* Carousel */
.feat_carousel .titletxt { 
    text-align: center; 
    color: var(--terracota); 
    font-size: 400%;
}

.feat_carousel .carousel { 
    overflow: hidden; 
    position: relative; 
    height: 100%; 
    max-width: 1400px; 
    margin: 0px auto; 
}

.feat_carousel .carousel > ul { 
    width: 20000em; 
    position: relative; 
    height: 100%; 
}

.feat_carousel .carousel > ul > li {
    float: left;
    list-style-type: none;
    margin: 50px 0px;
    box-sizing: border-box; 
    padding: 20px 30px; 
    width: auto !important;
    contain: layout style paint;
}

/* Reviews */
.reviews .introduction a { 
    width: 300px; 
    margin: 50px auto; 
    text-align: center; 
    border: 2px solid var(--midgrey); 
    padding: 10px 20px; 
    border-radius: 230px; 
    min-width: 150px; 
    display: block; 
    text-transform: uppercase; 
    color: var(--midgrey); 
    font-family: var(--font-secondary); 
    text-decoration: none; 
    transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

.reviews .introduction a:hover {
    background-color: var(--terracota);
    border-color: var(--terracota);
    color: white; 
}

.reviews .feat_carousel .carousel { 
    max-width: 2500px; 
}

.reviews .feat_carousel .titletxt {
    max-width: 550px; 
    margin: 0px auto; 
}

.reviews .feat_carousel ul > li {
    border: 2px solid var(--clay); 
    border-radius: 10px; 
    width: 390px !important; 
    min-height: 450px; 
    max-height: 450px; 
    margin: 0px 15px; 
    font-family: var(--font-secondary);
}

.reviews .feat_carousel ul > li div { 
    margin: 10px 0px; 
}

.reviews .feat_carousel ul > li div.title {
    font-weight: bold;
    font-size: 150%;
    color: var(--black);
    overflow: hidden;
}

.reviews .feat_carousel ul > li div.text { 
     min-height: 150px;  
    height: 250px;  
    max-height: 250px; 
    overflow: hidden; 
}
.reviews .feat_carousel ul > li .name { 
    position: absolute;
    bottom: 40px; 
}

.reviews .feat_carousel ul > li .date  { 
    position: absolute;
    bottom: 10px; 
}

.reviews .feat_carousel ul > li div.rating i { 
    color: var(--ciderrose);
}

/* Event List */
.eventlist { max-width: 100vw; overflow-x: hidden; }
.eventlist .titletxt { text-align: left; color: var(--terracota); font-size: 400%; max-width: 1440px; margin: var(--md) auto var(--sm) auto;}
.eventlist .intro { font-family: var(--font-secondary);  font-size: 150%; max-width: 1440px;  margin: 0px auto; font-weight: 300; }
.eventlist .feat_carousel {width: 100vw; }
.eventlist .carousel { max-width: 390px;  }
.eventlist ul {display: flex; justify-content: space-between; width: 100vw !important; gap: 10px;}
.eventlist li { max-width: 30vw !important;   }

.eventlist .list ul {display: flex; flex-wrap: wrap; max-width: 100%; row-gap: 40px; }
.eventlist .list li { flex: 0 1 calc(33.333% - 20px) !important; }

.eventlist .image { background-size: cover; background-position:center;  height: 360px; border-radius: 10px; position: relative; transition: background-size 0.3s ease; }
.eventlist .border { position: relative;  width: calc(100% - 35px) !important;   height: calc(100% - 35px) !important; left: 18px; top: 18px; border: 2px solid white; border-radius: 10px; display: block; transition: border 0.3s ease-in;}
.eventlist .border:hover { border-color: var(--forestgreen); }
.eventlist .name { max-width: 580px;  font-size: 180%;  margin-top: 20px; }
.eventlist .name a {text-decoration: none; color: var(--black);  font-family: var(--font-secondary); }
.eventlist .abstract {max-width: 100%;max-width: 580px;font-weight: 300; font-family: var(--font-secondary);}
.eventlist .link {max-width: 1440px; margin: 0px auto 0px auto; text-transform: uppercase; display: flex; }
.eventlist .link a {border: 2px solid var(--midgrey); padding: 10px 20px; border-radius: 230px; min-width: 150px; display: block; text-transform: uppercase; color: var(--midgrey); font-family: var(--font-secondary); text-decoration: none; transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, color 0.3s ease-in-out;}

.eventlist .link a:hover {background-color: var(--terracota);border-color: var(--terracota);color: white; }
.eventlist.feat_carousel .carousel > ul > li { padding: 0px 0px 0px 0px; }
.eventlist .carousel { overflow: hidden; left: calc(50% - 720px);   width: 100%; max-width: 100%;  }


@media (max-width: 1200px) { 
    .eventlist li { max-width: 50vw !important;  }
}
@media (max-width: 800px) { 
    .eventlist li { max-width: 100vw !important;  }
}

/* Quick Link Block */
.quicklink { 
    background-image: url(/images/8hZs9vjJUakXCwloACsA0th0pg.png); 
    background-size: contain; 
    background-position: 0px 0px; 
}

.quicklink .flex {
    max-width: 1400px; 
    margin: 0px auto; 
}

.quicklink .titletxt {
    color: var(--terracota); 
    font-size: 400%; 
    width: 700px; 
    letter-spacing: 1px;  
    font-weight: 400; 
    margin: 0px 0px 110px 0px;
}

.quicklink .introduction { 
    max-width: 363px; 
    font-family: var(--font-secondary); 
    font-size: 150%; 
    font-weight: 300; 
}

.quicklink .title { 
    color: var(--black); 
    font-size: 280%;  
    text-decoration: none; 
    letter-spacing: 1px;
}

.quicklink .strapline { 
    color: var(--black); 
    font-weight: 300; 
    font-size: 100%;  
    font-family: var(--font-secondary); 
    margin-bottom: 10px;
}

.quicklink .box1 {
    max-width: 475px;
    position: relative;
    left: 50%;
    margin: 0px 0px 0px -400px;
}

.quicklink .box2 { 
    max-width: 475px; 
    position: relative; 
    left: 50%; 
    margin: -490px 0px 0px 140px;
}

.quicklink .box { 
    position: relative; 
    background-position: center center; 
    overflow: hidden;
    transition: background-size 0.3s ease-in-out; 
    max-width: 465px; 
    max-height: 475px; 
    background-size: 200%; 
    border-radius: 10px; 
    height: 475px; 
    -moz-box-shadow: inset 0 0 2px white;
}

.quicklink .box:hover { 
    background-size: 250%; 
}

.quicklink .link { 
    position: absolute; 
    width: calc(100% - 35px) !important; 
    height: calc(100% - 35px) !important; 
    left: 18px; 
    bottom: 18px; 
    border: 2px solid white; 
    border-radius: 10px; 
    display: block;
    transition: border-color 0.3s ease-in-out;
}

.quicklink.inline { 
    background-image: unset; 
}

.quicklink.inline .titletxt {  
    max-width: 363px; 
    margin: 0px 0px 40px 0px; 
}

.quicklink.inline .container {
    width: 50%;
} 

.quicklink.inline .introduction { 
    font-family: var(--font-secondary); 
    font-size: 150%; 
    font-weight: 300; 
}

.quicklink.inline .flex { 
    display: flex; 
    height: auto; 
    gap: 20px;
}

.quicklink.inline .box1 {
    /* all: unset; */
    margin: 0px 0px 0px 0px;
    left: unset;
}

.quicklink.inline .box2 {
    all: unset;
    margin: 0px 0px 0px 0px;
}

.quicklink.inline .box {
    width: 332px;
    max-height: 430px;
    height: 430px;
}

.quicklink .link a { 
    color: var(--black);  
    position: absolute; 
    bottom: 0px; 
    left: 50%; 
    margin: 0px 0px 0px -67px; 
    background-color: white; 
    border-radius: 5px 5px 0px 0px; 
    padding: 5px 20px; 
    text-transform: uppercase; 
    font-family: var(--font-secondary); 
    text-decoration: none; 
    transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

.quicklink .box1:hover .link a, 
.quicklink .box2:hover .link a { 
    color: white; 
    background-color: var(--forestgreen);
}

.quicklink .box1:hover .link, 
.quicklink .box2:hover .link { 
    border-color: var(--forestgreen); 
}

/* Newsletter */
.int_newsletter { background-color: var(--lavenderblue); padding: 100px 0px;} 
.int_newsletter form {  max-width: 1440px;  margin: 0px auto; }
.int_newsletter>form>fieldset>.text  { text-align: center; font-size: 200%; margin: 50px auto;   }
.int_newsletter>form>fieldset>.text h2 { color: var(--forestgreen); }
.int_newsletter .titleimg { text-align: center; }
.int_newsletter form .form { display: flex;  gap: 10px; }
.int_newsletter form .form input { width: 100%; }
.int_newsletter form .form .label {  display: none; }
.int_newsletter form .form .field { width: 100%; margin-bottom: 10px;}
.int_newsletter input[type=submit] {  transition: all 0.3s ease-in-out;   border: 2px solid var(--forestgreen);  padding: 8px 20px;  border-radius: 40px;  }
.int_newsletter input[type=submit]:hover {  border-color: var(--terracota);  color: white;  background-color: var(--terracota);  }

/* Copy Three Image Block */
.copythreeimageblock { 
    overflow: hidden; 
    background-image: url(/images/IDgzyQFIH7xbJz7iO88k02903x.png); 
    background-position: calc(50% - 680px) calc(100% - 250px); 
}

.copythreeimageblock .titletxt {
    max-width: 1440px; 
    margin: auto; 
    font-size: 420%; 
    color: var(--terracota);  
}

.copythreeimageblock .content_inner { 
    max-width: 1440px; 
    margin: 0px auto; 
}

.copythreeimageblock .introduction { 
    width: 820px;  
    font-size: 180%; 
    font-family: var(--font-secondary);  
    font-weight: 300;   
    margin: 40px 0px 40px 0px;  
}

.copythreeimageblock .content {  
    width: 820px; 
    display: flex; 
    gap: 50px;
    font-family: var(--font-secondary);  
    font-size: 125%; 
    font-weight: 300; 
}

.copythreeimageblock .images {
    margin: 60px 0px;
    display: flex;
    gap: 40px;
    justify-content: flex-start;
    margin-left: 50vw;
}

.copythreeimageblock .images img { 
    width: 300px; 
    height: 400px; 
    object-fit: cover; 
    border-radius: 10px; 
}

/* Media Block Component */ 
.mediablock { 
    max-width: 1440px;  
    margin: 50px auto; 
    display: flex; 
    gap: 50px; 
}

.mediablock.fullwidth { 
    max-width: 1440px;  
    display: grid; 
    gap: 20px;
}

.mediablock .image { 
    width: 50vw; 
    height: 700px; 
    background-size: 250%; 
    background-position: center center; 
    border-radius: 10px; 
    margin: 10px 0px; 
    transition: background-size 0.3s ease; 
}

.mediablock .image:hover { 
    background-size: 300%; 
}

.mediablock.fullwidth .image { 
    width: 100%; 
    height: 700px; 
    border-radius: 10px; 
    margin: 10px 0px;  
}

.mediablock .border { 
    position: relative;  
    width: calc(100% - 35px) !important;   
    height: calc(100% - 35px) !important; 
    left: 18px; 
    top: 18px; 
    border: 2px solid white; 
    border-radius: 10px; 
    display: block; 
    transition: border-color 0.3s ease-in;
}

.mediablock .image:hover .border {
    border-color: var(--forestgreen); 
}

/* List Block */
.listblock {
    max-width: 1440px; 
    margin: 50px auto;
}

.listblock .titletxt {
    max-width: 1440px; 
    margin: auto; 
    font-size: 420%; 
    color: var(--terracota);  
}

.listblock p { 
    font-family: var(--font-secondary);  
    padding: 40px 0px; 
    font-size: 180%; 
    font-weight: 300;
}

.listblock p:first-of-type {  
    font-weight: 400; 
    color: var(--midgrey);
}

.listblock p {  
    font-weight: 300; 
    border-bottom: 1px solid var(--clay);
}

/* FAQs Block */
.dbase_faqs {
    max-width: 1000px; 
}

.dbase_faqs .titletxt {
    max-width: 1440px; 
    margin: auto; 
    font-size: 420%; 
    color: var(--terracota);  
}

.dbase_faqs .introduction { 
    max-width: 816px; 
    font-family: var(--font-secondary);  
    font-size: 150%; 
    font-weight: 300; 
}

.dbase_faqs .section { 
    max-width: 844px; 
    margin-left: 215px; 
    margin-top: 50px;
}

.dbase_faqs .section ul > li { 
    border-bottom: 1px solid var(--midgrey);
}
.dbase_faqs .question {
     background-image: url(/images/GUaL9id4flRshj5B1BWH00p00p.png);  
     background-position: right 0px top 40px; 
}

.dbase_faqs .question .text { 
    font-family: var(--font-secondary);  
    font-size: 180%; 
    font-weight: 400;  
    cursor: pointer; 
    color: var(--midgrey); 
    padding: 30px 40px 30px 0px; 
    display: block;  
   
}

.dbase_faqs .expanded .question .text { 
    color: var(--terracota);  
    font-weight: 300;  
}

.dbase_faqs .expanded .question { 
    background-image: url(/images/Ja7j9RU0jXnwOJihXnPu00p00p.png); 
} 

.dbase_faqs .answer { 
    font-family: var(--font-secondary);  
    font-size: 130%; 
    font-weight: 300; 
    margin: 20px 0px 20px 0px; 
}

/* Contact Form */
.contactform {
    display: flex; 
    max-width: 1440px; 
    margin: 0px auto; 
    gap: 40px;
}

.contactform .image { 
    background-size: 100%; 
    width: 50%; 
    height: 400px; 
    border-radius: 10px; 
    position: relative; 
    transition: background-size 0.3s ease; 
}

.contactform .image:hover { 
    background-size: 110%; 
}

.contactform .border { 
    position: relative;  
    width: calc(100% - 35px) !important;   
    height: calc(100% - 35px) !important; 
    left: 18px; 
    top: 18px; 
    border: 2px solid white; 
    border-radius: 10px; 
    display: block; 
    transition: border-color 0.3s ease-in;
}

.contactform .border:hover { 
    border-color: var(--forestgreen); 
}

.contactform .surv_standard { 
    width: 50%; 
    height: auto; 
}

.surv_standard .titletxt {  
    font-size: 420%; 
    color: var(--terracota);  
}

.surv_standard .intro { 
    font-family: var(--font-secondary); 
    margin: 0px 0px var(--sm) 0px; 
}

.surv_standard .label { 
    font-family: var(--font-secondary); 
    text-transform: uppercase; 
    font-weight: 500; 
    font-size: 90%; 
    margin-top: 35px;
}

.surv_standard input {
    padding: 0px;
}

.surv_standard textarea {
    background-color: transparent; 
    border-top: none; 
    border-left: none; 
    border-right: none; 
}

.surv_standard .message {
    color: var(--terracota); 
    font-family: var(--font-secondary);  
}

/* Animations */
.pagecomponents_inner > div:not(.blocktextwithbackground), 
.layoutfooter_inner > div {
    opacity: 0;
}

.pagecomponents_inner > div:not(.blocktextwithbackground).visible, 
.layoutfooter_inner > div.visible { 
    animation: fadeIn 1.5s cubic-bezier(0.5, 0, 0, 1) forwards; 
    animation-delay: 0.3s; 
}

/* Responsive Design */
@media (max-width: 1800px) { 
    .pagetitle {/* max-width: 50%; */}
    
    .animatedimageblock .image_1, 
    .animatedimageblock .image_3 {
        display: none; 
    }
}

@media (max-width: 1680px) { 
    .pagecomponents_inner > div:not(.quicklink, .blockimage, .feat_carousel, .reviews) {
        padding: var(--sm) var(--md);
    }
    
    .pagecomponents_inner > div.quicklink {
        margin: 0px auto;
    }
    
    .pagecomponents_inner > div.calltoaction { 
        margin: var(--md) auto; 
    }
    
    .layouttopmenu_inner { 
        margin: 50px 50px;
    } 
    
    .layouttopmenu_inner .logo img { 
        max-width: 211px; 
    }
    
    .topmenuright .toplinks {  
        top: 20px; 
        right: 60px;  
    }
    
    .blocktext, 
    .quicklink, 
    .blocktextwithbackground, 
    .layoutfooter form, 
    .layoutfooter .layoutfooter_inner > .util_container, 
    .layoutfooter .logo .image, 
    .dbase_faqs, 
    .listblock, 
    .mediablock, 
    .copythreeimageblock {
        max-width: 100%;
        width: 100%;
        padding-left: 50px;
        padding-right: 50px;
    }
}
@media (max-width: 1570px) {
    .eventlist {
        margin-left: var(--lg) !important;
    }
    .eventlist .carousel{
        padding-left: 0px !important;
    }
}

@media (max-width: 1440px) {  	
	.pagetitle { max-width: 75%; }
    .quicklink.inline .container {
        width: 45%;
    } 
    
    .quicklink.inline .titletxt {
        width: 100%;
        max-width: 100%;
    }
    
    .quicklink .box1 {
        left: 50%;
        margin: 0px 0px 0px -525px;
    }
    .quicklink.inline .box1 {
        left: unset;
        
    }
    
    .quicklink .box2 {
        margin: -490px 0px 0px 50px;
        left: 50%;
    }
    
    .copythreeimageblock {
         background-position: calc(20px) calc(100% - 250px); 
    }
    
    .copythreeimageblock .titletxt, 
    .copythreeimageblock .introduction { 
        width: auto;
    }
    
    .copythreeimageblock .images {  
        max-width: 2500px; 
        width: 2500px; 
        margin-left: 40vw;
    }
    
}

@media (max-width: 1400px) { 
 
    .layouttopmenu_inner { 
        margin: 50px 20px; 
    } 
    
    .layouttopmenu_inner .logo img { 
        max-width: 150px; 
    }
    
    .layouttopmenu_inner .nav_multilevel .level1 {  
        height: 20px; 
    }
    
    .topmenuright .toplinks {  
        top: 20px; 
        right: 30px;  
    }
    
    .pagetitle {
        left: var(--md);
        font-size: 170%;
    }
}

@media (max-width: 1380px) {  
    .eventlist .carousel {  
        left: 0px;  
    } 
    
    .
}

@media (max-width: 1350px) { 
    .pageheader {height: calc(100vh - 135px); }
    .pageheader_inner {
        /* top: -135px; */
    }
    .layouttopmenu_inner { margin: 40px 20px;}
    
    .layouttopmenu_inner .nav_multilevel.toggleon i {color: var(--black);}
    .layouttopmenu_inner .nav_multilevel .titletxt { display: block; position: absolute; right: 70px;top: 50px; color: white; text-align: right;  font-family: var(--font-secondary); font-weight: 500; font-size: 170%; width: auto; }
    .layouttopmenu_inner .nav_multilevel .toggle { display: block !important;  position: absolute; top: 54px; right: 21px; cursor: pointer; height: 30px; width: 30px; z-index: 60; }
    .layouttopmenu_inner .nav_multilevel .level1 { display: block; max-height: 0; max-width: 0; overflow: hidden; transition: max-height 20s ease-in, padding 20s ease-in; padding: 0px;}
    .layouttopmenu_inner .nav_multilevel.toggleon .level1 { max-height: 100%; max-width: 100vw; height: auto; margin-top: 50px;}
    .layouttopmenu_inner .nav_multilevel.toggleon {position: absolute;padding-top: 100px;top: 0px;right: 0px;left: 0px;bottom: 0px;background-color: var(--cream);width: 100%;z-index: 2;text-align: left;max-width: 100%;}
    .layouttopmenu_inner .nav_multilevel.toggleon li { padding: 10px 0px 10px 20px; float: left; clear: left; width: 100%; }
    .layouttopmenu_inner .nav_multilevel.toggleon li a { color: var(--black); text-align: left;  }
    .layouttopmenu_inner .nav_multilevel svg {width: 30px; height: 30px;}
    .topmenuright .items {display: none;}
    .topmenuright.toggle .items { display: block; }
    .topmenuright.toggle .items { z-index: 30; position: absolute; bottom: 40px;  margin: 0px auto; left: 20px; }
    .topmenuright.toggle .items ul {width: calc(100vw - 40px);}
    .topmenuright.toggle .items li { width: calc(100vw - 40px); text-align: center;  margin: 10px 0px 0px 0px;}
    .level1 a:hover .level2 { display: block !important; }
    .level2  { display: block !important;  }
    .level2 li {padding: 20px 0px 0px 10px !important;}
    .level2 a { display: block !important; border: 0px !important; line-height: 0px; margin: 0px; padding:0px; }
    .logo svg { max-width: 164px; }
    body:has(.toggleon) svg path { fill: black; }
}

@media (max-width: 1240px) { 
    .animatedimageblock {
        width: 100vw;
    }
    
    .animatedimageblock .toplinks {
        display: grid; 
    }
    
    .animatedimageblock .image_3 {
        right: 0px;
    }
    
    .animatedimageblock .image_4, 
    .blocktextwithbackground .image_5 {
        display: none; 
    }
    
    .animatedimageblock .image_6, 
    .animatedimageblock .image_7 {
        display: none; 
    }
    
    .animatedimageblock .introduction {
        font-weight: 300;
    }
}

@media (max-width: 1220px) { 
    .int_newsletter .form {
        flex-wrap: wrap;
        max-width: 100%;
    }
}

@media (max-width: 1200px) { 
    .quicklink .flex .container { 
        width: 100%; 
    }
    
    .quicklink.inline .flex .container .introduction {
        max-width: 100%;  
    }
    
    .quicklink.inline .flex {
        max-width:  100%;
    }
    
    .layoutfooter .util_container > .items > .util_container {
        width: 100%;
    }
    
    .layoutfooter .util_container > .items {
        flex-wrap: wrap; 
    }
    
    .layoutfooter .box1 { 
        margin: 0px !important;
    }

    .quicklink .strapline {
        max-width: 332px;
     }
    .quicklink .box {
        max-width: 332px;
        height: 430px;
        max-height: 430px;
    }
}

@media (max-width: 1100px) {
    .blocktext, 
    .quicklink, 
    .blocktextwithbackground, 
    .layoutfooter form, 
    .layoutfooter .layoutfooter_inner > .util_container, 
    .layoutfooter .logo .image, 
    .dbase_faqs, 
    .listblock, 
    .mediablock, 
    .copythreeimageblock, .pagetitle {padding-left: var(--sm) !important; padding-right: var(--sm) !important;}
    .layoutfooter .quicklink {padding: 0px !important;}
    .quicklink .titletxt {margin: 0px 0px 50px 0px;}
    .quicklink .flex {display: flex;flex-wrap: wrap;}
    .quicklink .box2, .quicklink .box1 { margin: 0px 0px; left: 0px; width: 50%; }
    .pagetitle {max-width: 68%;}
    .blocktext .content {width: 100%;}
    .copythreeimageblock .images { margin-left: 30vw; }
	.mediablock .image { width: 60vw; height: 500px; background-size: 250%; background-position: center center; border-radius: 10px; margin: 10px 0px; transition: background-size 0.3s ease; }

}

@media (max-width: 1570px) {
    .eventlist {margin-left: var(--sm) !important;}
}


@media (max-width: 1000px) { 
    body {line-height: 1.3; }    
    .pagecomponents_inner > div:non(.blockimage, .reviews, .feat_carousel), .pagetitle { padding: var(--sm) var(--sm) !important; }
    .pagetitle { left: unset ; max-width: 100%; }
    .pagecomponents_inner > div.quicklink {  margin: 0px auto; }
    .components div {flex-wrap: wrap; max-width: 100vw; }
    .int_newsletter .titletxt { width: 100%; }
    .pagecomponents .titletxt { font-size: 310% !important; line-height: 1.2;   }
    .blocktext .titletxt { font-size: 250%;  }
    .blocktext .content p:first-of-type { font-size: 180%; }
    .blocktext .content { padding: 0px; max-width: 100vw; font-weight: 300; }
    .blockimage .image img { height: 600px; }
    .calltoaction { width: 100vw;}
    .calltoaction .links { display: grid; }
    .quicklink {width: 100%; }
    .quicklink .titletxt { font-size: 300%; width: 100%;}
    .quicklink .box2 { margin: 50px 0px 0px 0px;}
    .copythreeimageblock .introduction { margin: 20px 0px 20px 0px; }
    .copythreeimageblock .content { gap: 10px; }
    .eventlist .titletxt, .eventlist .intro { max-width: 100%; }
    .eventlist .name { max-width: 100%;  }
    .mediablock .image { width: 100vw; }
    .dbase_faqs .section { max-width: 100%; margin-left: 0px; }
}

@media (max-width: 850px) {
    .quicklink.inline .titletxt { width: 100%; margin: 0px 0px 20px 0px; }
    .quicklink.inline .introduction { font-size: 110%; }
    .quicklink .box2 { margin: 0px 0px 0px 0px;}
}

@media (max-width: 800px) {
    .pagecomponents_inner > div:not(.blockimage), .pagecomponents_inner .pagetitle { padding: var(--md) var(--sm) var(--md) var(--sm) !important; margin: 0px; }
    .pageheader {/* height: 60vh; */}
    .pagetitle {/* top: 250px; */font-size: 130%}
    //.section1075 .pagetitle, .section1019, .section1020 { top: 450px;}
    .pagebanner.banner { background-size: cover; height: 100%; }
    .calltoaction .titletxt { padding-top: 0px; margin-top: 50px;}
   
    
    .quicklink .box1, .quicklink.inline .box1, .quicklink .box2, .quicklink.inline .box2 { max-width: 100%; width: 100% !important;  }
    .quicklink .box,  .quicklink.inline .box { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 472px !important; background-size: cover; -moz-box-shadow: inset 0 0 2px white; }
    
    .layoutfooter .util_container .items .quicklink.inline .box1, .layoutfooter .util_container .items .quicklink .box2 { width: 274px !important; height: auto !important; }
    .layoutfooter .util_container .quicklink.inline .box {  height: 274px !important; max-height: 274px !important;  }
    .feat_carousel { margin: 50px 0px;}
}

@media (max-width: 650px) { 
    .layoutfooter .policies .introduction ul  {margin-bottom: 20px; }
    .layoutfooter .policies .introduction div {display: flex;width: 100%; gap: 0px;}
    .layoutfooter .policies .introduction div a:after { content: ''; display: block;  }
    .layoutfooter .policies .introduction div p a { margin-right: 0px;  }
}

@media (max-width: 600px) { 
    .mediablock .image { width: 100vw; height: 400px; background-size: 250%; }
    .layoutfooter .quicklink { width: 100%; }
    .quicklink .box1, .quicklink.inline .box1, .quicklink .box2, .quicklink.inline .box2 { max-width: 100%; width: 100% !important;  }
}

@media (max-width: 450px) {
    .pagetitle .pagetitle_inner { font-size: 250%; }
    .reviews .feat_carousel ul > li { max-width: 100% !important; width: 300px !important;}
      .topmenuright.toggle .items {  bottom: 60px; margin: 0px auto; }
    .topmenuright.toggle .items ul { display: flex; flex-wrap: wrap; }
    .topmenuright.toggle .items li { width: 100wv; margin: 0px 0px 0px 0px;}
}