/*
Theme Name: VASA 2020
Version: 1.98
Requires at least: 5.3
Requires PHP: 5.2.4
Description: Responsive VASA theme.
Author: Firewave Design
Author URI: https://firewave.com.au/
Theme URI: https://firewave.com.au/
*/

html {font-size: 20px;}
body {margin: 0; padding: 0; color: #000; -webkit-text-size-adjust: none; -moz-text-size-adjust: none; -ms-text-size-adjust: none; text-size-adjust: none; font-family: Arial, Helvetica, sans-serif; font-size: 0.8rem; background: #fff;}
img {border: none;}
form {padding: 0; margin: 0;}
h1, h2, h3, h4, h5, h6 {font-weight: normal;}
a:link, a:visited, a:hover, a:active {text-decoration: none;}
button, input[type="submit"] {cursor: pointer;}

/* Colours - custom properties */

:root {
	--vasa-yellow: #fee955;
	--vasa-yellow-srgb: #fee955;
	--vasa-green: #00894b;
	--vasa-bright-green: #00b060;
	--vasa-extra-dark-grey: #232528;
	--vasa-dark-grey: #53585e;
	--vasa-mid-grey: #b5bec8;
	--vasa-light-grey: #ececec;
	--vasa-light-grey-clear: #ececec00;
	--vasa-content-text: #27343a;
	--vasa-caption-text: #878e97;
	--vasa-footer-text: #e4e4e5;
	--vasa-menu-divider: #74787e;
	--vasa-red: #dd003e;
	--vasa-wg-blue: #008bff;
	--vasa-wg-purple: #5600de;
	--facebook: #3b5998;
	--twitter: #1da1f2;
}

/* Colours - use P3 colours if we can */

@media (color-gamut: p3) {
	@supports(color: color(display-p3 0 0 0)) {
		:root {
			--vasa-yellow-srgb: #ffe800;
			--vasa-yellow: color(display-p3 0.996 0.914 0.333);
			--vasa-green: color(display-p3 0 0.537 0.294);
			--vasa-bright-green: color(display-p3 0 0.690 0.376);
		}
	}
}

/* Colours - support for block editor */

:root .has-vasa-green-color {color: var(--vasa-green);}
:root .has-vasa-green-background-color {background-color: var(--vasa-green);}

:root .has-vasa-bright-green-color {color: var(--vasa-bright-green);}
:root .has-vasa-bright-green-background-color {background-color: var(--vasa-bright-green);}

:root .has-vasa-yellow-color {color: var(--vasa-yellow);}
:root .has-vasa-yellow-background-color {background-color: var(--vasa-yellow);}

:root .has-vasa-red-color {color: var(--vasa-red);}
:root .has-vasa-red-background-color {background-color: var(--vasa-red);}

:root .has-vasa-extra-dark-grey-color {color: var(--vasa-extra-dark-grey);}
:root .has-vasa-extra-dark-grey-background-color {background-color: var(--vasa-extra-dark-grey);}

:root .has-vasa-dark-grey-color {color: var(--vasa-dark-grey);}
:root .has-vasa-dark-grey-background-color {background-color: var(--vasa-dark-grey);}

:root .has-vasa-mid-grey-color {color: var(--vasa-mid-grey);}
:root .has-vasa-mid-grey-background-color {background-color: var(--vasa-mid-grey);}

:root .has-vasa-light-grey-color {color: var(--vasa-light-grey);}
:root .has-vasa-light-grey-background-color {background-color: var(--vasa-light-grey);}

:root .has-vasa-wg-blue-color {color: var(--vasa-wg-blue);}
:root .has-vasa-wg-blue-background-color {background-color: var(--vasa-wg-blue);}

:root .has-vasa-wg-purple-color {color: var(--vasa-wg-purple);}
:root .has-vasa-wg-purple-background-color {background-color: var(--vasa-wg-purple);}

:root .has-vasa-white-color {color: #fff;}
:root .has-vasa-white-background-color {background-color: #fff;}

/* Measures */

:root {
	--vasa-pad: 1.7rem;
	--vasa-block-pad: 3em;
	--vasa-footer-pad: 2rem;
	--vasa-side-pad: 1rem;
	--vasa-has-background-side-pad: 0rem;
	--header-banner-height: 8.65rem;
	--header-banner-promo-top: 0.7rem;
	--header-banner-promo-bottom: 1.85rem;
}

.has-background > * {
	--vasa-has-background-side-pad: 2rem;
}

/* Icons */

@font-face {font-family: 'vasa'; src: url('fonts/vasa.ttf?v=1') format('truetype'), url('fonts/vasa.woff?v=1') format('woff'), url('fonts/vasa.svg?v=1#vasa') format('svg'); font-weight: normal; font-style: normal; font-display: block;}

[class^="icon-"], [class*=" icon-"], .MemberForm .ButtonSecure::after, .ContainerToggleLink::after {vertical-align: text-top; display: inline-block; padding-right: 0.5em; min-width: 1.5em; text-align: center; font-family: 'vasa' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; box-sizing: content-box !important;}
.icon-Disable-Auto-Renew:before {content: "\e91c";}
.icon-Find-VASA-Members-Profile:before {content: "\e91a";}
.icon-Auto-Renew:before {content: "\e91b";}
.icon-News::before {content: "\e919";}
.icon-Loading::before, .MemberForm .ButtonSecure:disabled::after {content: "\e918";}
.icon-Password::before {content: "\e917";}
.icon-Information::before {content: "\e916";}
.icon-Invoice::before {content: "\e915";}
.icon-Secure::before, .MemberForm .ButtonSecure::after {content: "\e914";}
.icon-SightGlass::before {content: "\e913";}
.icon-Join::before {content: "\e912";}
.icon-Multi-page::before {content: "\e911";}
.icon-Edit::before {content: "\e910";}
.icon-Pinned::before {content: "\e90d";}
.icon-Tags::before {content: "\e90e";}
.icon-Categories::before {content: "\e90f";}
.icon-ArrNext::before {content: "\e90b";}
.icon-ArrPrev::before {content: "\e90c";}
.icon-Close::before {content: "\e909";}
.icon-Search::before {content: "\e90a";}
.icon-Arr::before, .ContainerToggleLink::after {content: "\e908";}
.icon-RSS::before {content: "\e900";}
.icon-Facebook::before {content: "\e901";}
.icon-Twitter::before {content: "\e902";}
.icon-Email::before {content: "\e903";}
.icon-Location::before {content: "\e904";}
.icon-Phone::before {content: "\e905";}
.icon-Members::before {content: "\e906";}
.icon-Log-Out::before {content: "\e907";}

.iconCloser {padding-right: 0.35em;}
.iconGreen {color: var(--vasa-green);}
.iconNoMin, .Pagination .icon-ArrPrev, .Pagination .icon-ArrNext, .more-link .icon-ArrNext {min-width: auto;}
.iconRight, .Pagination .icon-ArrNext, .more-link .icon-ArrNext {padding-right: 0; padding-left: 0.5em;}
.SearchButton .iconRight {padding-left: 0.25em;}
#Menu .iconNoMin {padding-right: 0.35em;}

/* Screen readers */

.screen-reader-text, .MetaLabel {border: none; clip: rect(1px, 1px, 1px, 1px); -webkit-clip-path: inset(50%); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; word-break: normal;}

/* Main container padding and size */

.Inner, .IsConstrained #ContentGroup, .IsNotConstrained .PostHeader, .IsNotConstrained .FeaturedImage figcaption, .IsNotConstrained #wpmem_restricted_msg, .IsNotConstrained .PostExtras, .IsNotConstrained .Pagination, .IsNotConstrained .PostContent > *, .IsNotConstrained #wpmem_restricted_msg, .IsNotConstrained .PostContent > .alignfull > figcaption {box-sizing: border-box; max-width: 1030px; padding-left: var(--vasa-side-pad); padding-right: var(--vasa-side-pad); margin-left: auto; margin-right: auto; position: relative;}
.IsNotConstrained .alignfull > *[class*="_inner-container"] {max-width: 1030px; padding-left: calc(var(--vasa-side-pad) + var(--vasa-has-background-side-pad)); padding-right: calc(var(--vasa-side-pad) + var(--vasa-has-background-side-pad)); margin-left: auto; margin-right: auto; position: relative;}
.IsNotConstrained .alignwide > *[class*="_inner-container"] {max-width: calc(1030px - var(--vasa-side-pad) * 2); padding-left: var(--vasa-has-background-side-pad); padding-right: var(--vasa-has-background-side-pad); margin-left: auto; margin-right: auto; position: relative;}
#ContentHolder, #FooterWidgetsHolder, #FooterHolder, #RelatedPostsHolder {padding-top: 1px; padding-bottom: 1px;}

/* Menus */

nav ul {padding: 0;}
nav li {list-style-type: none;}
nav a {display: inline-block;}

#MenuFooterMembership a[href="/contact-vasa/"], #MenuFooterMembership a[href="/members-section/members-section-profile/?a=logout"] {margin-top: 1.5em;}

/* Header */

#Top {position: relative;}
#HeaderGroup {background-color: var(--vasa-green); color: #fff; background-image: url(./images/vasa_header_background.svg?v=6); background-position: center center; background-size: 1968px 256px; background-repeat: no-repeat;}
#HeaderGroup a:link, #HeaderGroup a:visited, #MenuMemberLinks a:link, #MenuMemberLinks a:visited, #VASAMemberBox a:link, #VASAMemberBox a:visited {color: #fff;}
#HeaderGroup a:hover, #MenuMemberLinks a:hover, #VASAMemberBox a:hover {color: rgba(255,255,255,0.8);}
.MemberJoinLink .icon-Join, #MenuFooterMembership .icon-Join {color: var(--vasa-yellow);}
.MemberJoinLink:hover .icon-Join {opacity: 0.8;}

#LogoHolder {display: flex;}
#HeaderTitle {flex-grow: 1; margin-top: 0.35rem; margin-bottom: 0.8rem; position: relative;}
#HeaderLogoSpacer {width: 144px; display: inline-block; vertical-align: bottom;}
#HeaderLogoSpacer::before {content: ''; display: block; width: 100%; padding-bottom: 60%;}
#HeaderLogo {position: absolute; top: 0; left: 0; z-index: 100030;}
#HeaderLogo::after {content: ''; top: 1px; box-shadow: 0 0.5em 0.5em rgba(0,0,0,0.15); left: 1px; width: calc(100% - 2px); height: calc(100% - 2px); background-color: var(--vasa-green); display: block; border-radius: 72px; position: absolute; z-index: -1;}
#HeaderLogo img {vertical-align: top; height: auto;}
#HeaderLogoText {vertical-align: bottom; margin-left: 1rem;}

#HeaderLinks {position: relative; margin-top: 1rem; margin-bottom: 1rem;}
#HeaderMenuLinks, #MenuMemberLinks {display: none;}
#HeaderMemberLinks > span, #MenuMemberLinks > span, #VASAMemberBox > div > div > span {padding: 0 0.75em;}
#MenuMemberLinks {color: #fff; padding: 0.9rem 0 0.8rem; text-align: center; border-bottom: 1px solid var(--vasa-dark-grey); margin-bottom: 0.35rem;}
#HeaderContactLinks {position: absolute; bottom: 0; right: 0;}

/* Header Menu Handle */

#HeaderMenuOpenClose {-moz-appearance: none; -webkit-appearance: none; appearance: none; border: none; background: transparent; font: inherit; color: inherit; padding: 0 1.5rem 0 0; margin: 0; position: relative;}

#HeaderMenuOpenClose::before, #HeaderMenuOpenClose::after, #HeaderMenuOpenClose span {transition: all 0.25s; content: ''; display: block; width: 1rem; height: 0.1rem; background-color: rgba(255,255,255,1); position: absolute; right: 0;}
#HeaderMenuOpenClose::before {top: 0.1rem;}
#HeaderMenuOpenClose span {top: 0.4rem;}
#HeaderMenuOpenClose::after {top: 0.7rem;}

.MobileMenuActive #HeaderMenuOpenClose::before {transform: rotate(45deg); top: 0.4rem;}
.MobileMenuActive #HeaderMenuOpenClose::after {transform: rotate(-45deg); top: 0.4rem;}
.MobileMenuActive #HeaderMenuOpenClose span {background-color: rgba(255,255,255,0);}

/* Header Menu */

#MenuGroup {position: absolute; left: 0; right: 0; bottom: -27px; z-index: 100010;}

#MenuHolder {background-color: var(--vasa-dark-grey); box-shadow: 0 0.15rem 0.45rem rgba(0,0,0,0.3);}
#Menu li {flex-grow: 1; position: relative;}
#Menu a {transition: color 0.2s linear, background-color 0.2s linear; display: block; padding: 1em 0.5em; text-align: center;}
#Menu a:link, #Menu a:visited {color: #fff;}
#Menu li:hover > a {color: var(--vasa-yellow-srgb); transition-duration: 0.1s; background-color: var(--vasa-extra-dark-grey);}
#Menu a > span {display: inline-block; position: relative;}

#Menu > ul {display: flex; align-items: flex-end; margin: 0; padding: 0;}

#Menu > ul > li > a > span::after, #Menu .current-menu-item > a > span::after, #Menu .current-post-parent > a > span::after, #Menu .current-menu-parent > a > span::after, #Menu .current-page-ancestor > a > span::after {content: ''; display: block; position: absolute; bottom: -0.3rem; left: 50%; right: 50%; border-bottom-style: solid; border-bottom-width: 2px; border-bottom-color: var(--vasa-dark-grey); transition: all 0.15s ease;}
#Menu li:hover > a > span::after {left: 0%; right: 0%;}
#Menu .current-menu-item > a > span::after, #Menu .current-post-parent > a > span::after, #Menu .current-menu-parent > a > span::after, #Menu .current-page-ancestor > a > span::after {left: 0; right: 0; border-bottom: 2px solid var(--vasa-yellow);}

/* Header Menu Sub-Menus */

#Menu .sub-menu {position: absolute; display: none; width: 12em; background-color: var(--vasa-dark-grey); overflow: hidden; border-bottom-left-radius: 0.25rem; border-bottom-right-radius: 0.25rem; box-shadow: 0 0.5em 2em rgba(0, 0, 0, 0.3);}
#Menu .sub-menu a {text-align: left; padding: 0.8em 1em;}
#Menu .sub-menu li {border-bottom: 1px solid var(--vasa-menu-divider);}
#Menu .sub-menu li:last-child {border-bottom: none;}
#Menu li:hover > ul {display: block;}

/* Banner */

#BannerHolder {background-color: var(--vasa-extra-dark-grey); background-position: center; background-size: cover; background-image: url(./images/header_desktop.jpg); background-repeat: no-repeat;}
@media (max-width: 767px) {
	#BannerHolder {background-position: top, center; background-size: 100% 1rem, cover; background-image: linear-gradient(#fff, #ffffff00), url(./images/header_mobile.jpg);}
}

#Banner {min-height: var(--header-banner-height);}
#BannerMotto {position: absolute; bottom: 2.6rem;}
#BannerPromo {position: absolute; right: var(--vasa-side-pad); width: 45%; color: #fff; bottom: var(--header-banner-promo-bottom); top: var(--header-banner-promo-top); display: flex; align-items: center; justify-content: flex-end;}
#BannerPromo img {width: auto; max-width: 100%; height: auto; vertical-align: middle;}
#BannerPromo * {max-height: calc(var(--header-banner-height) - var(--header-banner-promo-top) - var(--header-banner-promo-bottom)); box-sizing: border-box;}
.BannerPromoBox {text-align: center; background: #fff; border-radius: 0.35em; overflow: hidden; box-shadow: 0 0 0.75rem rgba(0,0,0,0.1);}
.BannerPromoBox img {padding: 0.4rem;}
.BannerPromoBox:hover {box-shadow: 0 0 0.75rem rgba(255, 255, 255, 0.45);}

/* Banner Promo Temp */

#BannerPromoWGRescheduled {position: relative; display: block;}
#BannerPromoWGRescheduled:link, #BannerPromoWGRescheduled:visited {color: #ff6700; transition: 0.3s color ease-out;}
#BannerPromoWGRescheduled:hover {color: #0029ff; transition: 0.1s color ease-out;}
#BannerPromoWGRescheduled > div {position: absolute; background: linear-gradient(rgba(255, 255, 255, 0.66), rgba(255, 255, 255, 0.94) 15%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0.94) 85%, rgba(255, 255, 255, 0.66)); text-shadow: 0 0 0.25em #fff; top: 0.3rem; left: 0.3rem; right: 0.3rem; bottom: 0.3rem; font-weight: bold; display: flex; align-content: center; align-items: center; font-size: 1.25em; line-height: 1.1em; padding: 0.5em;}
@media (max-width: 550px) {
	#BannerPromoWGRescheduled > div {font-size: 3.5vw;}
}
@media (max-width: 440px) {
	#BannerPromoWGRescheduled > div {font-size: 4vw;}
}

/* Breadcrumb, Search, News Ticker */

#BreadcrumbSearchHolder {background-color: var(--vasa-light-grey); padding-top: 1.25rem; border-top: 1px solid var(--vasa-mid-grey); color: var(--vasa-dark-grey);}
#BreadcrumbSearch {display: flex; align-items: center;}
#Breadcrumb, #NewsTicker {font-size: 0.9rem; line-height: 1.25; padding-top: 0.8rem; padding-bottom: 0.65rem; flex-grow: 1; position: relative;}
#Breadcrumb a:link, #Breadcrumb a:visited {color: var(--vasa-dark-grey);}
.BreadcrumbSep span:last-child {color: transparent; font-size: 1px; display: inline-block; width: 0; vertical-align: bottom;}
.BreadcrumbSep .icon-Arr {color: var(--vasa-green); font-size: 0.6rem; padding-left: 0.5em; padding-top: 0.2rem;}

.SearchButton {-moz-appearance: none; -webkit-appearance: none; appearance: none; border: none; background: transparent; font: inherit; padding: 0; margin: 0; color: inherit; white-space: nowrap;}
.SearchButton:hover, #SearchButton:active {color: var(--vasa-green);}

#SearchHolder {position: absolute; top: 0; right: 0; left: 0; bottom: 0; overflow: hidden;}
#Search {position: absolute; top: 0; right: 0; left: 0; bottom: 0; background-color: var(--vasa-light-grey); display: flex; align-items: center; transform: translateY(100%); transition: transform 300ms ease-out;}
#Search .search-form {flex-grow: 1;}

#Search input[type="search"] {width: calc(100% - 4em);}

.search-submit {-moz-appearance: none; -webkit-appearance: none; appearance: none; border: none; background: transparent; font: inherit; margin: 0; padding: 0.25rem; color: inherit;}
.search-submit .icon-Search {padding-right: 0;}
.search-submit:hover, #Search .search-submit:active {color: var(--vasa-green);}

.SearchInactive {display: none;}
.SearchActive #Search {transform: translateY(0);}

#NewsTicker {display: flex; align-items: center;}
#NewsTickerLabel {margin-right: 0.5em; text-transform: uppercase; white-space: nowrap;}
.FDTicker {list-style-type: none; padding: 0; margin: 0; height: 1.25em; position: relative; width: 100%; margin-right: 0.25rem;}
.FDTicker::after {content: ''; position: absolute; display: block; right: -2px; width: 2em; top: 0; bottom: 0; background-image: linear-gradient(to right, var(--vasa-light-grey-clear) 0%, var(--vasa-light-grey) 90%); pointer-events: none;}
.FDTicker li {position: absolute; overflow: hidden; left: 0; right: 0; white-space: nowrap; display: none; opacity: 0; transition: opacity 300ms linear;}

.FDTickerActive {display: block !important;}
.FDTickerVisible {opacity: 1 !important;}

/* Shortcodes */

.VASANewFeature::before {content: 'NEW'; display: inline-block; background-color: var(--vasa-bright-green); padding: 0.25em 0.375em; border-radius: 0.2em; line-height: 1em; color: #fff; font-size: 0.75em; vertical-align: text-bottom;}
.HeadingWithLink {display: flex; justify-content: space-between; align-items: baseline;}
.HeadingWithLink h2 {margin: 0;}

/* Content */

#ContentHolder {font-size: 0.85rem; color: var(--vasa-content-text);}
#ContentGroup {display: flex; margin-top: var(--vasa-pad); margin-bottom: var(--vasa-pad);}
#ContentGroup * {box-sizing: border-box;}

#Content {width: 100px; /* Req. for child calcs */ flex-grow: 1;}
#Sidebar {margin-left: var(--vasa-pad); width: 12em; flex-shrink: 0;}

/* Archives */

.PostHeaderWithThumbnail, .PostExcerptHolderWithThumbnail {display: flex;}
.PostHeaderWithThumbnail > div, .PostExcerptHolderWithThumbnail > div {flex-grow: 1;}
.PostThumbnail {margin-right: 1em;}
.PostExcerptHolder {margin-bottom: 0.5rem;}
.PostExtrasArchive {margin-top: 0.5rem;}
.PostExcerptHolder .PostThumbnail {margin-top: 1em;}
.PostExcerpt p:last-child {margin-bottom: 0;}
#ContentGroup .PostHeader .PostThumbnail img {max-width: none; width: 48px;}
#ContentGroup .PostExcerptHolder .PostThumbnail img {max-width: none; width: 150px;}

article + article {padding-top: var(--vasa-pad); margin-top: var(--vasa-pad); border-top: 1px solid var(--vasa-light-grey);}

/* Content formatting */

.PostHeaderTitle, .PageTitle {margin-top: 0;}
.PostHeaderTitle {margin-bottom: 0.3rem;}
.PageTitle {font-size: 1.4rem;}
.PageDesc {margin-bottom: var(--vasa-pad);}
.PostHolder, .PostExcerptHolder, .PostIntroText {line-height: 1.4;}
.FeaturedImage {margin: 1em auto 0 auto; max-width: calc(990px + 2 * var(--vasa-side-pad)); padding: 0; text-align: center;}
.FeaturedImage img {width: 100%;}
.FeaturedImage figcaption {margin-top: 0.75em; margin-bottom: 1em;}
.PostIntroText {font-weight: bold;}
.PostIntroText p:last-child {margin-bottom: 0;}

h1 {color: var(--vasa-green); font-size: 1.2rem;}
h2 {font-size: 1.05rem; color: var(--vasa-dark-grey);}

.PostContent h1, .PostContent h2, .PostContent h3, .PostContent h4, .PostContent h5, .PostContent h6 {line-height: initial; font-weight: bold;}
.PostContent h1 {font-size: 1.4rem;}
.PostContent h2 {font-size: 1.2rem;}

a:link, a:visited {color: var(--vasa-green);}
a:hover, a:active {color: var(--vasa-bright-green);}

main img, #Sidebar img {max-width: 100%; height: auto;}
.PostContent ul, .PostContent ol {padding: 0;}
.PostContent li {margin-left: 2.4em;}

figure {margin: 0;}
figure img {vertical-align: middle;}
figcaption {text-align: center; color: var(--vasa-caption-text); font-size: 0.7rem;}

.post-edit-link {font-size: 0.8rem; float: right; margin-top: 0.2rem; padding-left: 1em;}
.home .post-edit-link {float: none; padding-left: 0; margin-bottom: calc(var(--vasa-block-pad) / 2); display: block;}
.more-link-pre {padding-right: 0.25em;}
.more-link {display: inline-block;}
.more-link .icon-ArrNext {font-size: 0.75em; vertical-align: middle; transition: transform 100ms ease-out; transform: translateX(0);}
.more-link:hover .icon-ArrNext {transform: translateX(0.25em);}

.PostContent > span[id^="more-"] {display: block;}

/* Content block support */

.alignwide, .alignfull, .wp-block-separator, .wp-block-gallery, .wp-block-group {margin-top: var(--vasa-block-pad); margin-bottom: var(--vasa-block-pad);}

.alignleft {float: left;}
.alignright {float: right;}

img.aligncenter {display: block; margin-left: auto; margin-right: auto;}
img.alignleft {padding-right: 1em;}
img.alignright {padding-left: 1em;}

.has-large-font-size {line-height: 1.6;}

.aligncenter .wp-block-embed__wrapper > * {margin-left: auto; margin-right: auto;}

.wp-block-embed.alignleft {margin-right: auto;}
.wp-block-embed.alignright {margin-left: auto;}

.wp-block-image figcaption {margin-top: 0.75em; margin-bottom: 1em;}
.wp-block-image figure.alignright, .wp-block-image figure.alignleft {max-width: 45%;}

.wp-block-cover a:link, .wp-block-cover a:visited {color: inherit; text-decoration: underline;}
.wp-block-cover a:hover {color: inherit; opacity: 0.8;}

.wp-block-columns {margin-top: var(--vasa-pad); margin-bottom: var(--vasa-pad);}
.PostContent > .wp-block-columns:first-child {margin-top: 0;}
.PostContent > .wp-block-columns:last-child {margin-bottom: 0;}
.wp-block-column > *:first-child {margin-top: 0;}
.wp-block-column > *:last-child {margin-bottom: 0;}

@media screen and (max-width: 599px) {
	.wp-block-column {margin-top: var(--vasa-pad);}
	.wp-block-column:first-child {margin-top: 0;}
}

.wp-block-pullquote blockquote {padding: 0; margin: 0 var(--vasa-side-pad);}

.wp-block-pullquote p {line-height: initial;}
.wp-block-pullquote.is-style-solid-color p:first-child {text-indent: -1em;}
.wp-block-pullquote p:first-child::before, .wp-block-pullquote p:last-of-type::after {content: '“'; text-align: right; display: inline-block; width: 0.5em; padding-right: 0.5em; opacity: 0.5; text-indent: 0;}
.wp-block-pullquote p:last-of-type::after {content: '”'; display: inline; padding-left: 0.5em;}
.wp-block-pullquote cite {display: block; margin-top: 0.5em; opacity: 0.8;}
.wp-block-pullquote.is-style-default cite {margin-bottom: 1.8em; display: block;}
.wp-block-pullquote.is-style-default blockquote {border-width: 1px; border-style: solid; border-color: inherit; border-left: none; border-right: none;}
.wp-block-pullquote.has-background {margin-top: var(--vasa-block-pad); margin-bottom: var(--vasa-block-pad);}

.wp-block-quote {margin: var(--vasa-pad) 0; position: relative;}
.wp-block-quote > * {padding-left: var(--vasa-side-pad);}
.wp-block-quote::after {content: ''; display: block; position: absolute; border-left: 2px solid; top: 0; bottom: 0;}
.wp-block-quote cite {opacity: 0.8; font-size: 0.8em; font-style: normal;}

.wp-block-latest-posts::after {content: ''; display: block; clear: both;}
.wp-block-latest-posts li {margin-left: 0;}
.wp-block-latest-posts__post-date, .wp-block-latest-posts__post-author {color: var(--vasa-dark-grey); font-size: 0.7rem;}
.wp-block-latest-posts__featured-image.aligncenter {margin-bottom: 0.25rem;}
.wp-block-latest-posts__featured-image.aligncenter img {width: 100%; height: auto;}

.wp-block-group.has-background {padding-top: var(--vasa-block-pad); padding-bottom: var(--vasa-block-pad); margin-top: 0; margin-bottom: 0;}
.wp-block-group.has-background .wp-block-group__inner-container {padding-left: var(--vasa-has-background-side-pad); padding-right: var(--vasa-has-background-side-pad);}

.wp-block-separator {border-style: solid;}
.wp-block-separator.is-style-default {width: 8em;}
.wp-block-separator.is-style-wide {border-top-width: 0;}

*[class*="_inner-container"] > *:first-child {margin-top: 0;}
*[class*="_inner-container"] > *:last-child {margin-bottom: 0;}

@media screen and (min-width: 601px) {
	.wp-block-media-text:not(.has-background) .wp-block-media-text__content > *:first-child {margin-top: 0;}
	.wp-block-media-text:not(.has-background) .wp-block-media-text__content > *:last-child {margin-bottom: 0;}
}

.IsNotConstrained .PostContent .alignwide {max-width: 1280px;}
.IsNotConstrained .PostContent .alignfull, #wpmem_restricted_msg_wrapper {max-width: 100%; padding-left: 0; padding-right: 0;}

/* Content meta and header */

.PostHeaderSingular {margin-bottom: 1.1rem; position: relative; z-index: 1;}
.PostMetaHolder {font-size: 0.8rem; color: var(--vasa-dark-grey);}
.PostMetaBottom {font-size: 0.7rem; text-align: right;}
#ContentGroup .PostMetaHolder a:link, #ContentGroup .PostMetaHolder a:visited, #ContentGroup .PostMetaHolder a:hover {color: inherit;}

.PostMeta {margin: 0; padding: 0; list-style-type: none;}
.PostMeta li {display: inline; padding-left: 1em;}
.PostMeta li:first-child {padding-left: 0;}

.PostMetaSticky, .PostMetaMembersOnly {color: var(--vasa-mid-grey);}
.logged-in .PostMetaSingle .PostMetaMembersOnly {color: var(--vasa-bright-green);}
.PostMetaSingle .PostMetaMembersOnly {color: var(--vasa-red);}

/* Content Extras */

.PostExtras {clear: both;}
.PostExtrasSingle {font-size: 0.8rem; margin-top: 0.85rem; display: flex; align-items: center; flex-wrap: wrap;}
.PostMetaBottomSingle {flex-grow: 10; margin-top: 0.85rem;}

.PostShare {font-size: 0.6rem; margin-top: 0.85rem; flex-grow: 1; text-align: right;}
.PostShare a {border-radius: 0.25rem; padding: 0.5em 0.75em 0.5em 0.5em; margin-left: 0.25em;}
.PostShare > span {font-weight: bold;}
.PostShare .icon-Facebook, .PostShare .icon-Twitter {padding-right: 0.25em;}
a.PostShareFacebook {color: var(--facebook);}
a.PostShareTwitter {color: var(--twitter);}
a.PostShareFacebook:hover {background-color: var(--facebook); color: #fff;}
a.PostShareTwitter:hover {background-color: var(--twitter); color: #fff;}

/* Page Navigation */

.Pagination {margin-top: var(--vasa-pad);}

.PostPagination {display: flex; justify-content: space-between;}
.PostPaginationLast {justify-content: flex-end;}
.PostPagination a {display: flex;}
.PostPaginationPrev {margin-right: 0.85rem;}
.PostPaginationNext {text-align: right; margin-left: 0.85rem;}

.CategoryPagination .nav-links {display: flex; justify-content: space-between;}
.CategoryPagination .page-numbers, .PagePagination .post-page-numbers {padding: 0.5em; min-width: 2.25em; text-align: center;}
.CategoryPagination .prev {padding-left: 0; min-width: auto;}
.CategoryPagination .next {padding-right: 0; min-width: auto;}
.CategoryPagination .end {color: var(--vasa-light-grey);}
.CategoryPagination .current {border-radius: 0.25rem; background-color: var(--vasa-green); color: #fff; font-weight: bold;}

@media screen and (max-width: 580px) {
	.CategoryPagination .prev span:last-child, .CategoryPagination .next span:first-child {display: none;}
	.CategoryPagination .icon-ArrPrev {padding-right: 0;}
	.CategoryPagination .icon-ArrNext {padding-left: 0;}
	.CategoryPagination .dots {padding-left: 0; padding-right: 0; min-width: auto;}
	.CategoryPagination .prev {padding-right: 0;}
	.CategoryPagination .next {padding-left: 0;}
	.CategoryPagination .page-numbers, .PagePagination .post-page-numbers {min-width: auto; padding: 0.35em 0.25em;}
}

.PagePagination {display: flex; justify-content: center;}
.PagePagination .current {background-color: var(--vasa-green); color: #fff; font-weight: bold;}
.PagePagination .post-page-label {padding: calc(0.5em + 1px); font-weight: bold; border-top-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem; background-color: var(--vasa-dark-grey); color: #fff;}
.PagePagination .post-page-label .icon-Multi-page {vertical-align: bottom;}
.PagePagination .post-page-numbers {border: 1px solid var(--vasa-green);}
.PagePagination .post-page-numbers + .post-page-numbers {border-left: none;}
.PagePagination .post-page-numbers:nth-child(2) {border-left-color: var(--vasa-dark-grey);}
.PagePagination .post-page-numbers:nth-child(2).current {border-left-color: var(--vasa-green);}
.PagePagination .post-page-numbers:last-child {border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem;}

.PostPagination, .CategoryPagination {padding-top: var(--vasa-pad); border-top: 1px solid var(--vasa-light-grey);}
.PagePagination, .CategoryPagination {line-height: 1;}

/* Widgets */

.WidgetContent > ul, .rpwe-block > ul {list-style-type: none; padding: 0; margin: 0;}

/* Widgets - Standard */

.wp-calendar-table {width: 100%; text-align: center; border-collapse: collapse; margin-bottom: 0.4rem;}
.wp-calendar-table td {border: 1px solid var(--vasa-light-grey); color: var(--vasa-mid-grey); border-top: none; padding: 0.2rem 0; font-size: 0.8em;}
.wp-calendar-table th {background-color: var(--vasa-mid-grey); color: #fff; padding: 0.25rem 0; font-size: 0.8em; font-weight: normal;}
.wp-calendar-table th:first-child {border-top-left-radius: 0.25rem;}
.wp-calendar-table th:last-child {border-top-right-radius: 0.25rem;}
.wp-calendar-table caption {margin-bottom: 0.4rem; text-align: left;}
.wp-calendar-nav {display: flex; justify-content: space-between;}

.widget_media_image img {width: 100%;}

.widget_search form {display: flex;}
.widget_search label {flex-grow: 1;}
.widget_search input[type="search"] {width: 100%;}
.widget_search .search-submit {flex-grow: 0; color: var(--vasa-green); padding-right: 0;}
.widget_search .search-submit .icon-Search {text-align: right;}
.widget_search .search-submit:hover, .widget_search .search-submit:active {color: var(--vasa-bright-green);}

/* Widgets - Recent Posts Extended */

.rpwe-ul .rpwe-li {display: flex; margin-left: 0; padding-bottom: 0.75em; margin-bottom: 0.75em; border-bottom: 1px solid var(--vasa-light-grey);}
@media screen and (min-width: 600px) {
	.rpwe-li:last-child {border-bottom: 0; padding-bottom: 0;}
}
.rpwe-img {padding-right: 0.5em; flex-shrink: 0;}
.rpwe-thumb {vertical-align: middle; width: 68px;}
.rpwe-flex-content {flex-grow: 1;}
.rpwe-title {line-height: 1.3;}
.rpwe-time {font-size: 0.7rem; color: var(--vasa-dark-grey);}

#Sidebar .rpwe-img {order: 1; padding-right: 0; padding-left: 1em;}
#Sidebar .rpwe-thumb {width: 45px;}

.wp-block-latest-posts + .rpwe-block {border-top: 1px solid var(--vasa-light-grey); padding-top: 0.75em;}

/* Above Archives */

#AboveArchivesHolder {border-bottom: 1px solid var(--vasa-mid-grey); margin-bottom: var(--vasa-pad);}
#AboveArchives .Widget {margin-bottom: var(--vasa-pad);}

/* Related Posts */

#RelatedPostsHolder {background-color: var(--vasa-light-grey); color: var(--vasa-dark-grey); line-height: 1.4;}
#RelatedPosts .WidgetTitle {margin-top: var(--vasa-pad); margin-bottom: var(--vasa-pad); line-height: 1;}
#RelatedPosts .Widget {margin-top: var(--vasa-pad); margin-bottom: var(--vasa-pad);}

#RelatedPosts .RelatedPostsWidget {margin-bottom: calc(var(--vasa-pad) - 4%);}
.RelatedPosts {display: flex; flex-wrap: wrap; justify-content: space-between;}
.RelatedPosts li {flex-basis: 22%; margin-bottom: 4%;}
.RelatedPosts img {width: 100%; height: auto; margin-bottom: 0.5em; transition: transform 0.2s ease;}
.RelatedPostTitle {line-height: 1.3;}
.RelatedPostTitle, .RelatedPostDate {display: block;}
.RelatedPostDate {margin-top: 0.25rem; font-size: 0.7rem; color: var(--vasa-dark-grey);}
.RelatedPostPad {align-self: flex-start;}

.RelatedPosts a:hover img {transform: scale(1.04); transition: transform 0.1s ease;}

@supports(padding: max(0px)) { /* Better padding for browsers that support it */
	#RelatedPosts .RelatedPostsWidget {margin-bottom: calc(var(--vasa-pad) - max(4%, 0.85rem));}
	.RelatedPosts li {margin-bottom: max(4%, 0.85rem);}
}

/* Sidebar */

#Sidebar .Widget:first-child .WidgetContent > *:first-child, #Sidebar .Widget:first-child .WidgetContent > *:first-child > *:first-child {margin-top: 0;}
#Sidebar .Widget {border-bottom: 1px solid var(--vasa-light-grey); margin-bottom: 0.85rem;}
#Sidebar .Widget:last-child {border-bottom: none; margin-bottom: 0;}
#Sidebar .WidgetContent {margin-bottom: 0.85rem; line-height: 1.4;}
#Sidebar .Widget:last-child .WidgetContent {margin-bottom: 0;}
#Sidebar .WidgetTitle {margin-top: 0.85rem; margin-bottom: 0.85rem;}

/* Footer */

#FooterWidgetsHolder {background-color: var(--vasa-extra-dark-grey); color: var(--vasa-footer-text);}
#FooterWidgetsHolder a:link, #FooterWidgetsHolder a:visited {color: var(--vasa-footer-text);}
#FooterWidgetsHolder a:hover {color: #fff;}

#FooterWidgets {display: flex;}
#FooterWidgets .Widget {flex-basis: 25%; flex-grow: 1; margin-left: 1em; margin-right: 1em;}
#FooterWidgets .Widget:first-child {margin-left: 0;}
#FooterWidgets .Widget:last-child {margin-right: 0;}
#FooterWidgets .WidgetContent {margin: var(--vasa-footer-pad) 0; line-height: 1.5;}
#FooterWidgets .WidgetTitle {font-size: 1em; font-weight: bold; margin-bottom: 1.5em; color: inherit;}
#FooterWidgets li {padding: 0.2em 0;}

#FooterMembershipHeader {margin-bottom: 0.5em; color: var(--vasa-mid-grey);}

#MenuFooterSocial {margin-bottom: 1.5em;}
#FooterWidgets .icon-Email {color: var(--vasa-yellow);}
#FooterWidgets .icon-RSS {color: #ff8700;}
#FooterWidgets .icon-Twitter {color: var(--twitter);}
#FooterWidgets .icon-Facebook {color: #fff;}

#FooterSubscribe input[type="email"] {background-color: var(--vasa-light-grey); border: none;}
#FooterSubscribe input[type="submit"] {background-color: var(--vasa-mid-grey); color: var(--vasa-dark-grey); margin-left: 0.25rem; border: none;}
#FooterSubscribe input[type="submit"]:hover, #FooterSubscribe input[type="submit"]:active {background-color: var(--vasa-yellow-srgb); box-shadow: 0 0.15rem 0.8rem rgba(255, 234, 0, 0.41);}

#FooterHolder {background-color: var(--vasa-green); color: rgba(255,255,255,0.5); font-size: 0.6rem; padding-bottom: env(safe-area-inset-bottom);}
#FooterHolder a:link, #FooterHolder a:visited {color: inherit;}
#FooterHolder a:hover {color: #fff;}

#Footer {display: flex;}
#FooterCopyright {flex-grow: 1;}
#FooterCopyright span {padding: 0 1em;}

/* Forms - General, Log In */

input[type="text"], input[type="search"], input[type="email"], input[type="password"], select, #PaymentDetails .StripeCardField {font: inherit; -moz-appearance: none; -webkit-appearance: none; appearance: none; border: 1px solid var(--vasa-mid-grey); color: var(--vasa-dark-grey); padding: 0.35rem 0.65rem; margin: 0.15rem 0; border-radius: 0.25rem; box-sizing: border-box; background-color: #fff;}
input[type="submit"], .MemberForm button {font: inherit; -webkit-appearance: none; border: none; color: #fff; background-color: var(--vasa-green); padding: 0.35rem 0.65rem; margin: 0.15rem 0; border-radius: 0.25rem; box-sizing: border-box;}
input[type="submit"]:hover, input[type="submit"]:active, .MemberForm button:hover, .MemberForm button:active {background-color: var(--vasa-bright-green); box-shadow: 0 0.15rem 0.8rem rgba(0, 198, 109, 0.67);}
select {padding: 0.35rem 1.25rem 0.35rem 0.65rem; overflow: hidden; display: inline-block; max-width: 100%; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 40'%3E%3Cdefs%3E%3Cstyle%3E.a%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cpath class='a' d='M61.8,2.448a7.469,7.469,0,0,0-5.3-2.2H7.491A7.5,7.5,0,0,0,2.2,13.049l24.5,24.5a7.495,7.495,0,0,0,10.6,0l24.5-24.5A7.482,7.482,0,0,0,61.8,2.448Z'/%3E%3C/svg%3E"), linear-gradient(var(--vasa-bright-green) 0%, var(--vasa-green) 100%); background-position: right 0.2rem center, right; background-size: 0.5rem auto, 0.9rem 100%; background-repeat: no-repeat;}

.MemberForm .ButtonCancel {background-color: var(--vasa-dark-grey);}
.MemberForm .ButtonCancel:hover, .MemberForm .ButtonCancel:active {background-color: var(--vasa-extra-dark-grey); box-shadow: 0 0.15rem 0.8rem rgba(181, 190, 200, 0.67);}
.MemberForm .ButtonSecure::after {padding-right: 0; padding-left: 0.5em; min-width: auto; color: var(--vasa-yellow); display: inline-block;}
.MemberForm .ButtonSecure:disabled {background-color: var(--vasa-dark-grey); padding: 0.35rem 0.15rem 0.35rem 0.65rem;}
.MemberForm .ButtonSecure:disabled:hover {background-color: var(--vasa-dark-grey); box-shadow: none;}
.MemberForm .ButtonSecure:disabled::after {animation: VASALoading 0.65s linear infinite; padding-right: 0.5em;}

@keyframes VASALoading { 
	0% {transform: rotate(0deg);}
	100% {transform: rotate(360deg);}
}

.MemberForm .ButtonPadded {margin-left: 0.15rem; margin-right: 0.15rem;}
.MemberForm .ButtonLarge {padding: 0.75rem 1.35rem;}
.MemberForm .ButtonLarge.ButtonSecure:disabled {padding: 0.75rem 0.85rem 0.75rem 1.35rem;}

.MemberForm {box-sizing: border-box;}
.MemberFormPanel, .MemberFormGroupPanel {max-width: 500px; padding: 1rem 1.2rem; border-radius: 0.5rem; background-color: var(--vasa-light-grey);}
.MemberFormCentred, .MemberFormGroupPanel {margin-left: auto; margin-right: auto;}
.MemberFormConstrained {max-width: 620px;}
.MemberFormGroupPanelOutlined {background-color: transparent; border: 1px solid var(--vasa-light-grey); box-shadow: 0 0.15rem 0.8rem var(--vasa-light-grey);}
.MemberFormGroupPanelOutlinedFlat {background-color: transparent; border: 1px solid var(--vasa-mid-grey);}

.MemberForm .MemberFormTitle {font-weight: normal;}
.MemberForm h3.MemberFormTitle {color: var(--vasa-dark-grey);}

.MemberFormGroup:first-of-type .MemberFormTitle, .MemberFormGroupPanel .MemberFormTitle:first-of-type {margin-top: 0;}
.MemberFormGroup {margin-bottom: var(--vasa-pad); position: relative;}
.MemberFormPanel .MemberFormGroup {margin-bottom: calc(var(--vasa-pad) / 2);}
.MemberFormGroup:last-child {margin-bottom: 0;}

.MemberFormGroupBorderBefore {border-top: 1px solid var(--vasa-light-grey); padding-top: var(--vasa-pad); margin-top: var(--vasa-pad);}
.MemberFormGroupBorderAfter {border-bottom: 1px solid var(--vasa-light-grey); padding-bottom: var(--vasa-pad); margin-top: var(--vasa-pad);}
.MemberFormPanel .MemberFormGroupBorderBefore, .MemberFormGroupPanel .MemberFormGroupBorderBefore {border-top: 1px solid var(--vasa-mid-grey); padding-top: calc(var(--vasa-pad) / 2); margin-top: calc(var(--vasa-pad) / 2);}
.MemberFormPanel .MemberFormGroupBorderAfter, .MemberFormGroupPanel .MemberFormGroupBorderAfter {border-bottom: 1px solid var(--vasa-mid-grey); padding-bottom: calc(var(--vasa-pad) / 2); margin-top: calc(var(--vasa-pad) / 2);}

.MemberFormRow label {width: 5rem; display: inline-block; color: var(--vasa-dark-grey); padding-right: 0.5em; text-align: right;}
.MemberFormRow input, .MemberFormRow select {width: calc(100% - 5rem);}
.MemberFormRowWrap {margin-bottom: 0.5rem;}
.MemberFormRowWrap label {width: auto; display: block; margin: 0.15rem 0; text-align: left;}
.MemberFormRowWrap.MemberFormRowCentred label {text-align: center;}
.MemberFormRowCentred {text-align: center;}
.MemberFormCheckboxRow {margin: 0.65rem 0; white-space: nowrap;}
.MemberFormCheckboxRow label {display: inline-block; color: var(--vasa-dark-grey); padding-right: 0.2em; max-width: calc(100% - 1rem);}
.MemberFormCheckboxRow input + label {padding-right: 0; padding-left: 0.2em; white-space: normal; vertical-align: text-top;}
.MemberFormCheckboxRow:last-child {margin-bottom: 0;}
.MemberFormButtonRow {text-align: right;}
.MemberFormLinkRow, .MemberFormRequiredRow {font-size: 0.8rem;}
.MemberFormRequiredRow {font-style: italic;}
.MemberFormRequiredRowTopRight {position: absolute; right: 0; top: 0;}
.MemberFormRequired {color: var(--vasa-green); padding-right: 0.2em;}
.MemberFormRequiredRow {color: var(--vasa-dark-grey);}
.MemberFormRequiredField {color: var(--vasa-green); padding-right: 0.2em;}

#wpmem_pwdchange_form .MemberFormRow {margin-top: 0.4rem;}
#wpmem_pwdchange_form .MemberFormRow label {display: block; width: 100%;}
#wpmem_pwdchange_form .MemberFormRow input {width: 100%;}

/* Profile, join, renew */

#VASARenewForm .MemberFormRow label {width: 6.5rem;}
#VASARenewForm .MemberFormRow input {width: calc(100% - 6.5rem);}

#VASAVRenewMember {max-width: 5rem;}
#VASAVRenewAuth {max-width: 10rem;}

#VASAJoinRenewForm .MemberFormRow label, #wpmem_profile_form .MemberFormRow label {width: 7rem;}
#VASAJoinRenewForm .MemberFormRow input, #VASAJoinRenewForm .MemberFormRow select, #wpmem_profile_form .MemberFormRow input {width: calc(100% - 7rem);}

#VASARenewForm h2.MemberFormTitle, #VASAJoinRenewForm h2.MemberFormTitle, #VASAInvoiceForm h2.MemberFormTitle, #VASAInvoiceMarkPaidForm h2.MemberFormTitle {color: var(--vasa-green);}

#VASAInvoiceFormSummary .MemberFormRow {padding-bottom: 0.5rem;}
#VASAInvoiceFormSummary .MemberFormRow:nth-last-child(2) label {vertical-align: top;}
#VASAInvoiceFormSummary .MemberFormRow:nth-last-child(2) span {display: inline-block; width: calc(100% - 5rem);}
#VASAInvoiceFormSummary .MemberFormRow:last-child {font-weight: bold;}
#VASAInvoiceFormSummary .MemberFormRow:last-child label {color: var(--vasa-green);}

#VASAVEmail, #VASAVName, #VASAVAddress1, #VASAVAddress2, #VASAVCountry {max-width: 18rem;}
#VASAVMobile, #VASAVPhone, #VASAVState, #wpmem_profile_form #phone1, #wpmem_profile_form #mobile, #wpmem_profile_form #thestate {max-width: 8.5rem;}
#VASAVPostcode, #wpmem_profile_form #postcode {max-width: 6rem;}
#VASAVFirstName, #VASAVLastName, #wpmem_profile_form #first_name, #wpmem_profile_form #last_name {max-width: 10rem;}
#VASAVQualifications, #VASAVSuburb, #VASAVTitle, #wpmem_profile_form #position, #wpmem_profile_form #city {max-width: 13rem;}
#VASAVOfferCode {max-width: 7rem;}

#wpmem_profile_form .MemberFormRow:nth-child(2), #wpmem_profile_form .MemberFormRow:nth-child(7), #wpmem_profile_form .MemberFormRow:nth-child(13) {margin-bottom: calc(var(--vasa-pad) / 2);}

#wpmem_getusername_form .MemberFormRow label {width: 3rem;}
#wpmem_getusername_form .MemberFormRow input {width: calc(100% - 3rem);}

#wpmem_member_links ul {list-style-type: none;}
#wpmem_member_links li {margin-left: 0;}

.MemberFormInvoices {border-collapse: collapse; min-width: 15.5em;}
.MemberFormInvoices tr:nth-child(even) td {background-color: var(--vasa-light-grey);}
.MemberFormInvoices th {color: var(--vasa-dark-grey); text-align: left; padding: 0.15rem 0;}
.MemberFormInvoices td {padding: 0.25rem 0.35rem;}
.MemberFormInvoices td:first-child {border-top-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem;}
.MemberFormInvoices td:last-child {border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem;}
.MemberFormInvoices td:last-child, .MemberFormInvoices th:last-child {text-align: right;}

.SeparatorBefore {padding-top: var(--vasa-pad); margin-top: var(--vasa-pad); border-top: 1px solid var(--vasa-light-grey);}
.PaddingAfter {padding-bottom: var(--vasa-pad);}
.ContainerClosed .ContainerInner {display: none;}
.ContainerToggleLink::after {font-size: 0.75em; vertical-align: baseline; padding-left: 0; padding-right: 0; margin-left: 0.25em; transition: transform 0.4s ease; transform: rotate(-90deg);}
.ContainerClosed .ContainerToggleLink::after {transform: rotate(90deg);}

.MessageBox {margin-top: var(--vasa-pad); margin-bottom: var(--vasa-pad);}
.MessageBox:first-child {margin-top: 0;}
.PostContent > span[id^="more-"] + .MessageBox {margin-top: 0;}
.FeaturedImage + .PostHolder > .PostContent > .MessageBox:first-child {margin-top: 1.1rem;}
.MessageBox > div {border: 1px solid var(--vasa-mid-grey); box-sizing: border-box; padding: 0.85rem 1.2rem; border-radius: 0.25rem;}
.MessageBoxLarge > div {border-radius: 0.5rem; padding: 1rem 1.2rem;}
.MessageBox > div > *:first-child {margin-top: 0;}
.MessageBox > div > *:last-child {margin-bottom: 0;}
.MessageSuccess {color: var(--vasa-green);}
.MessageSuccess > div {border-color: var(--vasa-green);}
.MessageError {color: var(--vasa-red);}
.MessageError > div {border-color: var(--vasa-red);}
.MessageNotice {color: var(--vasa-wg-purple);}
.MessageNotice > div {border-color: var(--vasa-wg-purple);}
.MessageCentred {text-align: center;}
.MessageBold {font-weight: bold;}

#PaymentDetails .StripeCardField {display: inline-block; vertical-align: middle;}
#PaymentDetails .StripeCardFieldRow {width: 16.7rem; max-width: 100%; margin-left: auto; margin-right: auto;}
#PaymentDetails #StripeCardNumber {width: 11rem;}
#PaymentDetails #StripeCardExpiry {width: 5rem;}
#PaymentDetails #StripeCardCVC {width: 4rem;}
#PaymentDetails .MemberFormRow label {width: 5.7rem !important;}
#StaffOptions .MemberFormRow label {width: 5rem !important;}
#StaffOptions .MemberFormRow input, #StaffOptions .MemberFormRow select {width: calc(100% - 5rem) !important;}
#VASAVOnlyCreateUserMemberNumber {max-width: 6rem;}

#PaymentDetails .MemberFormCheckboxRow label, #AgreementDetails .MemberFormCheckboxRow label {color: var(--vasa-green);}

#AgreementDetails .MemberFormRequired {padding-left: 0.2em; padding-right: 0;}
#AgreementDetails .MemberFormRow p {font-size: 0.75em;}

.CardErrors {color: var(--vasa-red);}
.CardExpiry {white-space: nowrap;}
.CardBrands::before {content: ''; background: transparent url(/payments/images/cards.png) no-repeat left / auto 100%; width: 6.5em; display: inline-block; vertical-align: middle; height: 1em; margin-right: 0.5em;}
.CardBrandsTitle::after {content: ''; background: transparent url(/payments/images/cards.png) no-repeat center / 100% auto; width: 5.85em; display: block; height: 1em; margin-left: 0.5em; flex-shrink: 1;}
.CardBrandsTitle {display: flex; justify-content: space-between; align-items: center; white-space: nowrap;}
#MessageCardSummary {text-align: center; color: var(--vasa-dark-grey);}

/* Member Box */

#VASAMemberBox > div {background-color: var(--vasa-green); color: #fff; border-color: var(--vasa-green);}
#VASAMemberBox > div {display: flex; flex-wrap: wrap;}

#VASAMemberBoxText {flex-grow: 20; padding-right: 0.5em;}
#VASAMemberBoxLogOutLink {flex-grow: 1; min-width: 6em; text-align: right;}

#VASAMemberBox.VASAMemberBoxLoggedOut > div {padding: 0; text-align: center; overflow: hidden;}
#VASAMemberBoxLogInLink {flex-grow: 20; background-color: #fff;}
#VASAMemberBox #VASAMemberBoxLogInLink:link, #VASAMemberBox #VASAMemberBoxLogInLink:visited {color: var(--vasa-green);}
#VASAMemberBox #VASAMemberBoxLogInLink:hover, #VASAMemberBox #VASAMemberBoxLogInLink:active {color: var(--vasa-bright-green);}
#VASAMemberBoxJoinText {flex-grow: 1;}
#VASAMemberBoxJoinText, #VASAMemberBoxLogInLink {padding: 0.85rem 1.2rem;}
#VASAMemberBox #VASAMemberBoxJoinText:hover {color: #fff; background-color: var(--vasa-bright-green);}
#VASAMemberBox #VASAMemberBoxJoinText:hover .icon-Join {opacity: 1;}

#ContentRestrictedHolder {padding-left: 0 !important; padding-right: 0 !important; max-width: 100% !important; padding-top: 6em; margin-top: -6em; background-image: linear-gradient(rgba(255, 255, 255, 0), #fff 46.5%); position: relative; background-size: 100% 12em; background-position: top; background-repeat: no-repeat; pointer-events: none;}
#ContentRestrictedHolder #wpmem_restricted_msg {border-top: 1px dashed var(--vasa-mid-grey); pointer-events: auto;}
#ContentRestrictedHolder + #wpmem_login #wpmem_login_form {margin-left: auto; margin-right: auto;}

.VASASml {font-size: 0.9em; padding-right: 0.25em;}
.VASASmlStatement {font-size: 0.8em; font-style: italic;}

/* Admin bar support */

#wpadminbar {z-index: 100100;}

/* Support devices with notches */

@supports(padding: max(0px)) {
	.Inner, .IsConstrained #ContentGroup, .IsNotConstrained .PostHeader, .IsNotConstrained .FeaturedImage figcaption, .IsNotConstrained #wpmem_restricted_msg, .IsNotConstrained .PostExtras, .IsNotConstrained .Pagination, .IsNotConstrained .PostContent > *, .IsNotConstrained #wpmem_restricted_msg, .IsNotConstrained .PostContent > .alignfull > figcaption {padding-left: max(var(--vasa-side-pad), (0.5rem + env(safe-area-inset-left))); padding-right: max(var(--vasa-side-pad), (0.5rem + env(safe-area-inset-right)));}
	.IsNotConstrained .alignfull > *[class*="_inner-container"] {padding-left: calc(max(var(--vasa-side-pad), (0.5rem + env(safe-area-inset-left))) + var(--vasa-has-background-side-pad)); padding-right: calc(max(var(--vasa-side-pad), (0.5rem + env(safe-area-inset-right))) + var(--vasa-has-background-side-pad));}
	.IsNotConstrained .alignwide > *[class*="_inner-container"] {max-width: calc(1030px - max(var(--vasa-side-pad), (0.5rem + env(safe-area-inset-left))) - max(var(--vasa-side-pad), (0.5rem + env(safe-area-inset-right)))); padding-left: var(--vasa-has-background-side-pad); padding-right: var(--vasa-has-background-side-pad); margin-left: auto; margin-right: auto;}
	#BannerPromo {right: max(var(--vasa-side-pad), (0.5rem + env(safe-area-inset-right)));}
}

/* Reduce motion */

@media (prefers-reduced-motion) {
	#Menu a > span::after {left: 0; right: 0;}
	.more-link:hover .icon-ArrNext, .RelatedPosts a:hover img {transform: none;}
	.ContainerToggleLink::after, #Search {transition-duration: 0s;}
}

/* Responsive rules */

/* Only have rounded corners on the menu above full width */

@media screen and (min-width: 1031px) {

	/* Header */

	#MenuHolder {border-radius: 0.25rem;}

	#Menu > ul > li:first-child > a {border-top-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem;}
	#Menu > ul > li:last-child > a {border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem;}
}

/* Reduce footer padding under full width */

@media screen and (max-width: 1030px) {

	/* Measures */

	:root {
		--vasa-footer-pad: 1.7rem;
	}
}

/* Above full width, remove menu side padding */

@media screen and (min-width: 1025px) {

	/* Header */

	#MenuHolder {padding-left: 0; padding-right: 0;}
}

/* Adjust the subscription form on narrower footer columns */

@media screen and (min-width: 620px) and (max-width: 1024px), screen and (max-width: 374px) {

	/* Footer */

	#FooterSubscribeIntro {display: flex; align-items: baseline;}
	#FooterSubscribe input[type="email"] {margin-left: 2em; width: calc(100% - 4em);}
	#FooterSubscribe input[type="submit"] {margin-left: 2em;}
}

@media screen and (min-width: 620px) and (max-width: 767px) {

	/* Footer */

	#FooterSubscribe input[type="email"] {margin-left: 0; width: 100%;}
	#FooterSubscribe input[type="submit"] {margin-left: 0;}
}

/* Adjust the subscription form to be full widget */

@media screen and (min-width: 375px) and (max-width: 619px) {

	/* Footer */

	#FooterSubscribe input[type="email"] {width: calc(100% - 5.25rem);}
	#FooterSubscribe input[type="submit"] {width: 5rem;}
}

/* Menu and header adjustments before mobile size */

@media screen and (max-width: 1024px) and (min-width: 768px) {

	/* Menu */

	#MenuHolder {padding-left: calc(var(--vasa-side-pad) - 0.5em); padding-right: calc(var(--vasa-side-pad) - 0.5em); max-width: 100%;}
	#Menu ul {justify-content: space-between;}
	#Menu li {flex-grow: 0;}

	/* Smaller Logo */

	#LogoHolder {padding-left: 0.5rem;}
	#HeaderLogo img, #HeaderLogoSpacer {width: 120px;}
	#HeaderLogoText {margin-left: 0.5rem; width: 320px; height: auto;}

	@supports(padding: max(0px)) {
		#MenuHolder {padding-left: calc(max(var(--vasa-side-pad), (0.5rem + env(safe-area-inset-left))) - 0.5em); padding-right: calc(max(var(--vasa-side-pad), (0.5rem + env(safe-area-inset-right))) - 0.5em);}

		#LogoHolder {padding-left: max(0.5rem, (0.5rem + env(safe-area-inset-left)));}
	}
}

/* Smaller logo before compact size */

@media screen and (max-width: 840px) {
	#HeaderLogoText {width: 300px;}
}

/* Menu item selective word hiding on top level before mobile size */

@media screen and (max-width: 920px) and (min-width: 768px) {
	#Menu > ul > li > a > span span {display: none;}
}

/* Switch content to a single column layout */

@media screen and (max-width: 767px) {

	/* Measures */

	:root {
		--header-banner-promo-top: 2.1rem;
		--header-banner-promo-bottom: 0.65rem;
	}

	/* Header */

	#Top {padding-top: 1rem;}
	#HeaderGroup, #MenuGroup {position: fixed;}
	#HeaderGroup {z-index: 100020; left: 0; right: 0; top: 0; box-shadow: 0 0 0.3rem rgba(0,0,0,0.5);}
	#MenuGroup {bottom: initial; top: 2.35rem; max-height: calc(100% - 2.35rem); overflow-y: auto; box-sizing: border-box; background-color: var(--vasa-extra-dark-grey);}

	#HeaderTitle {margin-top: 0.25rem; margin-bottom: 0.45rem;}
	#HeaderLinks {margin-bottom: 0; margin-top: 0.75rem;}
	#HeaderMemberLinks, #HeaderContactLinks {display: none;}
	#HeaderMenuLinks, #MenuMemberLinks {display: block;}

	#LogoHolder, #HeaderGroup, #HeaderLinks, #HeaderMenuLinks, #HeaderTitle, #HeaderLogoText, #HeaderLogoSpacer, #HeaderLogo, #HeaderLogo img, #HeaderMenuOpenClose {-webkit-user-select: none; user-select: none; touch-action: manipulation;}

	/* Smaller Logo */

	#LogoHolder {padding-left: 0.25rem;}
	#HeaderLogo img, #HeaderLogoSpacer {width: 58px;}
	#HeaderLogoText {margin-left: 0.35rem; width: 188px; height: auto;}

	/* Menu */

	#MenuHolder {display: none; box-shadow: none; padding-bottom: 0.5rem; background-color: var(--vasa-extra-dark-grey);}
	#Menu {margin-bottom: 0.35rem; padding-bottom: 0.35rem; border-bottom: 1px solid var(--vasa-dark-grey);}
	#Menu > ul {display: block;}
	#Menu a {text-align: left; padding: 0.75em 0.5em;}

	#Menu .sub-menu {position: relative; width: auto; margin-left: 0.35rem; margin-right: 0.35rem; margin-bottom: 0.85rem; border-top-right-radius: 0.25rem; background-color: var(--vasa-extra-dark-grey);}
	#Menu .sub-menu li {border-bottom-color: var(--vasa-dark-grey);}

	#Menu li:hover > a {background-color: transparent;}
	#Menu > ul > li > a > span::after, #Menu .current-menu-item > a > span::after, #Menu .current-post-parent > a > span::after, #Menu .current-menu-parent > a > span::after, #Menu .current-page-ancestor > a > span::after {border-bottom-color: var(--vasa-mid-grey);}
	#Menu .current-menu-item > a > span::after, #Menu .current-post-parent > a > span::after, #Menu .current-menu-parent > a > span::after, #Menu .current-page-ancestor > a > span::after {border-bottom-color: var(--vasa-yellow);}

	.MobileMenuActive {overflow: hidden;}
	.MobileMenuActive #MenuHolder {display: block;}
	.MobileMenuActive #MenuGroup {bottom: 0; background-color: rgba(0,0,0,0.7);}

	#Menu .iconNoMin {float: right; padding-left: 0.35em; padding-right: 0;}

	/* Banner */

	#BannerMotto {width: 10rem; height: auto; bottom: 0.55rem;}

	/* Breadcrumb */

	#BreadcrumbSearchHolder {padding-top: 0;}

	/* Content */

	#ContentGroup {display: block;}
	#Content {width: auto;}
	#Sidebar {border-top: 1px solid var(--vasa-light-grey); margin-top: var(--vasa-pad); padding-top: var(--vasa-pad); width: auto; margin-left: 0;}

	/* Main container padding and size */

	.IsConstrained #ContentGroup {padding-left: 0; padding-right: 0;}
	.Inner, #Sidebar, #ContentGroup .PostExcerptHolder, #ContentGroup .PostHeader, #ContentGroup .FeaturedImage figcaption, #ContentGroup .PostExtras, #ContentGroup #AboveArchives, #ContentGroup .Pagination, #ContentGroup .PostContent > *, #wpmem_restricted_msg, #ContentGroup .PostContent > .alignfull > figcaption {box-sizing: border-box; max-width: 100%; padding-left: var(--vasa-side-pad); padding-right: var(--vasa-side-pad); margin-left: auto; margin-right: auto;}
	.alignfull > *[class*="_inner-container"] {max-width: 100%; padding-left: calc(var(--vasa-side-pad) + var(--vasa-has-background-side-pad)); padding-right: calc(var(--vasa-side-pad) + var(--vasa-has-background-side-pad)); margin-left: auto; margin-right: auto;}
	.alignwide > *[class*="_inner-container"] {max-width: calc(1030px - var(--vasa-side-pad) * 2); padding-left: var(--vasa-has-background-side-pad); padding-right: var(--vasa-has-background-side-pad); margin-left: auto; margin-right: auto;}

	#ContentGroup .PostContent .alignwide {max-width: 1280px;}
	#ContentGroup .PostContent .alignfull {max-width: 100%; padding-left: 0; padding-right: 0;}

	/* Support devices with notches */

	@supports(padding: max(0px)) {
		.Inner, #Sidebar, #ContentGroup .PostExcerptHolder, #ContentGroup .PostHeader, #ContentGroup .FeaturedImage figcaption, #ContentGroup .PostExtras, #ContentGroup #AboveArchives, #ContentGroup .Pagination, #ContentGroup .PostContent > *, #wpmem_restricted_msg, #ContentGroup .PostContent > .alignfull > figcaption {padding-left: max(var(--vasa-side-pad), (0.5rem + env(safe-area-inset-left))); padding-right: max(var(--vasa-side-pad), (0.5rem + env(safe-area-inset-right)));}
		#ContentGroup .PostContent > .alignfull > *[class*="_inner-container"] {padding-left: calc(max(var(--vasa-side-pad), (0.5rem + env(safe-area-inset-left))) + var(--vasa-has-background-side-pad)); padding-right: calc(max(var(--vasa-side-pad), (0.5rem + env(safe-area-inset-right))) + var(--vasa-has-background-side-pad));}
		#ContentGroup .PostContent > .alignwide > *[class*="_inner-container"] {max-width: calc(1030px - max(var(--vasa-side-pad), (0.5rem + env(safe-area-inset-left))) - max(var(--vasa-side-pad), (0.5rem + env(safe-area-inset-right)))); padding-left: var(--vasa-has-background-side-pad); padding-right: var(--vasa-has-background-side-pad); margin-left: auto; margin-right: auto;}

		#LogoHolder {padding-left: max(0.25rem, (0.25rem + env(safe-area-inset-left)));}
		.MobileMenuActive #MenuGroup {padding-bottom: env(safe-area-inset-bottom);}
	}

	/* Related Posts */

	.RelatedPosts li {flex-basis: 30.6%;}
	.RelatedPostPad {display: none;}
	.RelatedPostNoHideOn3 {display: block;}

	/* Forms - General, Log In */

	.MemberFormInvoices {margin-left: auto; margin-right: auto;}

	/* Admin bar support */

	#wpadminbar {position: relative; z-index: 99999;}
	.admin-bar #Top {padding-top: 0}
	.admin-bar {--header-banner-promo-top: 0.65rem;}
}

/* Override Tabby styles */

@media (max-width: 767px) {
	.responsive-tabs-wrapper {border-top: none !important;}
	.responsive-tabs .responsive-tabs__heading:nth-child(2) {border-top: 1px solid #ccc;}
}

/* When content is single column layout, switch sidebar to two columns */

@media screen and (max-width: 767px) and (min-width: 480px) {
	#Sidebar {display: flex; justify-content: space-between; flex-wrap: wrap; padding-top: 0;}
	#Sidebar .Widget {flex-basis: 34%; flex-grow: 1; margin-top: var(--vasa-pad); margin-bottom: 0; border-bottom: none;}
	#Sidebar .Widget:nth-child(even) {margin-left: var(--vasa-pad);}
	#Sidebar .WidgetContent {margin-bottom: 0;}
	#Sidebar .WidgetContent > *:first-child, #Sidebar .WidgetContent > *:first-child > *:first-child {margin-top: 0;}
}

@media screen and (max-width: 620px) {
	#FooterWidgets {flex-wrap: wrap;}
	#FooterWidgets .Widget:last-child {margin-left: 0; flex-basis: 100%; margin-top: 0;}
	#FooterWidgets .Widget:nth-last-child(2) {margin-right: 0;}

	#FooterWidgets .Widget .WidgetContent {margin-bottom: 0;}
	#FooterWidgets .Widget:last-child .WidgetContent {margin-bottom: var(--vasa-footer-pad);}

	#Footer {text-align: center; flex-wrap: wrap;}
	#FooterCopyright {order: 2; line-height: 1.5; margin-top: 0;}
	#FooterToTop {order: 1; flex-basis: 100%; margin: 1.5em 0;}
}

/* Tighten spacing */

@media screen and (max-width: 550px) {
	/* Measures */ 

	:root {
		--vasa-pad: 1rem;
		--vasa-footer-pad: 1rem;
	}

	.has-background > * {
		--vasa-has-background-side-pad: 0.8rem;
	}

	/* News Ticker */

	.FDTicker {font-size: 0.75rem;}
	#NewsTickerLabel .icon-News {padding-left: 0;}
	#NewsTickerLabel span:first-child {display: none;}

	/* Forms */

	.MemberFormPanel, .MemberFormGroupPanel, .MessageBox > div, .MessageBoxLarge > div, #VASAMemberBoxJoinText, #VASAMemberBoxLogInLink {padding: 0.8rem 1rem;}
	.MessageBoxLarge > div {border-radius: 0.25rem;}

	/* Archives */

	.PostExcerptHolderWithThumbnail {display: block;}
	.PostExcerptHolder .PostThumbnail {float: right; margin: 0 0 0.5rem 1em;}

	/* Related Posts */

	.RelatedPosts li {flex-basis: 48%;}
	.RelatedPostNoHideOn3 {display: none;}

	/* FAVM */

	#FAVMMapMemberStates {display: none;}
	#FAVMMapMemberStatesCompact {display: block;}
}

/* Tighten banner motto/promo if promo is active */

@media screen and (max-width: 440px) {
	/* Banner */

	:root {
		--header-banner-promo-bottom: 1.85rem;
	}
	.IsActiveBannerPromo #BannerPromo {width: 55%;}
	.IsActiveBannerPromo #BannerMotto {width: 9rem;}

	/* Forms */

	.MemberForm .MemberFormTitle {font-size: 1.1rem;}
	#VASAJoinRenewForm .CompactHide, #wpmem_profile_form .CompactHide {display: none;}
	#VASAJoinRenewForm .MemberFormRow label, #wpmem_profile_form .MemberFormRow label {width: 5.75rem;}
	#VASAJoinRenewForm .MemberFormRow input, #VASAJoinRenewForm .MemberFormRow select, #wpmem_profile_form .MemberFormRow input {width: calc(100% - 5.75rem);}
}

/* Mobile - Large */

@media screen and (max-width: 413px) {
	#PaymentDetails .StripeCardNumberFieldRow label {display: block; width: auto !important; margin: 0.15rem 0; text-align: left;}
	#PaymentDetails .StripeCardNumberFieldRow {margin-bottom: 0.15rem; width: 100%;}
	#PaymentDetails #StripeCardNumber {width: 100%;}
}

/* Mobile - Medium */

@media screen and (max-width: 375px) {
	/* Breadcrumb */

	#SearchClose .ButtonLabel {display: none;}

	/* Content Extras */

	.PostShare {margin-top: var(--vasa-pad); text-align: center;}

	/* Forms */

	.MemberFormLinkRow, .MemberFormRequiredRow {font-size: 0.7rem; margin-top: 0.25rem;}

	#wpmem_login_form .MemberFormRow label {width: 4.5rem;}
	#wpmem_login_form .MemberFormRow input {width: calc(100% - 4.5rem);}
	#wpmem_login_form .MemberFormTitle {font-size: 1rem;}

	#VASARenewForm .CompactHide {display: none;}
}

/* Mobile - Smaller */

@media screen and (max-width: 374px) {

	/* Measures */

	:root {
		--header-banner-promo-top: 3rem;
	}

	/* Header */

	#Top {padding-top: 0;}
	#HeaderLogoText {width: 148px;}

	#HeaderMenuOpenClose {padding: 0 1.3rem 0 0;}

	/* Breadcrumb */

	#SearchOpen .ButtonLabel {display: none;}
	#SearchOpen .icon-Search {min-width: auto;}

	/* Archives */

	#ContentGroup .PostExcerptHolder .PostThumbnail img {width: 116px;}

	/* Related Posts */

	#RelatedPosts .RelatedPostsWidget {margin-bottom: var(--vasa-pad);}
	.RelatedPosts {display: block;}
	.RelatedPosts li {border-bottom: 1px solid var(--vasa-mid-grey); padding-bottom: 0.85rem;}
	.RelatedPosts .RelatedPostLast {border-bottom: none; padding-bottom: 0;}

	/* Forms */

	.MemberFormPanel, .MemberFormGroupPanel, .MessageBox > div, .MessageBoxLarge > div, #VASAMemberBoxJoinText, #VASAMemberBoxLogInLink {padding: 0.7rem 0.8rem;}
}