/* Categories Images Frontend Styles */

/* Grid Layout */
.zci-taxonomy-list.zci-grid {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(var(--zci-columns, 3), 1fr);
    list-style: none;
    /* Remove bullets */
    padding: 0;
    margin: 0;
}

.zci-taxonomy-list.zci-grid .zci-item {
    text-align: center;
    list-style: none;
    /* Ensure no bullets on items */
    margin: 0;
}

.zci-taxonomy-list.zci-grid .zci-image {
    display: block;
    margin-bottom: 10px;
    overflow: hidden;
    /* For hover effect */
    border-radius: 8px;
    /* Nicer corners */
}

.zci-taxonomy-list.zci-grid .zci-image img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    transition: transform 0.3s ease;
    /* Smooth hover */
}

.zci-taxonomy-list.zci-grid .zci-image img:hover {
    transform: scale(1.05);
    /* Subtle zoom effect */
}

/* Inline Layout */
.zci-taxonomy-list.zci-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.zci-taxonomy-list.zci-inline .zci-item {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0;
}

/* List Layout (Default) */
.zci-taxonomy-list.zci-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.zci-taxonomy-list.zci-list .zci-item {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    gap: 10px;
}

/* Common */
.zci-term-name {
    display: block;
    font-weight: bold;
    margin-top: 5px;
    color: inherit;
    text-decoration: none;
}

.zci-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.zci-term-count {
    display: inline-block;
    background: #f0f0f1;
    border-radius: 10px;
    padding: 2px 8px;
    font-size: 0.8em;
    margin-left: 5px;
    vertical-align: middle;
}.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	word-wrap: normal !important;
}

.wpcf7 .hidden-fields-container {
	display: none;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 0.2em 1em;
	border: 2px solid #00a0d2; /* Blue */
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28; /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #ffb900; /* Yellow */
}

.wpcf7-form-control-wrap {
	position: relative;
}

.wpcf7-not-valid-tip {
	color: #dc3232; /* Red */
	font-size: 1em;
	font-weight: normal;
	display: block;
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
	position: relative;
	top: -2ex;
	left: 1em;
	z-index: 100;
	border: 1px solid #dc3232;
	background: #fff;
	padding: .2em .8em;
	width: 24em;
}

.wpcf7-list-item {
	display: inline-block;
	margin: 0 0 0 1em;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
	content: " ";
}

.wpcf7-spinner {
	visibility: hidden;
	display: inline-block;
	background-color: #23282d; /* Dark Gray 800 */
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 0 24px;
	position: relative;
}

form.submitting .wpcf7-spinner {
	visibility: visible;
}

.wpcf7-spinner::before {
	content: '';
	position: absolute;
	background-color: #fbfbfc; /* Light Gray 100 */
	top: 4px;
	left: 4px;
	width: 6px;
	height: 6px;
	border: none;
	border-radius: 100%;
	transform-origin: 8px 8px;
	animation-name: spin;
	animation-duration: 1000ms;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
	.wpcf7-spinner::before {
		animation-name: blink;
		animation-duration: 2000ms;
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes blink {
	from {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

.wpcf7 [inert] {
	opacity: 0.5;
}

.wpcf7 input[type="file"] {
	cursor: pointer;
}

.wpcf7 input[type="file"]:disabled {
	cursor: default;
}

.wpcf7 .wpcf7-submit:disabled {
	cursor: not-allowed;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
	direction: ltr;
}

.wpcf7-reflection > output {
	display: list-item;
	list-style: none;
}

.wpcf7-reflection > output[hidden] {
	display: none;
}/*
Theme Name: 21 Plus
Author: Caractacus Downes, Bolt IT
Version: 2020.1
Text Domain: twentyoneplus

21 Plus WordPress Theme © 2020
*/;.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	box-sizing: border-box;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
	box-sizing: border-box;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}/* CSS Document */

.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

.cleardiv {
	border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Images - over-riding built in WordPRess classes */

.wp-block-image .size-full, .wp-block-image.size-full {
	max-width: 100%;
}

.wp-block-image .size-large, .wp-block-image.size-large {
	max-width: 50%;
}

.wp-block-image .size-medium, .wp-block-image.size-medium {
	max-width: 33%;
}

.wp-block-image figure img, .wp-block-image img  {
	width: 100%;
	height: auto;
}

blockquote, q {
	margin: 1em 0;
	border-left: solid 3px rgb(237,143,32);
    padding-left: 1em;
}

blockquote p, q p {
    quotes: "“" "”";
}

blockquote p:first-of-type:before, q p:first-of-type:before {
    content: open-quote;
    font-size: 3em;
    line-height: 0.25em;
    vertical-align: text-bottom;
    position: relative;
    top: 0.2em;
    padding-right: 0.1em;
	color: rgb(237,143,32);
}

blockquote p:last-of-type:after, q p:last-of-type:after {
    content: close-quote;
	font-size: 3em;
    line-height: 0.25em;
    vertical-align: text-bottom;
    position: relative;
    top: 0.2em;
    padding-left: 0.1em;
	color: rgb(237,143,32);
}

@media only screen and (max-width: 767px){.wp-block-image .alignright, .wp-block-image .alignleft, .wp-block-image.alignright, .wp-block-image.alignleft {
		float: none;
		margin: 0;
	}
	
	.wp-block-image .size-full, .wp-block-image.size-full {
		max-width: 100%;
	}
	
	.wp-block-image .size-large, .wp-block-image.size-large {
		max-width: 100%;
	}

	.wp-block-image .size-medium, .wp-block-image.size-medium {
		max-width: 100%;
	}}

/* Structure */

#divWrapper {
	position: relative;
	/*width: 100%;*/
	min-height: 100%;
}

#headerMain {
	position: fixed;
    left: 0;
    top: 0;
    right: 0;
	z-index: 1000;
	display: flex;
	align-items: flex-start;
	padding: 10px;
	background-color: rgba(255,255,255,0);
	transition: all 0.5s;
	/*border-bottom: solid 1px rgb(237,143,32);*/
}

#divLogo {
	flex: initial;
	width: 160px;
    height: 160px;
	/*background-image: url('../logo/21-plus-logo-03.svg');*/
	background-image: url(/s/img/wp-content/themes/21plus/assets/logo/21-plus-logo-03.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	transition: all 1s;
}

#navTop {
	flex: 1;
	text-align: right;
	position: relative;
	height: 20px;
	padding: 10px;
}

#navMobile {
	display: none;
	position: absolute;
    right: 20px;
    top: 20px;
    font-size: 28px;
    color: rgb(237,143,32);
}

#navTop i.fa {
	display: none;
	position: absolute;
    right: 20px;
    top: 20px;
    font-size: 28px;
    color: rgb(237,143,32);
}

#divHero {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 400px;
	background-color: rgba(40,40,40,0.2);
	/*background-image: url(../images/test-banner-03.jpg);*/
}

body.home #divHero {
	padding-bottom: 600px;
}

.background-fix {
    background-size: cover;
    background-position: center center;
    box-shadow: inset 0 0 0 1000px rgba(0,0,0,0.3);
}

#divHeroSlider {
	position: absolute;
    width: 100%;
    height: 100%;
	top: 0px;
}

.divSliderImage {
	position: absolute;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover;
	box-shadow: inset 0 0 0 1000px rgba(0,0,0,0.3);
	opacity: 0;
}

.divSliderImage.this {
	opacity: 1;
}

.divSliderImage.next {
	
}

#divHeroMessage {
	position: absolute;
    /*top: 40%;*/
	bottom: 1em;
    width: 100%;
	color: white;
    text-align: center;
}

#divHeroMessage h1 {
	color: inherit;
    margin-bottom: 0;
	line-height: 1.1;
}

#divHeroMessage p {
	width: 500px;
    max-width: 90%;
    margin: 0 auto;
}

#divHeroMessage a {
	color: white;
    text-decoration: none;
    padding: 10px 20px;
    display: inline-block;
    background-color: rgb(237,143,32);
    border-radius: 5px;
    margin: 20px;
}

#divContentWrapper {
	width: 1200px;
	max-width: 95%;
	margin: 3em auto;
}

#divContentWrapper > * {
	padding : 1em 0;
	border-bottom: solid 1px rgb(237,143,32);
	overflow-x: hidden;
}

#divContentWrapper > section:last-of-type {
	border-bottom: none;
}

#divContentWrapper > *:last-child {
	border-bottom: none;
}

body.home #divContentWrapper .breadcrumb {
	display: none;
}

#divContentWrapper .breadcrumb {
	font-size: 0.8em;
	/*border: none;*/
	/*padding: 0;*/
	border-bottom: solid 1px rgb(237,143,32);
	padding: 0 0 0.5em 0;
}

#divContentWrapper .breadcrumb a {
	text-decoration: none;
	color: inherit;
	border-bottom: solid 1px rgba(79,89,117,0);
	transition: border 0.3s;
}

#divContentWrapper .breadcrumb a:hover {
	border-bottom: solid 1px rgba(79,89,117,1);
}

#divContentWrapper .breadcrumb .seprater {
	margin: 0 0.4em;
}

#divContentWrapper .breadcrumb .seprater:before {
	content: "/";
}

#secAlert {
	border: none;
}

.divAlert {
	padding: 1em;
    border: solid 3px rgb(200,40,40);
    border-radius: 10px;
	margin: 0 0 1em 0;
}

.divAlert:last-child {
	margin: 0;
}

.divAlert h3 {
	color: rgb(200,40,40);
}

#secNews .divNewsImage {
	float: right;
	width: 200px;
	height: 200px;
	margin: 0 0 10px 10px;
	background-size: cover;
	background-position: center center;
}

#secCalendar li {
	padding: 0.25em 0;
    border-bottom: solid 1px rgb(200,200,200);
}

#secCalendar li:last-child {
	border-bottom: none;
}

#secCalendar li p {
	margin: 0.2em 0;
}

#secCalendar li p.pDate {
	/*font-weight: bold;*/
}

#secCalendar li p span {
	font-family: 'Libre Franklin', sans-serif;
    font-size: 1.4em;
	font-weight: bold;
	margin-right: 1em;
    color: rgb(237,143,32);
}

#secBlocks {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}

#secBlocks > a {
	position: relative;
	flex: initial;
    width: 31%;
    min-height: 150px;
    color: white;
    text-decoration: none;
    line-height: 100px;
    border: solid 1px rgb(237,143,32);
	border-radius: 3px;
    margin: 1em 0;
    text-align: center;
	padding: 0.5em;
	overflow: hidden;
}

#secBlocks > a h5 {
	color: white;
    text-shadow: 0 0 5px rgb(40,40,40);
}

#secBlocks > a p {
	color: white;
    opacity: 0;
	transition: opacity 0.5s;
}

#secBlocks > a > * {
	position: relative;
}

#secBlocks .divBlockImage {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(120,120,120);
	background-position: center center;
	background-size: cover;
	box-shadow: inset 0 0 0 1000px rgba(0,0,0,0);
	transition: transform 5s, box-shadow 0.5s;
	transform: scale(1, 1);
	transform-origin: center center;
}

#secBlocks > a:hover .divBlockImage, #secBlocks > a.hover .divBlockImage {
	box-shadow: inset 0 0 0 1000px rgba(0,0,0,0.4);
	transform: scale(1.2, 1.2);
}

#secBlocks > a:hover p, #secBlocks > a.hover p {
	opacity: 1;
}

#footerMain {
	background-color: rgb(80,80,80);
	color: rgb(240,240,240);
	padding: 1px;
	margin-top: 1.5em;
}

#footerMain > section {
margin: 0 auto;
    padding: 10px 0;
    border-top: solid 1px rgb(100,100,100);
}

#secFooterContactForm {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#secFooterContactForm h4 {
	text-align: right;
	padding-right: 1em;
	padding-left: 1em;
}

#secFooterContactForm > * {
	flex: initial;
	max-width: 90%;
	/*width: 40%;*/
}

#frmContact {
	width: 400px;
    max-width: 95%;
}

#secFooterContactForm input, #secFooterContactForm textarea {
	display: block;
	width: 400px;
	max-width: 100%;
    padding: 0.5em;
    box-sizing: border-box;
    border: solid 1px rgb(200,200,200);
    border-radius: 3px;
	margin-bottom: 10px;
}

#secFooterContactForm select {
	display: block;
    width: 400px;
    max-width: 100%;
    padding: 0.5em 0.2em;
    box-sizing: border-box;
    border: solid 1px rgb(200,200,200);
    border-radius: 3px;
    margin-bottom: 10px;
}

#secFooterContactForm input[type=submit] {
	width: auto;
	display: inline-block;
}

#secFooterContactForm textarea {
	height: 100px;
}

#secFooterContactForm div.wpcf7-response-output {
	border-width: 1px !important;
	border-radius: 5px;
    padding: 0.5em;
	margin: 0;
	width: 400px;
    max-width: 100%;
    line-height: 1.25;
}

#secFooterLinks ul {
	text-align: center;
}

#secFooterLinks li {
	display: inline-block;
    margin: 0 0.5em;
    font-size: 1.8em;
}

#secFooterLinks a {
	color: rgb(255,255,255);
	text-decoration: none;
	transition: all 0.3s;
	border: solid 1px rgba(237,143,32,0);    
	border-radius: 5px;
    width: 45px;
    height: 45px;
    display: inline-block;
}

#secFooterLinks a .fa {
	vertical-align: middle;
}

#secFooterLinks a:hover {
	border: solid 1px rgba(237,143,32,1);
	color: rgb(237,143,32);
}

.divFooterMenu {
	font-size: 0.8em;
}

.divFooterMenu ul {
	list-style: none;
	padding-left: 0;
}

.divFooterMenu > ul {
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: wrap;
	margin: 1em 0;
}

.divFooterMenu > ul > li {
	width: 20%;
	margin: 0;
}

.divFooterMenu a {
	color: rgb(255,255,255);
	text-decoration: none;
	font-size: 0.85em;
}

.divFooterMenu > ul ul > li {
	margin: 0.2em 0;
}

#secFooterMenu ul {
	list-style: none;
	padding-left: 0;
}

#secFooterMenu > ul {
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: wrap;
}

#secFooterMenu > ul > li {
	width: 20%;
}

#secFooterMenu a {
	color: rgb(255,255,255);
	text-decoration: none;
	font-size: 0.85em;
}

#secFooterCopyright {
	text-align: center;
	font-size: 0.7em;
}

#secFooterCopyright .footerBreak {
	
}

#secFooterCopyright .footerBreak:after {
	content: "|";
}

/* Sidebar */

.widget-area ul {
	list-style: none;
	padding-left: 0;
}

/* Blog pages */

#divContentWithSidebar {
	display: flex;
}

.artEntry {
	border-bottom: solid 1px darkorange;
	padding: 1em 0;
}

.artEntry:last-child {
	border-bottom: none;
}

.entryMeta {
	margin: 1em 0 0.5em 0;
}

.entryThumb {
	width: 500px;
    height: 300px;
	background-size: cover;
	background-position: center center;
}

.entryUrl {
	display: block;
	text-align: right;
	padding-right: 1em;
	border-bottom: none;
	font-size: 1.6em;
}

.entryUrl:hover {
	border-bottom: none;
}

#secMain {
	flex-grow: 1;
}

#secSidebar {
	margin-left: 2em;
    width: 250px;
    flex-shrink: 0;
}

#frmSearch #search {
	width: 90%;
	max-width: 250px;
}


/* Navigation */

/*
#navTop > ul {
	line-height: 20px;
	font-size: 13px;
}

#navTop > ul > li {
	display: inline-block;
	vertical-align: top;
	margin-left: 10px;
}

#navTop > ul > ul {
	position: absolute;
    right: 0;
	height: 0;
	width: auto;
	overflow: hidden;
	transition: height 0.3s;
}

#navTop > ul > ul > li {
	margin: 0.2em 0;
}

#navTop > ul > li:hover > ul {
	height: auto;
}

#navTop a { 
	color: rgb(240,240,240);
	text-decoration: none;
	transition: color 0.5s;
	white-space: nowrap;
}

#navTop a:hover {
	color: rgb(255,255,255);
}
*/


.divMainMenu ul {
	line-height: 20px;
	font-size: 13px;
}

.divMainMenu > ul > li {
	position: relative;
	display: inline-block;
	vertical-align: top;
	margin-left: 10px;
	margin: 0;
}

.divMainMenu > ul li > a {
	display: inline-block;
	padding: 0.5em;
	border-radius: 5px;
}

.divMainMenu ul ul {
	list-style: none;
	padding-left: 0px;
	position: absolute;
	right: 0;
	height: 0;
	width: auto;
	overflow: hidden;
	transition: height 0.3s;
}

.divMainMenu a { 
	color: rgb(240,240,240);
	text-decoration: none;
	transition: color 0.5s;
	border-bottom: none;
	white-space: nowrap;
}

.divMainMenu a:hover {
	/*color: rgb(255,255,255);*/
	color: rgb(237,143,32);
	border-bottom: none;
}

.divMainMenu li.current_page_item > a {
	background-color: rgb(237,143,32);
}

.divMainMenu li.current_page_item:hover > a {
	color: inherit;
}

.divMainMenu > ul ul > li {
	/*margin: 3px 0;*/
	margin: 0;
}

.divMainMenu > ul > li:hover > ul {
	height: auto;
}

#headerMain.sticky {
	background-color: rgb(255,255,255);
}

#headerMain.sticky #divLogoWrapper {
	width: 60px;
}

#headerMain.sticky #divLogo {
	width: 60px;
	height: 60px;
}

#headerMain.sticky .divMainMenu a {
	color: rgb(79,89,117);
}

#headerMain.sticky .divMainMenu a:hover {
	color: rgb(237,143,32);
}

#headerMain.sticky .divMainMenu li.current_page_item:hover > a {
	color: inherit;
}

#headerMain.sticky .divMainMenu > ul ul {
	background-color: white;
    border-radius: 5px;
}

#headerMain.sticky .divMainMenu > ul > li:hover > ul {
	border: solid 1px rgba(40,40,40,0.2);
}

#headerMain.sticky .divMainMenu > ul ul li > a {
	background-color: rgb(255,255,255);
	/*border: solid 1px rgba(79,89,117, 0.2);*/
}

#headerMain.sticky .divMainMenu > ul ul li > a:hover {
	color: rgb(237,143,32);
}


@media only screen and (max-width: 1000px){#divHero {
		padding-bottom: 300px;
	}
	
	body.home #divHero {
		padding-bottom: 400px;
	}	
	
	#divLogo {
		width: 120px;
		height: 120px;
	}
	
	#divContentWrapper {
		max-width: 100%;
		margin: 1em auto 0 auto;
	}
	
	#divContentWrapper > section, #divContentWrapper > div {
		max-width: 90%;
		margin: auto;
	}
	
	#secBlocks > a {
    	width: 48%;
	}
	
	.divFooterMenu > ul > li {
		width: 40%;
	}
	
	#secFooterMenu > ul > li {
		width: 40%;
	}}


@media only screen and (max-width: 767px){/*
	#divLogo {
		width: 80px;
		height: 80px;
	}
	*/
	
	#divHero {
		/*padding-bottom: 250px;*/
		padding-bottom: 0;
		height: auto;
		padding-top: 80px;
	}
	
	
	body.home #divHero {
		/*padding-bottom: 400px;*/
		padding-bottom: 0;
	}
	
	
	#divHero.background-fix {
		/*background-position: center right;*/
	}
	
	#divLogo {
		width: 80px;
		height: 80px;
	}
	
	#divHeroMessage {
		position: relative;
		bottom: 0;
	}
	
	#divHeroMessage h1 {
		font-size: 2.6em;
    	padding: 0.5em 0;
	}
	
	#navTop {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		padding: 0;
		background-color: rgba(255,255,255,0.9);
		height: 0;
		overflow: hidden;
		transition: height 0.5s;
		text-align: left;
	}
	
	#navTop i.fa {
		display: block;	
	}
	
	#navTop.show {
		height: 100%;	
	}
	
	#navTop > ul {
		font-size: 1.5em;
		line-height: 1.5em;
		padding-top: 3em;
		padding-left: 2em;
	}
	
	.divMainMenu > ul {
		padding: 0;
		width: 75%;
		margin: 2em auto 0 auto;
	}

	.divMainMenu > ul > li {
		display: block;
	}
	
	#navTop ul ul {
		width: auto;
		height: auto;
		position: relative;
		padding-left: 20px;
	}

	.divMainMenu > ul li > a {
		padding: 0.15em 0.5em;
	}

	.divMainMenu ul ul {
		list-style: none;
		padding-left: 0px;
		position: absolute;
		height: 0;
		width: 0;
		overflow: hidden;
	}

	.divMainMenu a { 
		/*color: rgb(160,160,160);*/
		/*color: rgb(132,149,196);*/
		/*color: rgb(157,161,171);*/
		color: rgb(240,240,240);
		text-decoration: none;
		transition: color 0.5s;
		border-bottom: none;
	}

	.divMainMenu a:hover {
		/*color: rgb(40,40,40);*/
		/*color: rgb(79,89,117);*/
		color: rgb(255,255,255);
		border-bottom: none;
	}
	
	.divMainMenu li.current_page_item > a {
		background-color: transparent !important;
		border-bottom: solid 2px rgb(237,143,32);
		border-radius: unset;
	}

	.divMainMenu li:hover > a {
		background-color: transparent !important;
		border-bottom: solid 2px rgb(237,143,32);
		border-radius: unset;
	}
	
	#headerMain.sticky .divMainMenu > ul ul li > a {
		background-color: transparent;
		border: none;
	}

	#navTop > ul > li {
		display: block;
	}
	
	#navTop a {
		/*color: rgb(80,80,80);*/
		color: rgb(79,89,117);
	}
	
	#navTop a:hover {
		/*color: rgb(80,80,80);*/
		color: inherit;
	}
	
	#navMobile {
		display: block;
	}
	
	#secBlocks {
		justify-content: center;
	}
	
	#secBlocks > a {
    	width: 90%;
	}}

@media only screen and (max-width: 550px){.divFooterMenu > ul > li {
		width: 80%;
	}
	
	#secFooterMenu > ul > li {
		width: 80%;
	}
	
	#secFooterCopyright .footerBreak {
		display: block;
	}

	#secFooterCopyright .footerBreak:after {
		content: "";
	}}


/* Display */

/*

font-family: 'Cormorant Garamond', serif;
font-family: 'Proza Libre', sans-serif;
font-family: 'Libre Franklin', sans-serif;
font-family: 'Libre Baskerville', serif;
font-family: 'Trirong', serif;
font-family: 'Rubik', sans-serif;
font-family: 'Work Sans', sans-serif;
font-family: 'Taviraj', serif;
font-family: 'Eczar', serif;
font-family: 'Gentium Basic', serif;

*/

h1, h2, h3, h4, h5, h6 {
	font-family: 'Libre Franklin', sans-serif;
	line-height: 1.5;
	color: rgb(237,143,32);
} 

h1 {
	font-size: 4em;
    font-weight: bold;
	margin: 5px 0 0.5em 0;
}

h2 {
	font-size: 2.6em;
    font-weight: bold;
	margin: 5px 0 0.5em 0;
}

h3 {
	font-size: 2.2em;
	font-weight: bold;
	margin: 5px 0 0.5em 0;
}

h4 {
	font-size: 1.8em;
	font-weight: bold;
	margin: 5px 0 0.5em 0;
}

h5 {
	font-size: 1.5em;
	margin: 5px 0 0.5em 0;
}

h6 {
	font-size: 1.2em;
	margin: 5px 0 0.5em 0;
}

p {
	font-size: 1em;
	/*margin: 5px 0 1em 0;*/
	margin: 0.5em 0;
	line-height: 1.5;
}

ul, ol {
	list-style: disc;
    padding-left: 30px;
}

li {
	margin: 1em 0;
	line-height: 1.5;
}

strong {
	font-weight: 600;
}


body, input, select, textarea {
	font-family: 'Libre Baskerville', serif;
	/*color: rgb(100,100,100);*/
	color: rgb(79,89,117);
}

a {
	color: rgb(237,143,32);
	text-decoration: none;
	border-bottom: solid 1px rgba(237,143,32, 0);
	transition: border-bottom 0.3s;
}

a:hover {
	border-bottom: solid 1px rgba(237,143,32, 1);
}

.h2Category {
	border-bottom: solid 1px rgb(237,143,32);
}

/* Common display styles */

.secFlexImageRightWrapper {
	display: flex;
    justify-content: space-between;
}

.secFlexImageRightWrapper .secFlexImage {
	flex-shrink: 0;
	width: 40%;
    height: 0;
    padding-bottom: 25%;
    background-size: cover;
    background-position: center center;
	margin: 0 0 0 1em;
}

@media only screen and (max-width: 767px){.secFlexImageRightWrapper {
		/*display: block;*/
		flex-flow: column-reverse;
	}
	
	.secFlexImageRightWrapper .secFlexImage {
		width: 70%;
		padding-bottom: 40%;
		margin: 0 0 1em 0;
	}}

@media only screen and (max-width: 550px){.secFlexImageRightWrapper .secFlexImage {
		width: auto;
		padding-bottom: 40%;
	}}





/* Person Index */

.secPerson {
	display: flex;
	margin: 1em 0;
}

.divPersonPicture {
	width: 200px;
    height: 200px;
    background-size: cover;
    background-position: center center;
	border: solid 1px rgba(40,40,40,0.2);
    border-radius: 50%;
	flex-shrink: 0;
	margin-right: 1em;
}

@media only screen and (max-width: 550px){.secPerson {
		display: block;	
	}
	
	.divPersonPicture {
		margin: 2em auto 0 auto;
	}}

/* Child Page Index */

.secPageIndex {
	display: flex;
	margin: 1em 0;
	align-items: center;
}

.secPageIndex h3 {
	width: 30%;
	margin-right: 10px;
}

.secPageIndex p {
	width: 60%;
	margin-right: 10px;
}

.secPageIndex a {
	color: rgb(237,143,32);
	border: 0;
}

.secPageIndex i.fa {
	font-size: 2em;
	margin-bottom: 0.5em;
}

@media only screen and (max-width: 550px){.secPageIndex {
		display: block;	
	}
	
	.secPageIndex h3 {
		width: auto;
		margin-right: 10px;
	}

	.secPageIndex p {
		width: auto;
		margin-right: 10px;
	}
	
	.secPageIndex a {
		display: block;
		height: 2em;
		text-align: right;
		padding-right: 1em;
	}}

/* Events */

.secEvent {
	display: flex;
    justify-content: space-between;
}

.divEventImage {
	width: 40%;
    height: 0;
    padding-bottom: 25%;
    background-size: cover;
    background-position: center center;
	margin: 0 0 1em 1em;
}

.pEventDate {
	font-weight: 600;
}

.pEventLocation {
	font-style: italic;
}

@media only screen and (max-width: 767px){.secEvent {
		/*display: block;*/
		flex-flow: column-reverse;
	}
	
	.divEventImage {
		width: 70%;
		padding-bottom: 40%;
		margin-left: 0;
	}}

@media only screen and (max-width: 550px){.divEventImage {
		width: auto;
		padding-bottom: 40%;
	}}

/* Conferences */

.secConference {
	display: flex;
    justify-content: space-between;
}

.divConferenceImage {
	width: 40%;
    height: 0;
    padding-bottom: 25%;
    background-size: cover;
    background-position: center center;
	margin: 0 0 1em 1em;
}

.pConferenceDate {
	font-weight: 600;
}

.pConferenceLocation {
	font-style: italic;
}


.frmBooking {
	width: 400px;
    max-width: 95%;
}

.frmBooking input, .frmBooking textarea {
	display: block;
	width: 400px;
	max-width: 100%;
    padding: 0.5em;
    box-sizing: border-box;
    border: solid 1px rgb(200,200,200);
    border-radius: 3px;
	margin-bottom: 10px;
}

.frmBooking select {
	display: block;
    width: 400px;
    max-width: 100%;
    padding: 0.5em 0.2em;
    box-sizing: border-box;
    border: solid 1px rgb(200,200,200);
    border-radius: 3px;
    margin-bottom: 10px;
}

.frmBooking input[type=submit] {
	width: auto;
	display: inline-block;
}

.frmBooking textarea {
	height: 100px;
}

.frmBooking input[type=number] {
	width: auto;
    display: inline-block;
	margin: 0;
}

.frmBooking .hideField  {
	height: 0;
	overflow: hidden;
	padding: 0;
	margin: 0;
}

.frmBooking div.wpcf7-response-output {
	border-width: 1px !important;
	border-radius: 5px;
    padding: 0.5em;
	margin: 0;
	width: 400px;
    max-width: 100%;
    line-height: 1.25;
}

@media only screen and (max-width: 767px){.secConference {
		/*display: block;*/
		flex-flow: column-reverse;
	}
	
	.divConferenceImage {
		width: 70%;
		padding-bottom: 40%;
		margin-left: 0;
	}}

@media only screen and (max-width: 550px){.divConferenceImage {
		width: auto;
		padding-bottom: 40%;
	}}

/* Calendar */

.secCalendar ul {
	list-style: none;
	padding: 0;
}

.secCalendar ul li {
	padding: 0.5em;
	margin: 0;
	border-top: solid 1px rgb(237,143,32);
	border-left: solid 1px rgb(237,143,32);
	border-right: solid 1px rgb(237,143,32);
}

.secCalendar ul li:nth-child(even) {
	background-color: rgba(40,40,40,0.1);
}

.secCalendar ul li:last-child {
	border-bottom: solid 1px rgb(237,143,32);
}

.secCalendar ul span {
	display: inline-block;
	margin: 0 0.25em;
	white-space: nowrap;
	line-height: 1.5;
}

.secCalendar .spCalTitle {
	color: rgb(237,143,32);
    font-size: 1.2em;
}

.secCalendar .spCalHighlight {
	font-weight: 600;
}

.secCalendar .spCalHighlight .spCalTitle {
	margin: 0;
}

@media only screen and (max-width: 1000px){.secCalendar .spCalDate, .secCalendar .spCalLocation, .secCalendar .spCalTitle {
		display: block;
		white-space: inherit;
	}}