@font-face { font-family: OpenSansRegular;src: url(/library/fonts/OpenSans/Regular.otf) format("opentype"); }
@font-face { font-family: OpenSansSemiBold; src: url(/library/fonts/OpenSans/SemiBold.otf) format("opentype"); }
@font-face { font-family: OpenSansBold; src: url(/library/fonts/OpenSans/Bold.otf) format("opentype"); }
@font-face { font-family: OpenSansItalic; src: url(/library/fonts/OpenSans/Italic.otf) format("opentype"); }
@font-face { font-family: OpenSansLight; src: url(/library/fonts/OpenSans/Light.otf) format("opentype"); }
@font-face { font-family: OpenSansExtraBold; src: url(/library/fonts/OpenSans/ExtraBold.otf) format("opentype"); }

* { background-repeat: no-repeat; background-position: center center; box-sizing: border-box; }
body { font-family: 'OpenSansRegular', Arial, sans-serif; margin: 0px; padding: 0px; width: 100%; height: auto; background-color: #ffffff; color: var(--black); font-size: 100%; line-height: 1.2; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
a { color: var(--orange); text-decoration: none; font-weight: bold; }
ul, ol { padding: 0; margin: 0px;}
li { list-style-type: none; vertical-align: top; }
h1, h2, h3, h4, h5, h6 { padding: 0px 0px 0px 0px; margin: 0px; font-weight: normal; color: var(--black); font-weight: bold;}
fieldset { padding: 0px; margin: 0px; border: none; }


input[type=password]  {height: 30px;margin: 10px 0 0 0;width: 100%;box-sizing: border-box;border: 2px solid var(--purple);background-color: var(--lpurple);padding: 15px 10px;font-family: 'OpenSansRegular', Arial, sans-serif;}

input[type=button], input[type=submit], button[type=submit],.shop_basket .buttons .continueshopping {cursor: pointer;padding: 10px 20px 10px 20px;border: none;background-color: var(--orange);color: var(--black);font-family: 'OpenSansRegular', Arial, sans-serif;font-size: 105%;font-weight: bold;color: var(--white);padding: 5px 25px 8px 25px;border-radius: 25px;letter-spacing: 1px;}
/* select { height: 30px; padding-right: 30px; background-image: none; background-repeat: no-repeat; background-position: right 10px center; } */
p { padding: 0px 0px 20px 0px; margin: 0px; line-height: 1.3em; }
strong { font-weight: normal; font-family: OpenSansBold; }
table { border-spacing: 0px; }
td, th { padding: 0px; text-align: left; vertical-align: top; }
.hidden, .layoutcredits_inner>.beachshore {display: none;}
.spacer { clear: both; height: 0px; display: none; }
.errors {color: red; padding-bottom: 20px;}
.loginrequired h2 {padding-bottom: 0; font-size: 110%; }
.richtextcontent { width: 100%; overflow-x: auto;}



h1 {font-size: 160%; color: var(--purple);}
h2 {font-size: 140%; padding-bottom: 15px;  border-bottom: 2px solid var(--lpurple); margin: 30px 0 20px 0; color: var(--purple); }
h3 {font-size: 120%; padding-bottom: 5px; }
blockquote {font-style: italic; }


:root {
    --purple: #61358B;
    --orange: #E68922;
    --lpurple: #eeebf2;
    --gray:#fafafa;
    --yellow: #FFE601;
    --black: #231f20;
    --white: #ffffff;
}

/* General style */
.home.page_standarda {padding: 0px 0px;max-width: 1250px;}
.page_standarda, .event_eventpage, .shop_product, .shop_basketpage, .std_newsarticlea {padding: 30px 10px;max-width: 1000px;}

.pageheader_inner .pagetitle, .shop_product .name, .shop_basketpage .titletxt, .std_newsarticlea .headline {text-align: center;padding-bottom: 30px;border-bottom: 4px solid var(--lpurple);margin-bottom: 40px;font-family: OpenSansBold;}
.layoutmiddle {min-height: 65vh;}
.std_contentpage, .shop_product, .shop_basketpage, .std_newsarticlea  {margin: 0 auto;}
.components .util_textbox_inner>.titletxt a {color: var(--purple); font-weight: bold;}

.btnorange a { background-color: var(--orange); text-transform: uppercase;  font-size: 105%; font-weight: bold; color: var(--white); padding: 5px 25px; border-radius: 25px; letter-spacing: 2px; }
.btnpurple a { background-color: var(--purple); text-transform: uppercase;  font-size: 105%; font-weight: bold; color: var(--white); padding: 5px 20px; border-radius: 25px; letter-spacing: 2px; }

table { border-collapse: collapse; table-layout: auto; }
table td, table th { padding: 12px 10px; white-space: nowrap; }




/* Header */

.layoutheader_inner {display: flex; padding: 5px; justify-content: space-between; align-items: center; max-width: 1250px; align-items: center; margin: 0 auto;}
.layoutheader_inner .logo {flex: 1;}
.layoutheader_inner .logo img {height: 80px; width: auto;}
.layoutheader_inner .headerbtns .items {display: flex;}
.layoutheader_inner .headerbtns .items .loggedout .links {display: flex; gap: 15px; }
.layoutheader_inner .loggedout ul.links li:first-child a { background-color: var(--orange); text-transform: uppercase;  font-size: 105%; font-weight: bold; color: var(--white); padding: 5px 25px; border-radius: 25px; letter-spacing: 2px;}
.layoutheader_inner .loggedout ul.links li:last-child a { background-color: var(--purple); text-transform: uppercase;  font-size: 105%; font-weight: bold; color: var(--white); padding: 5px 20px; border-radius: 25px; letter-spacing: 2px;}
.layoutheader_inner .loggedin .links li a { background-color: var(--orange); text-transform: uppercase;  font-size: 105%; font-weight: bold; color: var(--white); padding: 5px 25px; border-radius: 25px; letter-spacing: 2px;}

.layoutheader_inner .shop_basketlink {margin-right: 20px;}
.layoutheader_inner .shop_basketlink a {display: flex;}
.layoutheader_inner .shop_basketlink a i {font-size: 140%; }
.layoutheader_inner .shop_basketlink a span {font-size: 120%; padding-left: 5px;}


/* Menu */

.nav_multilevel {padding: 15px; background-color: var(--lpurple);}
.nav_multilevel ul {display: flex; justify-content: center;  }
.nav_multilevel ul li {padding: 0 15px;}
.nav_multilevel ul>li:hover>a { color: var(--orange);}
.nav_multilevel ul li a { font-weight: bold; color: var(--black); font-size: 110%;}
.nav_multilevel .expand i {font-size: 100%; padding-left: 8px;}
.nav_multilevel.toggleon .level1>li .level2 {display:block; }
.nav_multilevel.toggleoff .level2 {display: none; position: absolute;  background-color: var(--lpurple);  margin-left: -15px; margin-top: 15px;min-width: 200px; box-shadow: rgba(0, 0, 0, 0.24) 0 10px 10px -14px;border-radius: 0 0 5px 5px; }
.nav_multilevel.toggleoff .level2 li {padding: 15px;}
.nav_multilevel.toggleoff .level2 li:hover a { color: var(--orange);}

.layouttopmenu i {font-size: 200%; font-weight: bold; color: var(--orange);}

.level2 {display: none;}

@media (min-width: 1001px) {
    .layouttopmenu .toggle {display: none;} 
    .layouttopmenu .btnorange {display: none;} 
    .layouttopmenu #menu10-3 {display: none;}
    .layouttopmenu .fa-user-large {display: none;}
}

@media (max-width: 1000px){
    .nav_multilevel {padding: 10px;}
    .layouttopmenu_inner {display: flex; justify-content: space-between; background-color: var(--lpurple); align-items: center;}
    .layouttopmenu_inner .toggle>.links>.link1>a { background-color: var(--orange); text-transform: uppercase;  font-size: 105%; font-weight: bold; color: var(--white); padding: 5px 25px; border-radius: 25px; letter-spacing: 2px; margin-right: 10px;}
    .layouttopmenu_inner .fa-bars {padding-left: 10px;}
    .layouttopmenu .toggleon .level1 {display:block;position: absolute;width: 100%;z-index: 99;top: 136px;right: 0; padding-left: 0;}
    .layouttopmenu .toggleon li{padding:  10px 0px 10px 20px;}
    .layouttopmenu .toggleon .level1>li { border-bottom: 1px solid var(--purple); background-color: var(--lpurple); }
    .layouttopmenu .toggleon .level1>li:first-child {border-top: 1px solid var(--purple); background-color: var(--lpurple);}
    .layouttopmenu .toggleon .level2>li a { padding: 10px 0px; font-weight: normal;}
    .layouttopmenu .toggleon .level1>li:last-child { box-shadow: rgba(0, 0, 0, 0.24) 0 8px 8px -4px;  }
    .layouttopmenu .toggleoff ul, .headerbtns{display:none;}
    .layoutheader_inner {justify-content: center;}
    .layoutheader_inner .shop_basketlink {margin: 0;}
    .layoutheader_inner .logo img {height: 70px;}

}



/* Footer */

.layoutfooter {background-color: var(--purple);color: var(--white);padding: 20px 10px 30px 10px;font-weight: light;font-size: 90%; }
.layoutfooter_inner {max-width: 1250px; margin: 0 auto;}
.layoutfooter_inner a {color: var(--white); font-weight: normal;}
.layoutfooter p {padding: 5px 0;}
.footertop .logo img {height: 80px; width: auto; margin-left: -5px; margin-bottom: 10px;}
.footertop .items {display: flex; justify-content: space-between; align-items: center;}
.footertop .footersocial ul {display: flex;}

.footerbottom .items {display: flex; justify-content: space-between;}
.footerbottom .rights {text-align: right;}

.footersocial i {font-size: 200%; color: var(--lpurple); padding-left: 10px;}
.rights a {color: var(--lpurple);}

@media (max-width: 425px) {
    .footertop .logo img {height: 60px;}
    .footertop .items {flex-direction: column-reverse;}
    .footertop .items .links { padding-left: 0; margin-bottom: 10px;}
    .footerbottom .items, .footerbottom .rights .content {flex-direction: column; text-align: center;}
}


/* Home */

.home {padding: 0;}
.home h2 {border-bottom: none;}
.mainbanner .util_textbox_inner {display: flex; background-color: var(--purple); height: 500px; text-align: center; justify-content: center;}
.mainbanner .imageleft {width: 35%; background-size: contain;}
.mainbanner .imageright { width: 35%; background-size: cover; position: relative; background-position: bottom left; }
.mainbanner .content  {width: 50%; color: var(--lpurple); text-align: center; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 0 30px;}
.mainbanner .content h2 {font-size: 300%; color: var(--lpurple); padding-top: 10px; }
.mainbanner .content h3 {font-size: 150%; color: var(--lpurple); margin-top: -10px;}
.mainbanner .content p {padding-top: 20px;}


.joinbanner {background-color: var(--lpurple);  display: flex; align-items: center; justify-content: center; min-height: 350px; background-position: right; background-size: 400px; padding-bottom: 30px; }
.joinbanner .util_textbox_inner {max-width: 80%;min-height: 250px;display: flex;align-items: center;}
.joinbanner .util_textbox_inner .content {line-height: 1.5; max-width: 60%;}
.joinbanner .util_textbox_inner .content h2 {font-size: 160%; color: var(--black);}
.joinbanner .util_textbox_inner .content .btnorange {padding-top: 10px;}

.homevents {max-width: 1030px; margin: 0 auto; padding: 30px;}
.homevents .titletxt, .homenews .titletxt {font-size: 160%; color: var(--black); font-weight: bold;}
.homevents .footerlinks, .homenews .footerlinks { padding: 30px 0; text-transform: uppercase;}
.homevents .footerlinks i, .homenews .footerlinks i {padding-right: 8px;}
.homevents ul {display: flex; padding-left: 0; gap: 10px; justify-content: flex-start; flex-wrap: wrap;}
.homevents ul li {border: 2px solid var(--lpurple); padding: 15px; border-radius: 15px; width: 300px; box-shadow: rgba(0, 0, 0, 0.24) 0 10px 10px -14px;}
.homevents ul li .name {min-height: 50px;}
.homevents ul li .name a {font-size: 110%; }
.homevents ul li .venue {padding-top: 10px;}
.homevents ul li .venue a {color: var(--black); font-weight: lighter; font-style: italic;}
.homevents ul li .date a {color: var(--black);  }
.homevents ul li .time {font-size: 95%;}

.homenews {background-color: var(--lpurple); padding: 20px 20px 50px 20px;}
.homenews .titletxt, .homenews .footerlinks {max-width: 1030px; margin: 0 auto; padding: 30px;}
.homenews .list {display: flex; max-width: 1030px; margin: 0 auto; padding: 0 30px; gap: 10px;justify-content: flex-start; flex-wrap: wrap;}
.homenews .list .article { background-color: var(--gray);  padding: 15px; border-radius: 15px; width: 300px;}
.homenews .list .article .created{font-weight: bold; padding-bottom: 10px;}
.homenews .list .article .headline {font-weight: bold; padding-bottom: 10px;}
.homenews .list .article .abstract {font-weight: normal; font-style: italic; }



@media (max-width: 1000px) {
    .mainbanner .imageright {display: none;}
    .mainbanner .imageleft {width: 30%;}
    .mainbanner .content {width: 70%;}
    .mainbanner,.mainbanner .imageleft, .mainbanner .imageright, .mainbanner .content  {min-height: 300px;}
    .homevents ul li, .homenews .list .article  {width: 100%; }
    .homenews .list {padding: 0;}
    .homenews .titletxt {padding-left: 0;}

}

@media (max-width: 550px) {
    .mainbanner .util_textbox_inner {flex-direction: column; text-align: center; align-items: center; height: 100%;}
    .mainbanner .imageleft {min-height: 100px;}
    .mainbanner .content {width: 100%;}
    .joinbanner { background-position: left; }
    .joinbanner .util_textbox_inner .content { max-width: 96%;}
    .homevents {padding: 10px;}

}


/* Login */
.log-in {display: flex;flex-direction: column;justify-content: center;align-items: center;margin: 0 auto;}
.log-in .pageheader { width: 100%;}
.log-in .components { max-width: 700px;width: 100%;text-align: center;background-color: var(--lpurple);border-radius: 15px;padding: 20px;box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);}

.log-in .fieldemail, .log-in .fieldpw {width: 250px; text-align: center; margin: 0 auto; padding-top: 20px; font-weight: bold; color: var(--purple); }
.log-in .fieldemail input, .log-in .fieldpw input {width: 250px; margin-top: 10px; background-color: var(--gray);}
.log-in .stayloggedin input {padding-top: 20px;}

.log-in .stayloggedin {display: flex; line-height: 2.8; padding: 10px; text-align: center; justify-content: center;}
.log-in .stayloggedin input[type="checkbox"] {margin-right: 10px; }
.log-in .logout {margin-top: 30px;}

.log-in .forgotpw {display: block; margin-top: 30px;}



.memb_account .form .field {margin: 20px 0;}


/* Form */
select, input[type="text"], textarea  {box-sizing: border-box; height: 30px; width: 100%;border: 2px solid var(--purple);background-color: var(--lpurple);padding: 15px 10px;font-family: 'OpenSansRegular', Arial, sans-serif; margin: 10px 0 0 0;}
select, input {font-size: 100%;padding: 5px;box-sizing: border-box;height: 40px;border-radius: 15px;font-family: 'OpenSansRegular', Arial, sans-serif;}
textarea {width: 100%;border-radius: 15px;font-family: 'OpenSansRegular', Arial, sans-serif;box-sizing: border-box;font-size: 100%;height: 80px;}
select:focus, input[type="text"]:focus, textarea:focus {outline: 2px solid var(--orange); border: none;}
.memb_account .row input {max-width: 400px; width: 100%;}

/* Register */

.input input, form select, form textarea {background-color: var(--gray);}
.register .form_register {max-width: 600px; margin: 0 auto ; background-color: var(--lpurple); padding: 10px;box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); border-radius: 15px; padding: 15px;}
.register .form_register form {max-width: 500px; margin: 0 auto;}
.register .form_register form .label {margin-bottom: 5px; color: var(--purple); font-weight: bold;}
.register .memb_account .text p:first-child {margin-bottom: 30px;}
.register .memb_account .text a { background-color: var(--purple); text-transform: uppercase;  font-size: 105%; font-weight: bold; color: var(--white); padding: 5px 20px; border-radius: 25px; letter-spacing: 2px; }
.register .memb_account .form_profile .label {padding-bottom: 0px; width: 100%; font-weight: bold; text-align: left;}
.register .form_password {margin: 0 auto; text-align: center; max-width: 500px;}
.register .form_password .label {font-weight: bold;}
.register .memb_account { text-align: center; }
.memb_account .text, .memb_account .errors {font-weight: bold; padding-top: 30px ;text-align: center;}



#fb-MembExtTitle2-div {margin-top: 20px !important;}


/* Profile */

.form_profile {max-width: 600px; margin: 0 auto;}
.form_profile #fb-MembExtTitle2-div  {border-top: 3px solid var(--purple); padding-top: 30px; margin-top: 40px;  }


/* Members area */
.membersarea .pageheader h1 {border: none;}
.membersarea .pagecontent_inner {text-align: center; border-bottom: 2px solid var(--lpurple); margin-bottom: 30px; }

.membersarea .accountstatus {background-color: var(--lpurple); margin-bottom: 50px; padding: 20px;}
.membersarea .accountstatus h2 {margin: 0px;}
.membersarea .accountstatus .memb_subscriptionstatus .buttons {margin-top: 20px;}
.membersarea .accountstatus .memb_subscriptionstatus .buttons a {background-color: var(--orange); text-transform: uppercase;  font-size: 105%; font-weight: bold; color: var(--white); padding: 5px 25px; border-radius: 25px; letter-spacing: 2px;}

.membersarea .details>.items {display: flex;}
.membersarea .accountdetails {padding-right: 30px ; border-right: 2px solid var(--purple);}
.membersarea .accountdetails, .membersarea .quicklinks {width: 49%;}
.membersarea .quicklinks {margin-left: 30px; font-weight: bold;}
.membersarea .accountdetails .items .nav_linklist>ul { margin-top: 20px; }
.membersarea .accountdetails .items .nav_linklist .links li {padding-bottom: 15px;}
.membersarea .accountdetails .items .nav_linklist .links i { margin-right: 10px;}
.membersarea .accountdetails .items .profile-info .field {padding-left: 10px;}
.membersarea .accountdetails .items .profile-info .field, .membersarea .accountdetails .items .profile-info .field .value {display: flex; align-items: center; min-height: 30px; flex-wrap: wrap;}
.membersarea .accountdetails .items .profile-info .field:nth-child(odd) {background-color: var(--lpurple);}
.membersarea .accountdetails .items .profile-info .field .label {min-width: 150px;font-weight: bold;color: var(--purple);}

.membersarea .nobookings .button {display: none;}


.membersarea .items .logout {margin: 30px 0 0 0px;}
.membersarea .items .logout a { background-color: var(--purple); text-transform: uppercase;  font-size: 105%; font-weight: bold; color: var(--white); padding: 5px 20px; border-radius: 25px; letter-spacing: 2px;}
.memb_subscriptionstatus .payment, .memb_subscriptionstatus .renewal, .memb_subscriptionstatus .buttons {display: none;}

.change-details {margin-top: 20px;}
.change-details li {margin-top: 10px;}
.change-details li i {margin-right: 6px;}

#fb-36-div::before { content: "Joint member details"; display: block; font-weight: 600; margin-bottom: 10px; font-size: 18px; text-align: start; margin-top: 50px; color: var(--purple); border-bottom: 2px solid var(--purple); padding-bottom: 10px;}
.event_membevents {margin-bottom: 10px;}


@media (max-width: 750px ) {
    .membersarea .details>.items {flex-direction: column;}
    .membersarea .details .accountdetails {order: 2;}
    .membersarea .details .quicklinks {order: 1;}
    .membersarea .accountdetails, .membersarea .quicklinks {width: 100%;}
    .membersarea .accountdetails {border-right: none;}
    .membersarea .quicklinks {margin-left: 0px;}
    .membersarea .accountdetails {padding-right: 0px }
    .membersarea .accountdetails .items .profile-info .field, .membersarea .accountdetails .items .profile-info .field .value { align-items: left ;}
    .membersarea .accountstatus {margin-bottom: 20px;}

}


@media (max-width: 500px ) {
    .membersarea .accountdetails .items .profile-info .field {flex-direction: column;}
    .membersarea .accountdetails .items .profile-info .field .label {margin-top: 10px;}
    .membersarea .accountdetails .items .profile-info .field, .membersarea .accountdetails .items .profile-info .field .value {align-items: start;}

}



/* About Us */

.findus img, .aboutus img {width: 100%;max-width: 400px;height: auto;margin-right: 30px; margin-bottom: 30px;}

@media (max-width: 600px) {
    .findus img {margin-right: 0;}
}


/* Projects */

.projects .util_textbox_inner {display: flex; flex-wrap: wrap; align-items: flex-start;}
.projects .util_textbox_inner h2 {width: 100%;}
.projects .util_textbox_inner .content {flex: 1;}
.projects .util_textbox_inner .content p:last-child a {background-color: var(--orange); color: var(--white); padding: 5px 15px 8px 15px; border-radius: 50px; }
.projects .imageleft img { max-width: 300px; height: auto; margin: 0 50px 20px 0;}



/* Monumental */

.monumental .util_textbox_inner {display: flex; flex-wrap: wrap; align-items: flex-start;}
.monumental .util_textbox_inner h2 {width: 100%;}
.monumental .util_textbox_inner .content {flex: 1; padding-right: 30px;}
.monumental .imageright img {max-width: 350px;width: 100%;height: auto;}
.monumental .imagebottom img {width: 100%; max-width: 1300px; height: auto; }
/* .monumental .util_textbox_inner .content p:last-child a {background-color: var(--orange); color: var(--white); padding: 5px 15px 8px 15px; border-radius: 50px; } */

@media(max-width: 720px) {
    .projects .util_textbox_inner {flex-direction: column;}
    .projects .imageright { margin: 0 auto;}
    .projects .imageright img {margin: 0 auto; }
    .monumental .util_textbox_inner .content {padding-right: 0;}
}

/* Members interest */
.interest ul {margin-left: 30px; padding-bottom: 20px;}
.interest ul li::marker {color: var(--purple);}
.interest ul li {list-style-type: disc; }

@media(max-width: 720px) {
    .interest ul {margin-left: 0;}
}

/* Events */
.events .pagecontent_inner {max-width: 1000px; margin: 0 auto;}
.events .event {margin-bottom: 40px;}
.events .event .date {float: left; }
.events .event .date::after {content: '|'; padding: 0 10px; color: var(--orange);}
.events .event .date a {font-weight: normal; }
.events .event .time {color: var(--orange);}
.events .event .name {border-bottom: 2px solid var(--lpurple); padding-bottom: 5px; margin-bottom: 10px;}
.events .event .name a {font-size: 120%;color: var(--purple);}
.events .event .abstract {padding-top: 10px;}

.events .event_list {margin: 20px auto;max-width: 800px;/* padding: 20px; */}
.events .event_list ul {padding-left: 0px;}
.events .event_list ul li  {border: 2px solid var(--lpurple); border-radius: 15px; box-shadow: 8px 8px 3px 0px rgba(97, 53, 139, 0.2); transition: transform 0.3s ease-in-out}
.events .event_list ul li:hover {transform: scale(1.01);}
.events .event_list ul li .name {background-color: var(--lpurple); padding: 15px; border-radius: 10px 10px 0 0;}
.events .event_list ul li .name, .events .event_list ul li .date, .events .event_list ul li .time, .events .event_list ul li .abstract {padding: 15px 0 15px 15px; }
.events .event_list ul li .abstract {padding-bottom: 20px;}



.event_eventpage {max-width: 1000px; margin: 0 auto;}
.event_eventpage .fieldemail {display: block; margin-top: 15px;}
.event_eventpage .fieldpw {margin-bottom: 20px; margin-top: 15px;}
.event_eventpage .abstract {display: none;}
.event_eventpage h1 {font-size: 140%; padding-bottom: 15px;  border-bottom: 2px solid var(--lpurple); margin: 30px 0 20px 0; color: var(--purple);}
.event_eventpage .date {font-weight: bold; color: var(--orange); padding-bottom: 10px;}
.event_eventpage .venue {padding-bottom: 10px; font-style: italic;}
.event_eventpage .article {padding-bottom: 30px;}
.event_eventpage .speakers h3 {margin-bottom: 20px;  border-bottom: 2px solid var(--lpurple); }
.event_eventpage .speaker h4 {padding-bottom: 10px; font-style: normal; }
.event_eventpage .bio {display: flex; font-style: italic;}
.event_eventpage .bio img {width: 150px; margin-right: 20px;}
.event_eventpage .image {max-height: 400px; width: auto; margin-bottom: 20px;}

.pastevents .pagecomponents_inner>.nav_linklist, .events .pagecomponents_inner>.nav_linklist {text-align: center; margin: 50px 0;}
.pastevents .pagecomponents_inner>.nav_linklist a, .events .pagecomponents_inner>.nav_linklist a {background-color: var(--orange);color: var(--white); padding: 5px 15px 8px 15px; border-radius: 50px; }
.pastevents .event_list>select {max-width: 80px; margin-bottom: 30px;}

.book fieldset {max-width: 400px;}
.book fieldset .formbuilder {margin-bottom: 20px;}
.book .items .item  {margin-top: 20px;}
.book .items .item .form-group {margin-bottom: 20px;}
.book .items .item input[type=submit] {margin-top: 20px;}
.book .removelink {margin-bottom: 10px;}

.book .help-block.description {display: none !important;}
.book .removelink {}

@media(max-width: 425px) {
    .event_eventpage .bio {display: block;}
    .event_eventpage .speaker h4 {margin-top: 10px;}
}


.event_membevents .event {background-color: var(--lpurple); padding: 10px;}
.event_membevents ul {display: flex; flex-direction: column; gap: 10px; margin-bottom: 15px;}
.event_membevents .event .time {font-weight: 300; padding-bottom: 10px; margin-top: 5px;}



/* Membership */
.shop_productlist ul {display: flex; flex-wrap: wrap; gap: 20px;}
.shop_productlist ul li {width: 250px; border: 2px solid var(--lpurple); border-radius: 15px; min-height: 200px; text-align: center; padding: 10px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); }
.shop_productlist .image img {width: 220px; height: auto;}
.shop_productlist .name {margin-top: 20px; color: var(--black);}
.shop_productlist .price {font-weight: bold; margin-top: 15px;}

@media(max-width: 559px) {
    .shop_productlist .image img {width: 180px;}
    .shop_productlist .name  {margin-top: 10px;}
    .shop_productlist ul li {width: 100%; min-height: 100px;}
}



/* Journals */
.journals .pagecomponents_inner {display: flex; flex-wrap: wrap; gap: 1%;}
.journals .pagecomponents_inner .util_textbox {width: 220px; border: 2px solid var(--lpurple); border-radius: 15px;  text-align: center; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); margin-bottom: 20px; }
.journals .pagecomponents_inner .util_textbox .util_textbox_inner {padding: 15px;}
.journals .pagecomponents_inner .util_textbox .imagetop {height: 130px; display: flex; align-items: center; justify-content: center}
.journals .pagecomponents_inner .util_textbox .imagetop img {height: 100px; width: auto; padding: 5px; max-width: 200px; }

.util_tabbed .ui-tabs-nav  { display: flex; flex-wrap: wrap; text-align: center; max-width: 1139px; }
.util_tabbed .ui-tabs-nav  li {  border: 2px solid var(--lpurple); width: 300px; margin: 10px auto; padding: 10px; border-radius: 15px; box-shadow: 8px 8px 3px 0px rgba(97, 53, 139, 0.2); }

.journals .feat_pdfbrowse .titletxt {text-align: center; margin-bottom: 0; border-bottom: 4px solid var(--purple);}
.journals .feat_pdfbrowse .results {display: flex; flex-wrap: wrap; gap: 1%; justify-content: space-evenly; background-color: var(--lpurple); padding: 50px 20px; }
.journals .feat_pdfbrowse .results li { box-shadow: 8px 8px 3px 0px rgba(97, 53, 139, 0.2); border-radius: 15px; padding: 20px; width: 235px; min-height: 350px;  margin-bottom: 40px; background-color: var(--white);  transition: transform 0.3s ease-in-out}
.journals .feat_pdfbrowse .results li:hover{transform: scale(1.05);}
.journals .feat_pdfbrowse .results .image {height: 270px; width: auto; background-size: contain; }
.journals .feat_pdfbrowse .results .name, .feat_pdfbrowse .results .link {padding-top: 10px; text-align: center; font-weight: bold; color: var(--purple); padding-top: 20px; transition: color 0.3s ease;}
.journals .feat_pdfbrowse .results .name:hover {color: var(--orange);}


/* Product page */
.shop_product .info .details, .shop_product .info .summary, .shop_product .info form, .shop_product .info .price, .shop_product .info .description {padding-left: 10px;}
.shop_product .info .image {margin-bottom: 30px;}
.shop_product .info .code, .shop_product .info .summary, .shop_product .info .price  {margin: 15px 0;}
.shop_product .info .code .label, .shop_product .info .price, .shop_product .info .quantity .label  {color: var(--purple); font-weight: bold;}
.shop_product .info .description {margin-top: 30px;}
.shop_product .info .quantity { display: flex; align-items: center;}
.shop_product .info .quantity .value { margin-left: 10px;}
.shop_product .info .quantity .value select {height: 35px;}
.shop_product .info .addtobasket {margin: 25px 0;}


/* Shop basket */
.shop_basket {background-color: var(--lpurple); padding: 20px; margin-top: 50px; }
.shop_basketpage table {width: 100%; padding: 20px 10px; background-color: var(--white); margin-bottom: 20px;}
.shop_basket th {padding: 5px;}
.shop_basket .price, .shop_basket .quantity, .shop_basket .total {text-align: end;}
.shop_basket td select {width: 55px;}
.shop_basket td {border-bottom: 1px solid var(--lpurple); border-top: 1px solid var(--lpurple); padding: 5px; vertical-align: middle; }
.shop_basket .message {font-weight: bold; padding: 0 0 20px 5px; color: var(--orange);}
.shop_basket .buttons {display: flex;gap: 20px; margin-top: 20px;}
.shop_basket .buttons .continueshopping { display: flex; align-items: center; }
.shop_basket .buttons input {margin: 0;}
.shop_basket>.confirm>.details>.billing>h2, .shop_basket>.confirm>.details>.contact>h2 {padding-bottom: 10px; margin-bottom: 5px; border-bottom: 1px solid var(--purple);}

.shop_basket #basketmodeform ul li>input {height: 12px;}
.shop_basket #basketmodeform ul li {line-height: 1.4;}
.shop_basket .checkout {max-width: 400px;margin: 0 auto;}
.shop_basket .checkout #basketloginform .formbuilder {margin: 20px 0;}
.shop_basket .checkout #basketloginform .formbuilder .form-group {margin-top: 20px;}
.shop_basket .checkout #basketloginform .formbuilder .label {color: var(--purple); font-weight: bold;}
.shop_basket .checkout .buttons .button { letter-spacing: 1px; cursor: pointer;padding: 10px 20px 10px 20px;border: none;background-color: var(--orange); font-family: 'OpenSansRegular', Arial, sans-serif;font-size: 105%;font-weight: bold;color: var(--white);border-radius: 25px;}
.shop_basket .label {font-weight: bold; color: var(--purple);}
.shop_basket .field_group>.label {text-align: center; font-size: 120%; padding-top: 20px;}
.shop_basket .field_group>.input .form-group {margin-top: 15px;}
.shop_basket .field_section {margin-top: 20px;}
.shop_basket .updateaccount .label {text-align: left; margin-bottom: 10px;}
.shop_basket #fb-SaveDetails-div {display: flex; align-items: center; flex-direction: row-reverse; justify-content: start; gap: 8px; margin-bottom: 10px; margin-top: 0;}
.shop_basket #fb-SaveDetails-div .label {padding-top: 10px; }


@media (max-width: 750px) {
   .shop_basket { overflow-x: auto;}
   .shop_basket table {min-width: 750px;}
   .shop_basket .buttons {justify-content: start;}
}


/* News */
.news .list_article .article { max-width: 800px; margin: 0 auto 25px auto; border-radius: 15px; border: 2px solid var(--lpurple); box-shadow: 8px 8px 3px 0px rgba(97, 53, 139, 0.2);transition: transform 0.3s ease-in-out;}
.news .list_article .article:hover{transform: scale(1.01);}
.news .list_article .article:hover .headline a {color: var(--orange);}
.news .list_article .article .created, .archive .list .article .created { margin-bottom: 10px; background-color: var(--lpurple); border-radius: 13px 13px 0 0 ; padding: 15px;}
.news .list_article .article .headline, .archive .list .article .headline {margin-bottom: 10px; padding: 5px 15px;}
.news .list_article .article .headline a, .archive .list .article .headline a {font-weight: bold; color: var(--purple);}
.news .list_article .article .abstract {font-weight: normal; font-style: italic; padding: 0px 15px 15px 15px; }
.news .nav_linklist>ul {max-width: 800px; margin: 0 auto; padding-right: 5px;}
.news .nav_linklist>ul>li {text-align: right; margin-bottom: 15px;}
.news .nav_linklist>ul>li> a, .archive .nav_linklist>ul>li> a {text-transform: uppercase;}
.news .nav_linklist>ul>li> a i {padding-right: 5px;}
.archive {max-width: 800px; margin: 0 auto;}
.archive .list .article { border-radius: 15px; margin: 20px 0; border: 2px solid var(--lpurple); box-shadow: 8px 8px 3px 0px rgba(97, 53, 139, 0.2);transition: transform 0.3s ease-in-out;}
.archive .list .article:hover {transform: scale(1.01); }
.archive .list .article:hover  .headline a {color: var(--orange);}
.archive .list_archive fieldset {text-align: center;}
.archive .list_archive select {max-width: 100px; margin: 0 auto;}
.archive .nav_linklist>ul>li> a i {padding-right: 5px;}
.std_newsarticlea .abstract {display: none;}
.std_newsarticlea .datetime {font-weight: bold; margin-bottom: 20px;}


/* Items of interest */


.interest .feat_pdfbrowse .titletxt {text-align: center; margin-bottom: 0; border-bottom: 4px solid var(--purple);}
.interest .feat_pdfbrowse .results {display: flex; flex-wrap: wrap; gap: 1%; justify-content: space-evenly; background-color: var(--lpurple); padding: 50px 20px; }
.interest .feat_pdfbrowse .results li { list-style: none; box-shadow: 8px 8px 3px 0px rgba(97, 53, 139, 0.2); border-radius: 15px; padding: 20px; width: 300px; min-height: 350px;  margin-bottom: 40px; background-color: var(--white);  transition: transform 0.3s ease-in-out}
.interest .feat_pdfbrowse .results li:hover {transform: scale(1.02);}
.interest .feat_pdfbrowse .results li:hover .name {color: var(--orange);}
.interest .feat_pdfbrowse .results .image {height: 250px; width: auto; background-size: contain; }
.interest .feat_pdfbrowse .results .name, .feat_pdfbrowse .results .link {padding-bottom: 20px; text-align: center; font-weight: bold; color: var(--purple); padding-top: 20px; transition: color 0.3s ease;}


.book .form-group {margin-bottom: 16px;}



/* Talks list */
.talks-list .article,
.talks .article {
  background: #fff;
  border: 2px solid var(--lpurple);
  border-radius: 12px;
  padding: 1.25rem;
  cursor: pointer;
  box-shadow: 8px 8px 3px 0px rgba(97, 53, 139, 0.2);
  transition: transform 0.3s ease-in-out;
  margin-bottom: 30px;
}

.talks-list .article:hover,
.talks .article:hover {
  transform: scale(1.01);
}

.talks-list .article .headline,
.talks .article .headline {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

.talks-list .article .headline a,
.talks .article .headline a {
  color: var(--purple);
  text-decoration: none;
}

.talks-list .article .headline a:hover,
.talks .article .headline a:hover {
  text-decoration: underline;
}

.talks-list .article .created,
.talks .article .created {
  font-size: 13px;
  color: #999;
  margin: 0 0 10px;
}

.talks-list .article .abstract,
.talks .article .abstract {
  font-size: 15px;
  font-weight: 400;
  color: #666;
  line-height: 1.6;
  margin: 0 0 1rem;
}

.talks-list .article .link,
.talks .article .link {
  margin: 0;
  padding-top: 4px;
}

.talks-list .article .link a,
.talks .article .link a {
  font-size: 15px;
  font-weight: 500;
  color: var(--orange);
  text-decoration: none;
}

.talks-list .article .link a:hover,
.talks .article .link a:hover {
  text-decoration: underline;
}

.talks-list .article .divider,
.talks .article .divider {
  display: none;
}

@media (max-width: 520px) {
  .talks-list .article,
  .talks .article {
    padding: 1rem;
  }

  .talks-list .article .headline,
  .talks .article .headline {
    font-size: 16px;
  }
}


/* Talks page */
.talks-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 1.5rem 1rem;
}
.talks-page .image {display: none;}
.talks-page h1.headline {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--purple);
  margin: 0 0 0.5rem;
}

.talks-page .created.datetime {
  font-size: 13px;
  color: #999;
  margin: 0 0 1.5rem;
}

.talks-page .image {
  margin: 0 0 1.5rem;
}

.talks-page .image img {
  display: block;
  max-width: 300px;
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.talks-page h2.abstract {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--purple);
  border-left: 3px solid var(--lpurple);
  padding: 0.5rem 0 0.5rem 1rem;
  margin: 0 0 1.5rem;
}

.talks-page .article.richtextcontent {
  font-size: 15px;
  line-height: 1.8;
  color: #444;
  margin: 0 0 2rem;
}

.talks-page .article.richtextcontent p {
  margin: 0 0 1rem;
}

/* Video section */
.talks-page .videotalk {
  margin: 0 0 2rem;
}

.talks-page .videotalk .video {
  background: #f9f7fc;
  border: 2px solid var(--lpurple);
  border-radius: 12px;
  padding: 1.25rem;
}

.talks-page .videotalk .video h2.titletxt {
  font-size: 18px;
  font-weight: 500;
  color: var(--purple);
  margin: 0 0 0.5rem;
}

.talks-page .videotalk .video .introduction {
  font-size: 14px;
  color: #666;
  margin: 0 0 1rem;
}

.talks-page .videotalk .video .introduction p {
  margin: 0;
}

.talks-page .videotalk .video .player video {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}

/* Attachments / extra resources */

.talks-page .talkatt {
  display: none;
}

.talks-page .talkatt:has(a) {
  display: block;
}

.talks-page .talkatt {
  margin: 0 0 2rem;
}

.talks-page .talkatt .nav_linklist {
  background: #f9f7fc;
  border: 2px solid var(--lpurple);
  border-radius: 12px;
  padding: 1.25rem;
}

.talks-page .talkatt h2.titletxt {
  font-size: 18px;
  font-weight: 500;
  color: var(--purple);
  margin: 0 0 0.5rem;
}

.talks-page .talkatt .introduction {
  font-size: 14px;
  color: #666;
  margin: 0 0 1rem;
  line-height: 1.6;
}

.talks-page .talkatt .introduction p {
  margin: 0;
}

.talks-page .talkatt ul.links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.talks-page .talkatt ul.links li.link {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 0.5px solid var(--lpurple);
  border-radius: 8px;
  padding: 10px 14px;
  transition: border-color 0.15s;
}

.talks-page .talkatt ul.links li.link:hover {
  border-color: var(--purple);
}

.talks-page .talkatt ul.links li.link .image {
  display: none;
}

.talks-page .talkatt ul.links li.link .name a {
  font-size: 14px;
  font-weight: 500;
  color: var(--orange);
  text-decoration: none;
}

.talks-page .talkatt ul.links li.link .name a:hover {
  text-decoration: underline;
}

.talks-page .comments {
  display: none;
}

@media (max-width: 520px) {
  .talks-page h1.headline {
    font-size: 22px;
  }

  .talks-page h2.abstract {
    font-size: 16px;
  }
  

  .talks-page .image img {
    max-width: 100%;
  }
}
