:root{
	--color-1: #adadad;
	--color-1-overlay: #ffffff;
	--color-2: #dadada;
	--color-2-overlay: #ffffff;
	--color-red: #c42e01;
	--color-red-overlay: #ffffff;
	--color-amber: #efb910;
	--color-amber-overlay: #ffffff;
	--color-green: #089501;
	--color-green-overlay: #ffffff;
	--color-blue: #00a5e1;
	--color-blue-overlay: #ffffff;
	--color-text: #555555;
	--color-text-grey: #bbbbbb;
	--color-border-grey: #eaeaea;
	--color-background: #ffffff;
	--color-background-light-grey: #fafafa;
	--color-background-light-grey-overlay: var(--color-text);
	--color-background-grey: #bbbbbb;
	--color-background-grey-overlay: #ffffff;
	--color-background-dark-grey: #888888;
	--color-background-dark-grey-overlay: #ffffff;
	--color-input-focus: #ffffff;
}

/****/

@font-face{
font-family: "Body"; font-style: normal; font-weight: 400;
src: url("../_media/fonts/sourcesanspro.woff2") format("woff2");
}

@font-face{
font-family: "Body"; font-style: italic; font-weight: 400;
src: url("../_media/fonts/sourcesanspro-italic.woff2") format("woff2");
}

@font-face{
font-family: "Body"; font-style: normal; font-weight: 700;
src: url("../_media/fonts/sourcesanspro-semibold.woff2") format("woff2");
}

@font-face{
font-family: "Body"; font-style: italic; font-weight: 700;
src: url("../_media/fonts/sourcesanspro-semibolditalic.woff2") format("woff2");
}

@font-face{
font-family: "Header"; font-style: normal; font-weight: 700;
src: url("../_media/fonts/sourcesanspro-semibold.woff2") format("woff2");
}

@font-face{
font-family: "Header"; font-style: italic; font-weight: 700;
src: url("../_media/fonts/sourcesanspro-semibolditalic.woff2") format("woff2");
}

@font-face{
font-family: "Button"; font-style: normal; font-weight: 700;
src: url("../_media/fonts/sourcesanspro-semibold.woff2") format("woff2");
}

/****/

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, main { display: block; }
audio, canvas, video { display: inline-block; }
audio:not([controls]) { display: none; }
html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
::-moz-selection { text-shadow: none; }
::selection { text-shadow: none; }
a:focus { outline: thin dotted; }
a:hover, a:active, :target { outline: 0; }
strong{ font-weight: 700; }
pre, code, kbd, samp { font-family: monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
label { cursor: pointer; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="tel"], textarea { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
button { font-size: inherit; }
form{ display: inline-block; width: 100%; }
a, button, input, select, textarea, label{ touch-action: manipulation; }
select:disabled{ opacity: 1; }

/****/

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus, .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight, .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error, .ui-widget-header, .ui-icon, .ui-widget-content .ui-icon, .ui-widget-header .ui-icon, .ui-state-default .ui-icon, .ui-state-hover .ui-icon, .ui-state-focus .ui-icon, .ui-state-active .ui-icon, .ui-state-highlight .ui-icon, .ui-state-error .ui-icon, .ui-state-error-text .ui-icon, .ui-widget-overlay, .ui-widget-shadow, .ui-progressbar .ui-progressbar-overlay{
    background-image: none !important;
}

.ui-widget{
    font-family: inherit;
    font-size: 0.8rem;
}

.ui-widget-content, .ui-widget-content a, .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default{
    color: inherit;
}

.ui-widget-header{
    font-family: "Header", sans-serif;
    font-weight: inherit;
    border: 1px solid transparent;
    color: currentColor;
    text-decoration: none;
    background: none;
}

.ui-widget.ui-widget-content, .ui-widget-content{
    border: 0;
}

.ui-dialog .ui-dialog-titlebar-close{
    margin-top: -10px;
    padding: 0;
}

.ui-dialog{
    max-width: 100%;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.2);
}

.ui-dialog .ui-dialog-titlebar{
    padding: 0;
    text-align: center;
}

.ui-dialog .ui-dialog-title{
    font-size: 1.3em;
    margin: 1em 0 0 0;
    width: 100%;
}

.ui-dialog .ui-dialog-buttonpane{
    padding: 0;
}

.ui-dialog .ui-dialog-content{
    padding: 1em 3em;
    text-align: left;
}

.ui-menu .ui-menu-item{
	list-style: none;
}

.ui-autocomplete{
    text-align: left;
    max-height: 10em;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 5px 20px 5px 5px;
}

.ui-autocomplete .ui-state-focus{
    font-weight: inherit;
    background: inherit;
    color: inherit;
}

.ui-icon-closethick{
    text-indent: 0;
}

.ui-dialog-buttonpane .ui-button{
	min-width: 5em;
}

.ui-button-icon-only .ui-icon{
    font-family: "FontAwesome";
    font-weight: 400;
    margin-top: -0.65em;
}

.ui-widget-header .ui-icon-closethick:after, .ui-state-focus .ui-icon-closethick:after, .ui-state-hover .ui-icon-closethick:after{
    font-family: "FontAwesome";
    font-weight: 400;
    content: "\f00d";
    font-size: 0.8em;
}

.ui-icon-circle-triangle-w,  .ui-icon-circle-triangle-e{
    display: none;
}

.ui-datepicker{
    border: 1px solid var(--color-border-grey);
}

#ui-datepicker-div{
    z-index: 9999 !important;
}

.ui-datepicker-prev:after, .ui-state-focus .ui-datepicker-next:after, .ui-state-hover .ui-datepicker-next:after{
    font-family: "FontAwesome";
    font-weight: 400;
    content: "\f060";
    color: inherit;
}

.ui-datepicker-next:after, .ui-state-focus .ui-datepicker-next:after, .ui-state-hover .ui-datepicker-next:after{
    font-family: "FontAwesome";
    font-weight: 400;
    content: "\f061";
    color: inherit;
}

.ui-widget input, .ui-widget select, .ui-widget textarea{
	font-family: inherit;
}

.ui-tooltip{
    border: 0;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.ui-tooltip .title{
    font-weight: 700;
    font-size: 1.1em;
}

.ui-tooltip .title{
    margin-bottom: 0.5em;
}

.ui-tooltip .description p{
    margin: 0.5em 0;
}

.ui-tooltip .description ul{
    margin: 1.5em 1em 1em 2em;
    text-align: left;
    list-style: none;
}

.title-tooltip{
    font-size: 0.85em;
    padding: 5px 10px;
}

.data-coaching-tooltip{
    line-height: 1.5;
    padding: 0.8em 1em;
}

.data-coaching-tooltip .description p:first-of-type{
    margin-top: 0;
}

.data-coaching-tooltip .description p:last-of-type{
    margin-bottom: 0;
}

/****/

h1, a, .coachingTip, .information, .ui-widget-content a, .navToggle{
	color: var(--color-1);
}

.uiButton, .fileInput + label, .ui-button, .informationBox{
	background: var(--color-1);
	color: var(--color-1-overlay);
}

.errorBox{
	background: var(--color-red);
	color: var(--color-red-overlay);
}

input.text:focus, textarea:focus, select:focus{
	border: 1px solid var(--color-1);
}

a.current, mark{
	color: var(--color-2);
}

.uiButton:hover, .uiButton:focus, .uiButton.current, .fileInput + label:hover, .fileInput:focus + label, .fileInput.has-focus + label, .ui-button:hover, .ui-button:focus:hover:focus{
	background: var(--color-2);
	color: var(--color-2-overlay);
}

::selection{
	background: var(--color-1);
	color: var(--color-1-overlay);
}

::-moz-selection{
	background: var(--color-1);
	color: var(--color-1-overlay);
}

html{
	accent-color: var(--color-1);
}

/****/

.uiButton, .fileInput + label, .ui-button, .ui-dialog .ui-button, .ui-dialog .ui-button:hover, .ui-dialog .ui-button:focus, .labelSpan, .propertyInfoLabel, .dataTable th, .alertBanner .alertTag{
	font-family: "Button", sans-serif;
	font-weight: 700;
}

/****/

*, *:before, *:after{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

body{
	font-family: "Body", sans-serif;
	font-size: 15px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	color: var(--color-text);
	margin: 0;
}

#wrap{
	margin: auto;
	padding: 0;
	width: 100%;
	min-width: 350px;
}

#page{
	background: var(--color-background);
}

html.white #page{
	background: #ffffff;
}

header, main, footer{
    max-width: 1400px;
}

/****/

#headerWrap{
    padding: 2% 5%;
    background: rgba(255, 255, 255, 0.9);
	position: sticky;
  	top: 0;
    z-index: 3;
}

header{
    margin: auto;
    padding: 0;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1em;
}

header h1{
	width: 30%;
}

header h1 svg, header h1 img{
	width: 100%;
	height: auto;
	min-width: 150px;
	max-width: 200px;
}

header h1 a{
	display: flex;
	align-items: center;
}

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

	#headerWrap{
		padding: 4% 3%;
	}

	header{
		display: flex;
	}

}

/****/

#footerWrap{
    padding: 1% 5%;
}

footer{
	margin: auto;
	padding: 0;
	position: relative;
	text-align: center;
	font-size: 0.8em;
	color: var(--color-text-grey);
}

footer a{
	color: var(--color-text-grey);
}

footer a:hover, footer a:focus{
	text-decoration: underline;
	text-decoration-skip: ink;
}

footer .copyright{
    padding: 1em 0;
    font-size: 0.9em;
}

footer .copyright > span, 
footer .copyright div > span{
    display: inline-block;
	white-space: nowrap;
	padding: 0 0.1em;
}

footer .copyright span:after{
    content: " |";
}

footer .copyright span:last-of-type:after{
    content: "";
}

/****/

#mainWrap{
    padding: 1% 5%;
}

main{
    margin: auto;
    padding: 0;
	position: relative;
}

/****/

p{
	margin: 1em auto;
    line-height: 1.5;
}

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

	p{
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		-ms-hyphens: auto;
		-o-hyphens: auto;
		hyphens: auto;
	}

}

a{
	text-decoration: none;
	font-weight: 700;
}

a.underline{
	text-decoration: underline;
}

a:hover, a:focus{
	text-decoration: underline;
	text-decoration-skip: ink;
}

a:not([href]), a:not([href]):hover{
	color: var(--color-text-grey) !important;
	cursor: default;
}

a[href^=tel]{
	color: inherit;
	text-decoration: none;
}

h1, h2, h3, h4, h5{
	font-family: "Header", sans-serif;
}

h1, h2, h3, h4, h5, h1 a, h2 a, h3 a, h4 a, h5 a{
	font-weight: inherit;
}

h1{
	margin: 0;
	padding: 0;
}

h1 .coachingTip{
	font-size: 0.8em;
}

h2{
	font-size: 1.4em;
	margin: 2em 0 1em 0;
	padding: 0;
}

h3{
	font-size: 1em;
	padding: 2px 3px;
	margin: 2em 0 1em 0;
}

h4{
	font-size: 1em;
	margin-bottom: 10px;
	text-align: center;
}

ol, ul{
	margin: 1.5em;
	padding: 0;
    line-height: 1.5;
}

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

	ol, ul{
		margin: 1em 0;
	}

}

ol{
	list-style: decimal;
}

ol.loweralpha{
	list-style: lower-alpha;
}

li{
	margin-bottom: 0.5em;
}

th{
	text-align: left;
}

mark{
	font-weight: 700;
}

img{
	vertical-align: middle;
}

figure{
    text-align: center;
    border: 1px solid var(--color-text-grey);
    padding: 0.8em;
    margin: 2em auto;
    max-width: 600px;
}

figure img{
    width: 100%;
    height: auto;
}

figcaption{
    font-size: 0.8em;
    margin-top: 1em;
}

address{
    line-height: 1.5;
	font-style: normal;
}

blockquote{
	margin: 2em 5%;
}

blockquote .author{
	text-align: right;
	font-style: italic;
	font-weight: 700;
}

dt{
	font-weight: 700;
	margin: 1em 0 0.5em 0;
}

abbr[data-coaching], dfn[data-coaching]{
	border-bottom: 1px solid;
	text-decoration: none;
	font-style: normal;
	cursor: help;
}

/****/

.fillLink{
	display: block;
	height: 100%;
}

.invisibleLink{
	color: inherit !important;
	font-weight: inherit;
}

.invisibleLink:hover{
	text-decoration: none;
}

.breakout{
    position: relative;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

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

	.breakout{
		margin-left: -5% !important;
	}

}

cite.publication{
	font-size: 0.95em;
}

cite.publication{
	font-style: italic;
}

cite.publication:before{
	content: "(";
}

cite.publication:after{
	content: ")";
}

.hidden, .js .jshidden, .no-js .nojshidden, .screenReaderOnly:not(:focus):not(:active){
	clip: rect(0 0 0 0) !important; 
	clip-path: inset(50%) !important;
	height: 1px !important;
	width: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	white-space: nowrap !important;
}

.hidden, .js .jshidden, .no-js .nojshidden{
	top: 0 !important;
	left: 0 !important;
}

.nodisplay{
    display: none;
}

.screenReaderText{
  position: absolute;
  top: -9999px;
  left: -9999px;
}

.centerMid{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 40%;
  height: 50%;
}

.note{
	opacity: 0.7;
	font-size: 0.8em;
}

.subtext{
	font-size: 0.7em;
}

a.mutedLink{
	opacity: 0.7;
}

.itemLink{
	margin-top: 0.5em;
}

.markdown{
	word-wrap: break-word;
}

/****/

.loginText{
    font-size: 0.7rem;
	padding: 5px;
	display: flex;
	justify-content: flex-end;
	gap: 0.2em;
}

/****/

nav{
	margin: 0;
	padding: 0;
    background: transparent;
    z-index: 3;
	flex: 1;
}

.navMenu{
	list-style: none;
	list-style-image: none;
	margin: 1em auto;
	padding: 0;
	display: flex;
	gap: 1.2em;
	justify-content: flex-end;
	align-items: center;
}

.navMenu li{
	margin: 0;
    text-align: center;
    line-height: 1.2em;
    white-space: nowrap;
}

.navMenu li a{
	border: 1px solid transparent;
	font-family: "Button", sans-serif;
	font-weight: inherit;
	padding: 0.5em 0;
	width: 100%;
}

.navMenu li a.current, .navMenu li a:hover, .navMenu li a:focus{
	text-decoration: none;
	outline: 0;
}

.navMenu li.loginMenuItem{
    text-align: center;
}

.navMenu li.loginMenuItem a{
    background: var(--color-1);
    color: var(--color-1-overlay);
    padding: 0.5em 1.5em;
    border-radius: 3px;
	border: 1px solid transparent;
}

.navMenu li.loginMenuItem a:hover{
    background: var(--color-2);
    color: var(--color-2-overlay);
	border: 1px solid transparent;
}

nav .subMenuWrap{
    display: none;
}

.navToggle{
    display: none;
    font-size: 2em;
    z-index: 500;
    cursor: pointer;
}

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

	nav{
		position: static;
		z-index: 100;
		width: 100%;
		display: none;
		border-top: 1px solid var(--color-border-grey);
		padding: 0;
		margin-top: 0.5em;
		flex: none;
	}

	.navToggle{
		display: block;
	}

	.navMenu{
		display: none;
		margin-top: 0.5em;
	}

	.navMenu ul li{
		font-size: 0.8em;
	}

	.navMenu li{
		display: block;
		padding: 0.2em 0;
		margin: 0;
		text-align: center;
		border-top: 1px solid var(--color-border-grey);
	}

	.navMenu li:first-of-type, .navMenu li.loginMenuItem, .navMenu ul li{
		border-top: none;
	}

	.navMenu .loginMenuItems li:first-of-type{
		border-top: 1px solid var(--color-border-grey);
	}

	.navMenu li a{
		display: block;
		padding: 0.2em;
		font-size: 1.2em;
	}

	nav .subMenuWrap{
		display: block;
		margin: 0.5em 0;
	}

	.loginText{
		display: none;
	}

}

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

	.loginMenuItems{
		display: none;
	}

}


/****/

form table{
	margin: auto;
}

form table td{
	padding: 3px;
}

div.submit{
	margin-top: 1em;
    text-align: right;
}

input, select, textarea{
    border-radius: 3px;
    padding: 0.6em;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	line-height: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
}

input.text, select, textarea{
    color: inherit;
}

select::-ms-expand{
    display: none;
}

input.sinput{
    display:none !important;
}

::placeholder{
    opacity: 0.7;
    color: inherit;
}

input[type="checkbox"]{
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    appearance: checkbox;
}

input[type="radio"]{
	-webkit-appearance: radio;
	-moz-appearance: radio;
	appearance: radio;
}

input[type="date"], input[type="time"]{
	font-size: 0.9em;
	max-width: 15em;
    min-height: 2em;
    min-width: 7em;
}

.icon{
    width: 16px;
    height: 16px;
}

.information{
	font-weight: 700;
}

.inputLabel{
	width: 100px;
	vertical-align: middle;
}

textarea {
    resize: none;
    overflow: hidden;
}

textarea.clipboard{
    width: 100%;
    height: 10em;
    font-size: 0.8rem;
    opacity: 0.7;
}

select{
    max-width: 100%;
	word-wrap: normal;
}

input.text, textarea, select{
	border: 1px solid var(--color-border-grey);
	background: transparent;
}

input.text.invalid, textarea.invalid, select.invalid{
    border: 1px solid var(--color-red);
}

input.text:invalid, select:invalid, textarea:invalid{
	background: transparent;
}

input.text:focus, select:focus, textarea:focus{
	background: var(--color-input-focus);
}

input.text:focus, textarea:focus, select:focus{
	outline: 0;
}

progress{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    width: 100%;
    height: 5px;
    background: transparent;
    color: var(--color-green);
    width: 100%;
}

progress:not([value]){
    display: none;
}

progress[value]::-webkit-progress-bar{
    background: transparent;
    border-radius: 3px;
}

progress[value]::-webkit-progress-value, progress[value]::-moz-progress-bar{
    background: var(--color-green);
}

/****/

.propertyInfoList{
	max-width: 500px;
    margin: 3em auto;
}

.propertyInfoList .flexibleImage{
	margin: 4em auto;
	width: 80%;
}

.propertyInfoList .flexibleImage img, .propertyInfoList .flexibleImage svg{
	max-width: 250px;
}

.propertyInfo{
    width: 100%;
    margin: 0;
    clear: both;
    padding: 0 0 0.5em 0;
    border-bottom: 1px solid var(--color-border-grey);
}

.propertyInfo:last-of-type{
    padding-bottom: 0;
    border-bottom: 0;
}

.propertyInfoLabel{
    font-size: 0.7em;
    font-weight: 700;
    text-align: left;
	color: inherit;
    float: left;
    padding: 1rem 1rem 0.3rem 0;
    min-width: 100px;
}

.propertyInfoValue{
    padding: 0.6rem 0 0.2rem 0;
    text-align: right;
}

.propertyInfoValue .markdown{
    font-size: 0.9em;
}

.propertyInfoValue .markdown p{
    margin: 0.5em auto;
}

.propertyInfoValue .markdown p:first-of-type{
	margin-top: 0;
}

.propertyInfoValue .markdown p:last-of-type{
	margin-bottom: 0;
}

.propertyInfo .units{
    font-size: 0.7em;
}

.propertyInfo .note{
	margin: 0.3em 0;
}

.propertyInfo.fullWidth .propertyInfoLabel{
    float: none;
}

.propertyInfo.fullWidth .propertyInfoValue{
    text-align: justify;
}

.propertyInfo.center .propertyInfoLabel{
    float: none;
    text-align: center;
}

.propertyInfo.center .propertyInfoValue{
    text-align: center;
}

/****/

.form{
    margin: 1.5em auto;
}

.form p{
    clear: both;
}

.dialog .form:last-of-type{
    margin-bottom: 0;
}

fieldset.url{
    display: none;
}

.formAgreement{
    margin: 2em auto;
    border: 1px solid var(--color-border-grey);
    background: var(--color-background-light-grey);
    padding: 1em;
    font-size: 0.8em;
    font-weight: 700;
}

.radioOptions{
    margin: 1em auto;
    padding: 1em;
    border: 1px solid var(--color-border-grey);
    font-size: 1em;
}

.radioScale{
    margin: 1em auto;
    padding: 1em;
    border: 1px solid var(--color-border-grey);
}

.radioScale .inputSpan{
    font-size: 0.8em;
}

.radioScale table{
    width: 100%;
    text-align: center;
}

.radioScale .lowString{
    text-align: right;
}

.radioScale .highString{
    text-align: left;
}

.formAgreement p, .radioOptionRow{
    margin: 0.5em;
}

.radioOptionRow{
    margin: 1.5em;
	font-size: 0.7em;
}

.radioOptionRow label.current{
	font-weight: 700;
}

.formAgreement input[type="checkbox"], .radioOptionRow input[type="radio"]{
    margin-right: 0.5em;
}

.searchSection h1{
    font-size: 1.2em;
    border-bottom: 1px solid var(--color-border-grey);
    padding-bottom: 0.5em;
    margin: 2em 0 1em 0;
    color: inherit;
}

.formInput, fieldset{
	border: 0;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    clear: both;
}

.propertyInfoList .formInput{
    text-align: right;
    clear: both;
    padding: 0 0 0.4em 0;
    border-bottom: 1px solid var(--color-border-grey);
}

.propertyInfoList .formInput:last-of-type{
    padding-bottom: 0;
    border-bottom: 0;
}

.labelSpan{
	font-size: 0.7em;
    font-weight: 700;
    text-align: left;
	color: inherit;
}

.formInput .labelSpan{
    float: left;
    padding: 1.5rem 1rem 0.3rem 0;
    min-width: 100px;
    width: auto;
}

.formInput.reversedInput .labelSpan{
    width: auto;
    padding: 1rem 0 0 0;
}

.additional .labelSpan{
    opacity: 0.6;
    text-align: right;
}

.formTranslation .labelSpan{
    opacity: 0.6;
}

.additional .formInput.fullWidth .labelSpan{
    text-align: left;
}

.formInput .inputSpan{
    float: right;
    width: auto;
    max-width: 70%;
}

.formInput:not(.file) .inputSpan{
    padding: 0.6rem 0 0.2rem 0;
}

.formInput.reversedInput .inputSpan{
    float: left;
    width: auto;
    padding: 1rem 1rem 0 0;
}

.formInput .units{
    font-size: 0.7em;
}

.formInput .note{
    font-size: 0.7em;
    padding: 0.5em 0;
    clear: both;
}

.translationLabel{
    font-size: 0.8em;
    opacity: 0.6;
}

.formInput input.text{
    max-width: 100%;
}

.formInput input.text:not([size]), .formInput select, .formInput textarea{
    width: 100%;
}

.formInput input.text.number, .formInput input.text.decimal{
	text-align: right;
}

.formInput input.text.hasUnits{
    max-width: 80%;
}

.formInput input.text.hasUnits:not([size]), .formInput select.hasUnits{
    width: 80%;
}

.formInput.submit{
	position: relative;
}

.formError{
    color: var(--color-red);
    border-bottom: 1px solid var(--color-red);
    padding-top: 0.5em;
    padding-bottom: 0.3em;
    margin-bottom: 1em;
	font-size: 0.8em;
	font-weight: 700;
	clear: both;
}

.formError.amber{
    border-bottom: 2px solid var(--color-amber);
}

.formError a, .formError a:hover{
    color: inherit;
    text-decoration: underline;
}

.formError:before{
    font-family: "FontAwesome";
	font-weight: 400;
    content: "\f071";
    margin-right: 0.5em;
}

.formHelp{
	margin: 0.5em 0;
    text-align: right;
	font-size: 0.8em;
}

.formHelp .textareaCount{
	opacity: 0.5;
	display: inline-block;
}

.formInput .formHelpToggle{
    background: transparent !important;
    border-color: transparent !important;
    color: currentColor;
    opacity: 0.5;
    font-weight: inherit;
    padding: 0;
}

.formInput .formHelpToggle:hover{
    opacity: 1;
    color: inherit;
}

.error{
    color: var(--color-red);
    font-size: 0.8em;
}

.currency{
    display: inline-block;
    margin-top: 0.5em;
}

.formInput.fullWidth{
    text-align: left;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.formInput.fullWidth .labelSpan, .formInput.fullWidth .inputSpan{
    float: none;
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0.5em 0;
}

.formInput.centeredInput input, .formInput.centeredInput textarea, .formInput.centeredInput select{
    text-align: center;
}

.formInput.largeLabel .labelSpan{
    width: 70%;
}

.formInput.largeLabel .inputSpan{
    width: 30%;
}

.formInput.smallLabel .labelSpan{
    width: 20%;
}

.formInput.smallLabel .inputSpan{
    width: 75%;
}

.formInput.centeredValue .inputSpan{
    text-align: center;
}

.formInput .inputSpan .note{
    text-align: right;
    margin: 0;
    padding: 0;
}

.propertyInfoSubList{
    width: 80%;
    margin: 2em auto 3em auto;
    min-width: 400px;
}

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

    .formInput{
        text-align: left;
        margin-bottom: 1em;
    }

    .formInput .labelSpan, .formInput.smallLabel .labelSpan, .formInput.largeLabel .labelSpan{
        width: 100%;
    }

    .formInput .labelSpan{
        float: none;
        display: block;
        margin-bottom: 0;
    	padding: 0.1em 0 0.1em 0;
    }

    .formInput .labelSpan{
    	padding-left: 0.2em;
    }

    .formInput .inputSpan, .formInput.smallLabel .inputSpan, .formInput.largeLabel .inputSpan{
    	float: none;
        width: 100%;
        max-width: 100%;
        display: block;
    }
	
    .formInput.reversedInput .labelSpan, .formInput.reversedInput .inputSpan{
        width: auto;
        display: inline-block;
        margin-bottom: 0;
    }
    
    .propertyInfoSubList{
        width: 100%;
        min-width: auto;
    }

	.propertyInfoList .formInput{
		text-align: left;
	}
	
	.formInput.submit{
        margin-top: 2em;
        margin-bottom: 2em;
    }

    .formInput input.text, .formInput select{
        width: 100%;
    }

    .formInput.submit .uiButton{
        width: 100%;
        padding-top: 1em;
        padding-bottom: 1em;
        margin-top: 0.1em;
        margin-bottom: 0.1em;
    }

	.formInput.submit .uiButton.leftButton{
		position: static;
	}

    input, select, textarea{
        font-size: 1rem !important;
    }

	.additional .labelSpan{
		text-align: left;
	}
}

/****/

.js .fileInput{
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

.js .fileInput + label{
    overflow: hidden;
    max-width: 100%;
    display: inline-block;
    vertical-align:  middle;
}

.js .formInput.fullWidth .fileInput + label{
    width: 100%;
}

.js .fileInput + label:focus{
	outline: 0;
}

.js .fileInput + label:before{  
    font-family: "FontAwesome";
	font-weight: 400;
    content: "\f093";
    margin-right: 0.5em;
    color: inherit !important;
}

.no-js .fileInput + label{
    display: none;
}

.formFileDelete{
    font-size: 0.6em;
    margin-top: 0.5em;
}

.formFileDelete .uiButton.booleanToggleButton[data-value=Yes]{
    background: var(--color-red);
}

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

	.js .fileInput + label{
		display: inline-block;
		width: 100%;
		text-align: center;
		padding-top: 1em;
		padding-bottom: 1em;
	}

	.formFileDelete .uiButton{
		width: 100%;
	}

}

.radioOptionButtons input{
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

/****/

.columnGroup [class*='column-']{
    float: left;
    padding-right: 20px;
}

.columnGroup [class*='column-']:last-of-type{
    padding-right: 0;
}

.columnGroup .column-75{
    width: 75%;
}

.columnGroup .column-60{
    width: 60%;
}

.columnGroup .column-50{
    width: 50%;
}

.columnGroup .column-40{
    width: 40%;
}

.columnGroup .column-25{
    width: 25%;
}

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

	.columnGroup .column-75, .columnGroup .column-60, .columnGroup .column-40, .columnGroup .column-25{
		width: 100%;
		margin-bottom: 1em;
		padding-right: 0;
	}

}

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

	.columnGroup .column-50{
		width: 100%;
		margin-bottom: 1em;
		padding-right: 0;
	}

}

@media screen and (min-width: 500px) and (max-width: 960px){

    .columnGroup .column-50  .formInput, .columnGroup .column-50  .propertyInfo{
        text-align: left;
        margin-bottom: 1em;
    }

    .columnGroup .column-50  .formInput .labelSpan, .columnGroup .column-50  .formInput.smallLabel .labelSpan, .columnGroup .column-50  .formInput.largeLabel .labelSpan, .columnGroup .column-50  .propertyInfo .propertyInfoLabel, .columnGroup .column-50  .propertyInfo.largeLabel .propertyInfoLabel, .columnGroup .column-50  .propertyInfo.smallLabel .propertyInfoLabel{
        float: none;
        width: 100%;
        display: block;
        margin-bottom: 0.5em;
        padding: 0;
    }

    .columnGroup .column-50  .formInput .inputSpan, .columnGroup .column-50  .formInput.smallLabel .inputSpan, .columnGroup .column-50  .formInput.largeLabel .inputSpan{
        width: 100%;
        padding-top: 0;
    }
    
    .columnGroup .column-50  .propertyInfoSubList{
        width: 100%;
        min-width: auto;
    }

    .columnGroup .column-50  .formInput.submit .uiButton, .columnGroup .column-50  .fileInput + label{
        width: 100%;
    }
}

/****/

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

	.flexWrap{
		display: flex;
		flex-flow: row wrap;
		justify-content: center;
		align-items: stretch;
		align-content: flex-start;
		margin: 1em auto;
		gap: 1em;
	}

	.flexWrap > *{
		flex: 1 1 100%;
	}

	.flexWrap > .adminModule,  .flexWrap > .module,  .flexWrap > .mainColumn{
		flex: 1 1 550px;
	}

	.flexWrap > .adminModule,  .flexWrap > .module{
		margin: 0;
	}

	.flexWrap > .sideColumn{
		flex: 1 1 250px;
	}

	.flexWrap > .subMenuColumn{
		flex: 1 1 18%;
	}

	.flexWrap > .subMenuContentColumn{
		flex: 1 1 80%;
	}

}

/****/

table{
	border-collapse: collapse;
	border-spacing: 0;
}

.tableWrap{
	margin: 2em auto;
	width: 100%;
	overflow-x: auto;
}

.tableWrap .tableWrap{
	margin: 1em auto;
}

.filterTableWrap{
	min-height: 300px;
}

.subTableWrap{
	margin: 0 10px 40px 10px;
	background: var(--color-background-light-grey);
	font-size: 0.9em;
}

.dataTable{
	table-layout: fixed;
	margin: 0 auto;
	width: 100%;
	clear: both;
	border-top: 1px solid transparent;
	border-right: 1px solid transparent;
	font-size: 0.8em;
}

.dataTable .dataTable{
	font-size: inherit;
}

.tableWrap .dataTable{
	width: auto;
	min-width: 100%;
}

.dataTable td, .dataTable th{
	table-layout: fixed;
	overflow-wrap: break-word;
  	word-wrap: break-word;
	word-break: break-all;
	word-break: break-word;
	border-left: 1px solid transparent;
    border-bottom: 1px solid var(--color-border-grey);
    background: transparent;
    padding: 0.5em 0.8em;
	vertical-align: middle;
}

.dataTable th .coachingTip{
	color: currentColor;
}

.dataTable tr:hover td{
	background: var(--color-background-light-grey);
}

.subTableWrap .dataTable tr:hover td{
	background: transparent;
}

.dataTable .greyedOut td, .dataTable .greyedOut td a:not(.uiButton){
	color: var(--color-text-grey);
}

.dataTable th{
	font-size: 0.8em;
	font-weight: 700;
	color: inherit;
}

.dataTable th.total{
	font-size: 0.85em;
}

.dataTable th a, .dataTable th a:hover, .dataTable th a i, .dataTable th a:hover i, .dataTable th .fa{
	color: inherit;
}

.dataTable th svg{
	fill: currentColor;
}

.dataTable th a{
	font-weight: inherit;
}

.dataTable td .markdown p{
	margin: 0.5em auto;
}

.dataTable td .markdown p:first-of-type{
	margin-top: 0;
}

.dataTable td .markdown p:last-of-type{
	margin-bottom: 0;
}

.dataTable td.note{
	padding: 1em 2em 1em 2em;
	font-size: 0.9em;
}

.dataTable td div.note{
	margin: 0.3em 0;
}

.dataTable td input.text, .dataTable td textarea, .dataTable td select{
    width: 100%;
	max-width: 100%;
	padding: 0.5em;
}

.dataTable input[type="time"]{
	font-size: 0.85em;
}

.dataTable input[type="date"]{
	font-size: 0.7em;
}

.dataTable .flexColumn{
	width: auto;
	min-width: 120px;
}

.dataTable .largeColumn{
	width: 200px;
	min-width: 200px;
}

.dataTable .emailColumn{
	width: 250px;
	min-width: 250px;
}

/*.dataTable .largeColumn .emailLink{
	display: inline-block;
	max-width: 170px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: top;
}*/

.dataTable .mediumColumn{
	width: 120px;
	min-width: 120px;
}

.dataTable .currencyColumn{
	width: 80px;
	min-width: 80px;
}

.dataTable .smallCurrencyColumn{
	width: 65px;
	min-width: 65px;
}

.dataTable .smallColumn{
	width: 90px;
	min-width: 90px;
}

.dataTable .dateColumn{
	width: 110px;
	min-width: 110px;
}

.dataTable .largeNumericColumn{
	width: 100px;
	min-width: 100px;
}

.dataTable .numericColumn{
	width: 70px;
	min-width: 70px;
}

.dataTable .smallNumericColumn{
	width: 60px;
	min-width: 60px;
}

.dataTable .timeColumn{
	width: 60px;
	min-width: 60px;
}

.dataTable .tinyColumn{
	width: 50px;
	min-width: 50px;
}

.dataTable .tinyColumn .tickCross{
	width: 1em;
	overflow: hidden;
}

.dataTable .checkboxColumn{
	width: 30px;
	min-width: 30px;
}

.dataTable .iconColumn{
	width: 25px;
	min-width: 25px;
	max-width: 25px;
	padding-left: 0;
	padding-right: 0;
	white-space: nowrap;
}

.dataTable .iconColumn .uiButton{
	width: 20px;
	min-width: 20px;
	max-width: 20px;
    padding: 0.3em 0.6em;
}

.dataTable td.numericColumn, .dataTable td.smallNumericColumn, .dataTable td.largeNumericColumn, .dataTable .numericColumn input, .dataTable .smallNumericColumn input, .dataTable .largeNumericColumn input, .dataTable .currencyColumn, .dataTable .currencyColumn input, .dataTable .smallCurrencyColumn, .dataTable .smallCurrencyColumn input{
	text-align: right;
}c

.dataTable .iconColumn, .smallColumn, .dataTable .smallColumn input, .dataTable .tinyColumn, .dataTable .checkboxColumn, .dataTable .tinyColumn input, .dataTable .dateColumn, .dataTable .dateColumn input, .dataTable .timeColumn, .dataTable .timeColumn input, .dataTable th.smallNumericColumn{
	text-align: center;
}

.smallColumn select, .dataTable .tinyColumn select, .dataTable .dateColumn select, .dataTable .timeColumn select{
	text-align: center;
	text-align-last: center;
}

/****/

.count{
    font-size: 0.9rem;
    opacity: 0.7;
    display: inline-block;
}

.count:before{
    content: "[";
    font-size: 0.9em;
    padding-right: 0.1em;
}

.count:after{
    content: "]";
    font-size: 0.9em;
    padding-left: 0.1em;
}

/****/

.smallScrollbox, .largeScrollbox{
	overflow-y: scroll;
}

.smallScrollbox table, .largeScrollbox table{
	margin: 0;
}

@media screen{

	.smallScrollbox{
		max-height: 15em;
	}

}

@media screen{

	.fullWidth .smallScrollbox{
		max-height: 20em;
	}

}

@media screen{

	.largeScrollbox{
		max-height: 30em;
	}

}

/****/

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

	.wideOnly{
		display: none;
	}

}

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

	.veryWideOnly{
		display: none;
	}

}

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

	.narrowOnly{
		display: none;
	}

}

@media print{

	.narrowOnly{
		display: none;
	}

}

/****/

.alertTag.red, .alertCell.red, .alertTag.red .uiButton, .alertCell.red .uiButton{
	background: var(--color-red) !important;
}

.alertTag.red, .alertTag.red select, .alertTag.red a, .alertTag.red a:hover, .alertTag.red .uiButton, .alertTag.red .uiButton:hover, .alertTag.red .coachingTip, .alertTag.red .fa, .alertCell.red, .alertCell.red select, .alertCell.red a, .alertCell.red a:hover, .alertCell.red .uiButton, .alertCell.red .uiButton:hover, .alertCell.red .coachingTip, .alertCell.red .fa{
	color: var(--color-red-overlay) !important;
}

.alertTag.amber, .alertCell.amber, .alertTag.amber .uiButton, .alertCell.amber .uiButton{
	background: var(--color-amber) !important;
}

.alertTag.amber, .alertTag.amber select, .alertTag.amber a, .alertTag.amber a:hover, .alertTag.amber .uiButton, .alertTag.amber .uiButton:hover, .alertTag.amber .coachingTip, .alertTag.amber .fa, .alertCell.amber, .alertCell.amber select, .alertCell.amber a, .alertCell.amber a:hover, .alertCell.amber .uiButton, .alertCell.amber .uiButton:hover, .alertCell.amber .coachingTip, .alertCell.amber .fa{
	color: var(--color-amber-overlay) !important;
}

.alertTag.green, .alertCell.green, .alertTag.green .uiButton, .alertCell.green .uiButton{
	background: var(--color-green) !important;
}

.alertTag.green, .alertTag.green select, .alertTag.green a, .alertTag.green a:hover, .alertTag.green .uiButton, .alertTag.green .uiButton:hover, .alertTag.green .coachingTip, .alertTag.green .fa, .alertCell.green, .alertCell.green select, .alertCell.green a, .alertCell.green a:hover, .alertCell.green .uiButton, .alertCell.green .uiButton:hover, .alertCell.green .coachingTip, .alertCell.green .fa{
	color: var(--color-green-overlay) !important;
}

.alertTag.blue, .alertCell.blue, .alertTag.blue .uiButton, .alertCell.blue .uiButton{
	background: var(--color-blue) !important;
}

.alertTag.blue, .alertTag.blue select, .alertTag.blue a, .alertTag.blue a:hover, .alertTag.blue .uiButton, .alertTag.blue .uiButton:hover, .alertTag.blue .coachingTip, .alertTag.blue .fa, .alertCell.blue, .alertCell.blue select, .alertCell.blue a, .alertCell.blue a:hover, .alertCell.blue .uiButton, .alertCell.blue .uiButton:hover, .alertCell.blue .coachingTip, .alertCell.blue .fa{
	color: var(--color-blue-overlay) !important;
}

.alertTag.grey, .alertCell.grey, .alertTag.red .grey, .alertCell.grey .uiButton{
	background: var(--color-background-grey) !important;
}

.alertTag.grey, .alertTag.grey select, .alertTag.grey a, .alertTag.grey a:hover, .alertTag.grey .uiButton, .alertTag.grey .uiButton:hover, .alertTag.grey .coachingTip, .alertTag.grey .fa, .alertCell.grey, .alertCell.grey select, .alertCell.grey a, .alertCell.grey a:hover, .alertCell.grey .uiButton, .alertCell.grey .uiButton:hover, .alertCell.grey .coachingTip, .alertCell.grey .fa{
	color: var(--color-background-grey-overlay) !important;
}

.alertTag.site, .alertCell.site, .alertTag.site .uiButton, .alertCell.site .uiButton{
	background: var(--color-1) !important;
}

.alertTag.site, .alertTag.site select, .alertTag.site a, .alertTag.site a:hover, .alertTag.site .uiButton, .alertTag.site .uiButton:hover, .alertTag.site .coachingTip, .alertTag.site .fa, .alertCell.site, .alertCell.site select, .alertCell.site a, .alertCell.site a:hover, .alertCell.site .uiButton, .alertCell.site .uiButton:hover, .alertCell.site .coachingTip, .alertCell.site .fa{
	color: var(--color-1-overlay) !important;
}

.alertCell.red, .alertCell.amber, .alertCell.green, .alertCell.blue, .alertCell.grey, .alertCell.site{
	border-left: 1px solid var(--color-background);
	border-right: 1px solid var(--color-background);
}

.alertTag a, .alertTag .fa, .alertTag select, .alertTag select option, .alertCell a, .alertCell .fa, .alertCell select, .alertCell select option{
	background: transparent !important;
}

.alertTag select, .alertCell select{
	border-color: transparent !important;
}

.alertTag{
	padding: 0.3em 0.8em;
    border-radius: 3px;
    display: inline-flex;
  	align-items: center;
	justify-content: center;
  	gap: 0.5em;
}

.alertTag.multiline{
	white-space: normal;
	word-break: break-all;
}

.alertBanner > .alertTag{
	margin-top: 1px;
	padding: 0.5em;
	text-align: center;
	opacity: 1;
	font-size: 0.9em;
	font-weight: 700;
	width: 100%;
}

.alertBanner.formAlert{
	margin: 1em auto;
}

.alertBanner form, .alertTag form, .alertCell form{
	width: auto;
}

.alertTag .uiButton, .alertCell .uiButton{
	padding: 0 !important;
}

.alertTag .uiButton{
	/*margin-left: 0.2em;
	font-size: 0.8em;*/
}

.alertTag .coachingTip, .alertCell .coachingTip, .alertTag .detailTag{
    opacity: 0.8;
}

.alertTag .coachingTip:hover, .alertCell .coachingTip:hover{
    opacity: 1;
}

/****/

.red{
	color: var(--color-red);
}

.amber{
	color: var(--color-amber);
}

.green{
	color: var(--color-green);
}

.blue{
	color: var(--color-blue);
}

/****/

.detailTag{
	padding-left: 0.5em;
	font-size: 0.8em;
}

/****/

.backLink{
    padding: 0.5em;
}

.backLink a{
    font-size: 0.8em;
    opacity: 0.7;
    display: inline-flex;
    align-items: center;
    gap: 0.3em;
}

/****/

button, .uiButton, .fileInput + label, .ui-button{
    margin: 0;
    padding: 0.6em;
    border-radius: 3px;
    text-align: center;
	font-weight: 700;
	user-select: none;
	-webkit-appearance: none;
	cursor: pointer;
}

button, .uiButton, .fileInput + label, .ui-button, .ui-button:hover, .ui-button:focus{
    border: 1px solid transparent;
	text-decoration: none;
}

a.uiButton:not([href]), a.uiButton:not([href]):hover, .uiButton:disabled{
	background: var(--color-background-grey) !important;
	color: var(--color-background-grey-overlay) !important;
	cursor: default;
}

.uiButton{
    display: inline-flex;
	align-items: center;
	justify-content: center;
  	gap: 0.5em;
}

.uiButton.leftButton{
	position: absolute;
	left: 0;
}

.uiButton.transparent{
    padding: 0;
    font-size: 1em;
}

.uiButton.transparent, .uiButton.transparent:hover{
    background: transparent !important;
    border-color: transparent !important;
    color: currentColor;
}

.uiButton:hover, .uiButton:focus{
	text-decoration: none;
	outline: none;
}

.buttons.modalDisplayWrap [class*='DisplayToggle']:after{
	font-family: "FontAwesome";
    font-weight: 400;
	content: "\f054";
    padding-left: 0.5em;
    font-size: 0.8em;
}

.centeredButtons{
	text-align: center;
    margin: 2em auto 0 auto;
	max-width: 450px;
}

.centeredButtons .uiButton, .centeredButtons .fileInput + label, .centeredButtons .alertTag{
	width: 100%;
	margin: 0 auto 0.5em auto;
}

.functionButtons{
	font-size: 0.65em;
	position: absolute;
	top: 1em;
	right: 1em;
}

.functionButtons .uiButton{
	text-transform: uppercase;
	padding: 0.7em 1em;
	min-width: 5em;
}

.functionButtons form{
	width: auto;
	margin: 0;
}

.functionButtons input{
	display: inline-block;
	float: right;
	margin: 0 0 0 0.2em;
	padding: 0;
}

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

	.functionButtons{
		position: static;
		margin-top: 1em;
		margin-bottom: 1em;
		text-align: center;
		font-size: 0.75em;
	}

	.functionButtons .uiButton{
		padding: 0.7em 3em;
		min-width: 20%;
		margin-bottom: 0.3em;
	}

}

.insetButtons{
	font-size: 0.65em;
	float: right;
}

.insetButtons form{
	width: auto;
}

.card .insetButtons{
	float: none;
	position: absolute;
	top: 1em;
	right: 1em;
}

.insetButtons .uiButton{
	text-transform: uppercase;
	padding: 0.5em;
}

.itemLinks .insetButtons{
	margin-left: 0.5em;
}

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

	.insetButtons{
		position: static;
		float: none;
		margin-bottom: 0.5em;
		text-align: right;
	}

	.card .insetButtons{
		position: static;
	}

}

.coachingTipButtons{
	font-size: 0.8em;
	text-align: right;
	margin:top: 1em;
}

.coachingTipButtons .uiButton{
	text-transform: uppercase;
	padding: 0.7em 1em;
	min-width: 5em;
}

.tabButtons{
	text-align: center;
	font-size: 0.8em;
	margin-bottom: 0.5em;
}

.tabButtons .uiButton{
	margin-top: 0.1em;
	margin-bottom: 0.1em;
	padding: 0.7em 1em;
	min-width: 5em;
}

.fileLink .note{
	margin: 1.5em 0 0 0;
}

/****/

.js .booleanToggle{
    display: none;
}

.uiButton.booleanToggleButton{
    margin-bottom: 0.2em;
}

.uiButton.booleanToggleButton[data-value=Yes]{
    background: var(--color-green);
	color: var(--color-green-overlay);
}

.uiButton.booleanToggleButton[data-value=Yes]:after{
    font-family: "FontAwesome";
	font-weight: 400;
    content: "\f00c";
    margin-left: 0.5em;
}

.uiButton.booleanToggleButton[data-value=No]{
    background: var(--color-red);
	color: var(--color-red-overlay);
}

.uiButton.booleanToggleButton[data-value=No]:after{
    font-family: "FontAwesome";
	font-weight: 400;
    content: "\f00d";
    margin-left: 0.5em;
}

/****/

.letterLinks a{
	padding: 3px;
}

.errorBox, .informationBox{
    font-family: "Header", sans-serif;
	font-size: 0.9em;
	padding: 1em;
	margin: 1em 0;
	text-align: center;
}

/****/

footer .offlineModeToggle{
    display: inline-block;
    z-index: 499;
    cursor: pointer;
}

footer .offlineModeToggle.current{
	color: var(--color-amber);
}

/****/

img.inset{
	float: left;
	border: 1px solid var(--color-border-grey);
	padding: 5px;
	margin: 0 20px 10px 0;
	display: block;
}

a.greyscale img{
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	filter: grayscale(100%);
	transition: all 0.3s ease;
    opacity: 0.5;
}

a.greyscale:hover img, a.greyscale.current img{
	-webkit-filter: grayscale(0%);
	-moz-filter: grayscale(0%);
	filter: grayscale(0%);
    opacity: 1;
}

a.opacity img{
    opacity: 0.3;
	transition: all 0.3s ease;
}

a.opacity:hover img, a.opacity.current img{
    opacity: 1;
}

/****/

.commentRow{
	font-size: 0.9em;
}

.commentUser{
	font-weight: 700;
	margin-right: 0.2em;
	margin-bottom: 1em;
	display: inline-block;
}

.commentTime{
	color: var(--color-text-grey);
	font-size: 0.8em;
	margin-bottom: 1em;
	display: inline-block;
}

/****/

.keywords, .keywordFilter{
    margin: 1em 0;
    line-height: 1.8;
}

.keywordFilter{
    text-align: center;
}

.keywords ul{
    margin: 0;
    padding: 0;
	display: initial;
}

.keywords li, .keywords .dataTable.sortable tr, .keywordFilter .keywordSelect, .keywordFilter .keywordSelect select, .clearFiltersButton{
	font-family: "Button", sans-serif;
}

.keywords li, .keywords .dataTable.sortable tr, .keywordFilter .keywordSelect, .clearFiltersButton{
    display: inline-block;
    margin: 0.3em 0.2em 0.3em 0;
    border-radius: 20px;
    background: var(--color-background-light-grey);
    color: var(--color-background-light-grey-overlay);
    font-size: 0.8em;
}

.keywordFilter .keywordSelect.hasValue{
    background: var(--color-1);
	color: var(--color-1-overlay);
}

.keywordFilter .keywordSelect.hasValue .uiButton{
	color: var(--color-1-overlay);
}

.keywordFilter .keywordSelect select, .keywordFilter .keywordSelect input.text{
    font-size: 1.1em;
    border: none;
	background: inherit;
	color: inherit;
	padding: 0;
    max-width: 150px;
}

.keywords li, .keywords .dataTable.sortable tr{
    padding: 0.2em 1em;
}

.keywords li, .keywords .dataTable.sortable tr, .clearFiltersButton{
    padding: 0.4em 1em 0.5em 1em;
}

.keywordFilter .keywordSelect{
    padding: 0.3em 1em 0.3em 1em;
}

.keywords li{
    list-style: none;
}

.keywords .dataTable.sortable{
    display: inline-block;
    min-width: auto;
}

.keywords .dataTable.sortable tr:hover td{
    background: inherit;
}

.keywords .dataTable.sortable td{
    margin: 0;
    padding: 0;
    border: 0;
    width: auto;
    min-width: auto;
}

.keywords a{
    color: inherit;
    font-weight: inherit;
    border: none;
}

.keywords a:hover{
    text-decoration: none;
    color: inherit;
}

.keywords .keywords li .uiButton, .keywords .dataTable.sortable tr .uiButton{
    background: none;
    color: inherit;
    padding: 0 0 0 0.5em;
}

.keywords .uiButton:hover{
    background: inherit;
}

.keywordFilter fieldset{
    display: inline-block;
    vertical-align: bottom;
    width: auto;
}

.keywordFilter .keywordSelect:after{
    font-family: "FontAwesome";
  	font-weight: 400;
    content: "\f0d7";
    margin-top: 0.8em;
    margin-left: 0.2em;
}

.clearFiltersButton a{
    text-decoration: none;
	color: inherit;
}

.keywords li:before, .keywordFilter .keywordSelect:before, .clearFiltersButton:before{
    font-family: "FontAwesome";
  	font-weight: 400;
    margin-right: 0.5em;
}

.clearFiltersButton:before{
    content: "\f00d";
}

.keywords .order li:before, .keywordFilter .order:before{
    content: "\f0cb";
}

.keywords .audience li:before, .keywordFilter .audience:before{
    content: "\f007";
}

.keywords .category li:before, .keywordFilter .category:before{
    content: "\f0ca";
}

.keywords .country li:before, .keywordFilter .country:before{
    content: "\f024";
}

.keywords .date li:before, .keywordFilter .date:before{
    content: "\f073";
}

.keywords .event li:before, .keywordFilter .event:before{
    content: "\f073";
}

.keywords .organisation li:before, .keywordFilter .organisation:before{
    content: "\f1ad";
}

.keywords .region li:before, .keywordFilter .region:before{
    content: "\f0ac";
}

.keywords .resource li:before, .keywordFilter .resource:before{
    content: "\f15c";
}

.keywords .topic li:before, .keywordFilter .topic:before{
    content: "\f02b";
}

.keywords .topicGroup li:before, .keywordFilter .topicGroup:before{
    content: "\f02b";
}

.keywords .type li:before, .keywordFilter .type:before{
    content: "\f249";
}

.keywords .user li:before, .keywordFilter .user:before{
    content: "\f007";
}

.keywords .year li:before, .keywordFilter .year:before{
    content: "\f073";
}

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

	.keywordFilter fieldset, .keywordFilter .keywordSelect{
		width: 100%;
	}

	.keywordFilter .keywordSelect select{
		width: 80%;
		max-width: 999px;
	}

	.keywordFilter .keywordSelect.order select{
		width: 70%;
		max-width: 999px;
	}

	.clearFiltersButton{
		margin-top: 1em;
	}

}

.keywordsLabel{
	display: inline-block;
    padding-right: 1em;
}

/****/

.expandToggle, .displayToggle{
	cursor: pointer;
}

h1.expandToggle, h2.expandToggle{
    position: relative;
}

h1.expandToggle:after, h2.expandToggle:after{
    font-family: "FontAwesome";
    font-weight: 400;
    content: "\f0dc";
    position: absolute;
    top: 0;
    right: 0.5em;
    opacity: 0.8;
}

.expandToggle .uiButton{
	padding: 0.3em 0.5em;
	font-size: 0.8em;
}

.pageBreak{
	display: none;
}

p.note{
	margin: 0.5em auto;
}

.uploadedItem{
	margin: 3em 0;
}

.flexibleImage{
	text-align: center;
}

.flexibleImage img, .flexibleImage svg{
    width: 100%;
    height: auto !important;
    margin: auto;
	vertical-align: middle;
}

.forceAspect{
    width: 100%;
    position: relative;
    height: 0;
    padding: 66.67% 0 0 0;
    overflow: hidden;
    margin: auto;
    max-width: 500px;
}
 
.forceAspect img{
    position: absolute;
    display: block;
    max-width: 100%;
    max-height: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.gallery, .mainImage, .thumbnails{
	width: 100%;
	text-align: center;
	margin: 20px 0 20px 0;
}

.thumbnails img{
	margin: 3px;
}

.gallery .artist{
	margin-top: 5px;
	font-size: 0.9em;
	font-style: italic;
}

.gallery .description{
	font-size: 0.8em;
}

.centeredBlock{
	margin: 20px 0 20px 0;
	text-align: center;
}

.filter{
	text-align: center;
	font-size: 0.9em;
	width: 100%;
	margin: 5px;
}

.filter input, .filter select{
	margin: 0 5px 0 5px;
}

.center{
	text-align: center;
}

.nopadding{
	padding: 0 !important;
}

.nopadding{
	padding: 0 !important;
}

.nomargin{
	margin: 0 auto !important;
}

.languageChooser{
    width: 100%;
    margin: 0 0 10px 0;
    text-align: right;
    display: inline-block;
}

.languageChooser img{
    height: auto;
}

.pageChooser{
    margin: 1em auto;
    text-align: right;
}

.pageChooser a{
    padding: 0 0.5em;
}

.pageChooserMore{
    margin: 1em auto;
    padding: 1em 1.5em;
    text-align: center;
    font-family: "Button", sans-serif;
}

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

	.pageChooser{
		text-align: center;
	}

}

/****/

ul.tiledLinks{
    list-style: none;
    padding: 0;
    margin: 2em auto;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
    gap: 0.5em;
}

.tiledLinks li.tile{
    background: #ffffff;
    position: relative;
	width: 250px;
	height: 120px;
	overflow: hidden;
	text-align: center;
	display: flex;
	align-items: center;
	margin: 0;
}

.tiledLinks .tile a{
	margin: 0;
	border: 1px solid transparent;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
}

.tiledLinks .tile a:hover, .tiledLinks .tile a:focus{
	border: 1px solid var(--color-border-grey);
	outline: none;
}

.tiledLinks .tile a:hover:after, .tiledLinks .tile a:focus:after{
    font-family: "FontAwesome";
    font-weight: 400;
    content: "\f08e";
    font-size: 1rem;
    color: var(--color-text-grey);
    position: absolute;
    bottom: 0;
    right: 10px;
}

.tiledLinks .tile img, .tiledLinks .tile svg{
    width: 100%;
    height: 100%;
    object-fit: contain;
    margin: auto;
	display: flex;
	padding: 10px;
}

/****/

.svg-icon{
	display: inline-flex;
}

.svg-icon svg{
	width: auto;
	height: 1em !important;
	fill: currentColor;
	vertical-align: text-bottom;
}

.svg-icon.small svg{
	height: 0.5em;
}

/****/

.imageDetail > .image{
	padding: 1em;
	text-align: center;
}

.imageDetail > .detail{
	padding: 1em;
}

.imageDetail a:hover img{
	outline: 0;
	opacity: 0.8;
	text-decoration: none;
}

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

	.imageDetail{
		display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	}

	.profileImageDetail{
		align-items: flex-start;
	}

	.imageDetail > .image{
		flex: 1 1 25%;
	}

	.imageDetail > .detail{
		flex: 1 1 75%;
	}

}

.imageDetail .detail.noImage{
    flex: 1 1 100%;
}


/****/

.userImage svg, .speakerImage svg{
	padding: 2em;
}

.userImage svg path, .speakerImage svg path{
	fill: var(--color-1);
}

/****/

.socialLinks{
	text-align: right;
	padding: 10px;
	font-size: 2.5em;
}

.socialIcon{
	width: 25px;
	height: 25px;
}

.socialLinks a:hover img{
	outline: 0;
	opacity: 0.5;
	text-decoration: none;
}

.socialLinks a:hover{
	opacity: 0.5;
	text-decoration: none;
}

.ieFileInput{
    width: 68px;
    height: 20px;
}

.faq dt{
	cursor: pointer;
}

.dialog{
    display: none;
}

.coachingTip{
    cursor: pointer;
    margin: 0 0.3em 0.2em 0.3em;
    display: inline-flex;
    vertical-align: middle;
}

.propertyInfoLabel .coachingTip{
    font-size: 1.2em;
}

.coachingTip:hover{
    opacity: 0.8;
}

.replaceOnClick:hover{
    cursor: pointer;
}

.videoWrap{
    width: 100%;
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    margin: 1em auto;
    background-color: black;
}

.videoWrap iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/****/

.filterWrap{
    margin: 1em auto;
}

.filterWrap div.search{
    margin: 0.8em 0;
    padding: 0.1rem 0.5rem;
    border-radius: 3px;
	width: 100%;
    background: var(--color-background);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.filterWrap div.search input{
    border: none;
    background: transparent !important;
	width: 90% !important;
    font-size: 0.9em;
    padding: 0.8rem;
}

.filterWrap div.search input:focus{
    border: none;
}

.filterWrap div.search .uiButton{
    margin: 0;
    padding: 0.3rem 0.5rem;
    border-radius: 20px;
    font-size: 0.9rem !important;
}

.filterWrap div.search .uiButton, .filterWrap div.search .uiButton:hover{
    border: none !important;
    background: transparent !important;
}

.filterWrap input.text, .filterWrap select, .filterWrap textarea{
    background: var(--color-input-focus);
}

.filterWrap .formInput{
    display: inline-block;
    width: 49%;
    padding: 10px;
}

.filterWrap .labelSpan{
    padding: 0.8em 0 0 0;
}

.filterWrap .inputSpan{
    padding: 0;
}

.filterWrap .expandToggle{
    text-align: center;
    margin-top: 1em;
    font-size: 0.9em;
	font-weight: 700;
}

.filterWrap .expandToggle:hover{
	text-decoration: underline;
}

/****/

.uiButton, .fileInput + label, .ui-button, .navMenu li.loginMenuItem a{
	-webkit-transition: background 0.15s ease;
	-moz-transition: background 0.15s ease;
	-o-transition: background 0.15s ease;
	transition: background 0.15s ease;
}

.navMenu li a{
	-webkit-transition: color 0.15s ease;
	-moz-transition: color 0.15s ease;
	-o-transition: color 0.15s ease;
	transition: color 0.15s ease;
}

img.inset{
	-webkit-transform: rotate(-2deg);
	-moz-transform: rotate(-2deg);
	-o-transform: rotate(-2deg);
	-ms-transform: rotate(-2deg);
	transform: rotate(-2deg);
}

img.reflect{
    -webkit-box-reflect: below 0px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(50%, transparent), to(rgba(255,255,255,0.2)));
}

img.boxshadow{
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
	border: 0;
}

.momentumScroll{
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}

.grow {
	transition: all .2s ease-in-out;
}

.grow:hover{
	transform: scale(1.1);
}

.lightbox{
	display: none;
	position: fixed;
	z-index: 1000;
	width: 100%;
	height: 100%;
	text-align: center;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.8);
}

.lightbox .flexibleImage{
	width: 90%;
	height: auto;
	margin: 2% auto;
}

.lightbox:target{
	display: block;
}

/****/

.leaflet-control-attribution{
    display: none;
}

[class^="fa-"]:before, [class*=" fa-"]:before{
	text-decoration: none;
}

[data-icon]:before{
	font-family: "FontAwesome";
	font-weight: 400;
	content: attr(data-icon);
	speak: none;
}

.breadcrumbs{
	list-style: none;
	max-width: 750px;
	margin: 1.5em auto;
}

.breadcrumbs li{
	display: inline-block;
	margin: 0;
	font-size: 0.9em;
}

.breadcrumbs li:after{
	font-family: "FontAwesome";
	font-weight: 400;
	margin-left: 0.5em;
	margin-right: 0.5em;
	content: "\f054";
}

.breadcrumbs li:last-of-type:after{
	content: "";
}

.addButton:before, .backButton:before, .printButton:before, .downloadButton:before, .calendarButton:before, .bookingButton:before, .contactButton:before, .externalLinkButton:before{
	font-family: "FontAwesome";
	font-weight: 400;
	margin-right: 0.8em;
}

.forwardButton:after{
	font-family: "FontAwesome";
	font-weight: 400;
	margin-left: 0.8em;
}

.addButton:before{
	content: "\f067";
}

.forwardButton:after{
	content: "\f061";
}

.backButton:before{
	content: "\f060";
}

.printButton:before{
	content: "\f02f";
}

.downloadButton:before{
	content: "\f019";
}

.externalLinkButton:before{
	content: "\f08e";
}

.calendarButton:before{
	content: "\f073";
}

.bookingButton:before{
	content: "\f145";
}

.contactButton:before{
	content: "\f0e0";
}

.closeButton{
	position: absolute;
	top: 1em;
	right: 1em;
    line-height: 0.9;
    vertical-align: top;
    font-size: 0.8em;
}

.closeButton.uiButton{
    padding: 1em;
}

.closeButton:before{
	font-family: "FontAwesome";
	font-weight: 400;
	content: "\f00d";
	margin-right: 0;
}

.spinner{
	text-align: center;
	margin: 1em auto;
	font-size: 3em;
}

.dataTable .spinner, .uiButton .spinner, .propertyInfoValue .spinner{
	font-size: 1em;
	margin: 0 auto;
}

.propertyInfoValue .spinner{
	text-align: right;
}

.uiButton .spinner{
	display: inline-flex;
}

.spinner svg{
	width: auto;
	height: 1em;
	fill: currentColor;
	opacity: 0.4;
	animation: spin 2s infinite linear;
}

@keyframes spin{
	0%{ transform:rotate(0deg) }
	100%{ transform:rotate(359deg) }
}

.fa{
	font-weight: 400;
}

.svg-icon.svg-lock, .svg-icon.svg-unlock{
	width: 15px;
}

.alertIcons{
	margin-left: 0.3em;
	display: inline-flex;
}

.alertIcon{
	color: var(--color-amber);
	font-size: 0.9em;
	display: inline-flex;
}

.clearfix:after{
	visibility: hidden;
	display: block;
	content: "";
	clear: both;
	height: 0;
}

/****/

.module{
    max-width: 900px;
    margin: 4em auto;
    position: relative;
}

.module:first-of-type{
    margin-top: 2em;
}

.module:last-of-type{
    margin-bottom: 2em;
}

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

	.module{
		width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		padding-left: 1.5em;
		padding-right: 1.5em;
	}

}

/****/

.adminModule{
    margin: 1% auto;
    padding: 1.5em;
    max-width: 750px;
    position: relative;
    border-radius: 3px;
    border: 1px solid var(--color-border-grey);
}

.adminModule:hover{
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.adminModule.fullWidth{
    max-width: 100vw;
    min-width: 100%;
}

.adminModule.transparent{
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

.adminModule h1{
	font-size: 1.4em;
    margin: 0.5em auto 1em auto;
    color: inherit;
}

.adminModule h2{
	font-weight: 700;
	color: inherit;
}

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

	.adminModule{
		width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
	}

}

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

	.adminModule h1{
		text-align: center;
	}

}

/****/

.adminModule .markdown > ul, .adminModule .markdown > ol, .adminModule .markdown .expandWrap .expandable > ul, .adminModule .markdown .expandWrap .expandable > ol{
	list-style: none;
    margin: 2em 0;
}

.adminModule .markdown > ul > li, .adminModule .markdown > ol > li, .adminModule .markdown .expandWrap .expandable > ul > li, .adminModule .markdown .expandWrap .expandable > ol > li{
    padding: 0.5em 0.8em;
	margin: 0.8em auto;
	background-color: var(--color-background);
	color: inherit;
}

.adminModule .markdown > ul > li:before, .adminModule .markdown .expandWrap .expandable > ul > li:before{
    font-family: "FontAwesome";
  	font-weight: 400;
    content: "\f0da";
    color: var(--color-1);
    margin-right: 0.8em;
}

.adminModule .markdown > ol > li:before, .adminModule .markdown .expandWrap .expandable > ol > li:before{
    content: counter(list-item);
    padding: 0.2em 0.4em;
    margin-right: 1em;
    background: var(--color-1);
    color: var(--color-1-overlay);
    font-size: 0.7em;
    font-weight: 700;
}

/****/

.mapWrap{
    position: relative;
    padding-bottom: 75%;
    height: 0;
    overflow: hidden;
}

.mapWrap iframe, .mapWrap .mapboxMap{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.mapboxgl-ctrl-attrib, a.mapboxgl-ctrl-logo{
    display: none;
}

.adminModule.mapbox{
	padding: 0;
    background-color: transparent !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
}

.largeMap .adminModule.mapbox{
    max-width: 9999px;
}

/****/

@media screen{

	.printonly{
		display: none !important;
	}

}

@media print{

	pre, blockquote{
		page-break-inside: avoid;
	}

	thead{
		display: table-header-group;
	}

	tr, img, .formInput{
		page-break-inside: avoid;
	}

	img{
		max-width: 100% !important;
	}

	@page{
		margin: 0.5cm;
	}

	p, h2, h3{
		orphans: 3;
		widows: 3;
	}

	h2, h3{
		page-break-after: avoid;
	}

	html, #page{
		background: none;
	}

	a{
		font-size: 100% !important;
	}

	footer, header, #footerWrap, #headerWrap, nav, .loginText, .backLink, .buttons, .iconColumn, .insetButtons, .functionButtons, .noprint, .coachingTip, .printButton{
		display: none !important;
	}

	.printonly{
		display: block !important;
	}

	textarea{
		font-size: 80% !important;
	}

	.printHelper{
		white-space: pre;
    	white-space: pre-wrap;
	}

	form.print{
		display: inline-block !important;
	}

	.pageBreak{
		display: block !important;
		page-break-before: always !important;
	}

	.adminModule{
		box-shadow: none !important;
		border: none !important;
	}

}