@font-face {
    font-family: "Amalfi Coast";
    src: url("/fonts/Amalfi Coast.otf") format('opentype'), url("/fonts/Amalfi Coast.ttf") format('truetype'), url("/fonts/Amalfi Coast.woff") format('woff'), url("Amalfi Coast.woff2") format("woff2");
}

body {
	margin: 0;
	padding: 0;
	font-family: "Open Sans", Helvetica, Arial, sans-serif;
	line-height: 130%;
	color: #555;
	font-size: small;
	background: #fff;
}

/********** BOOTSTRAP OVERRIDES **********/
.container, .container-fluid {
    padding-left: 0;
    padding-right: 0;
}

/*** page wrap stuff ***/
.gradient {
    background: linear-gradient(90deg, rgba(219,118,43,1) 0%, rgba(139,165,182,1) 40%, rgba(139,165,182,1) 60%, rgba(124,152,42,1) 100%);
    height: 3px;
    clear: both;
}
#contentwrap {
    background: #FFF;
    margin-bottom: 340px;
    overflow: hidden;
    box-shadow: 0 4px 3px rgba(0,0,0,.32);
}

/*** colours ***/
.blue {
    background-color: #4c83c3 !important;
}
.grey {
    background-color: #8aa5b8 !important;
}
.green {
    background-color: #7d9827 !important;
}
.orange {
    background-color: #db772b !important;
}
.pink {
    background-color: #d74694 !important;
}

/********** COMMON **********/
a {
	text-decoration: none;
}
a:hover {
	color: #5dbfec;
    text-decoration: none;
}
p {
	margin: 0 0 0.8em 0;
	padding: 0;
    line-height: 1.6;
    font-size: 115%;
}
em {
    font-family: 'Amalfi Coast', cursive;
    font-size: 150%;
    line-height: 1.5em;
    color: #CCC;
}
img {
	border: 0;
}
li {
    font-size: 115%;
    line-height: 1.6;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	color: #636363;
	font-weight: 400;
    line-height: normal;
    letter-spacing: -0.03em;
}
h1 {
	font-size: 400%;
	padding: 0;
	margin: 0 0 0.4em 0;
	clear: both;
}
h1:first-of-type {
    margin: 90px 0 0 0;
}
h1.light {
    font-size: 600%;
    color: #FFF;
    margin: 150px 0 0 0;
    font-weight: 600;
    line-height: 1.2em;
}
p.light {
    color: #FFF;
    font-size: 140%;
    font-weight: 300;
    margin-left: 0.2em;
}
h1.light.small {
    font-size: 500%;

}
h1.light.xsmall {
    font-size: 400%;
}
h2 {
	font-size: 320%;
    font-weight: 400;
	margin: 0 0 0.4em 0;
	padding: 0;
}
h3 {
	font-size: 280%;
    font-weight: 400;
	margin: 0 0 0.4em 0;
	padding: 0;
}
h4 {
	font-size: 240%;
    font-weight: 400;
	margin: 0 0 0.3em 0;
	padding: 0;
}
h5 {
	font-size: 220%;
    font-weight: 400;
	margin: 0 0 0.2em 0;
	padding: 0;
}
h6 {
	font-size: 200%;
    font-weight: 600;
	margin: 0 0 0.2em 0;
	padding: 0;
}
dt, dd, dl {
    margin: 0;
    padding: 0;
}
dt h1 {
    margin: 0;
}
hr.clear {
    clear: both;
    height: 0;
    border: none;
    margin: 0;
}

/**** Helper Classes ****/
.text-center {
	text-align: center;
}
.text-left {
	text-align: left;
}
.text-right {
	text-align: right;
}
.fullwidth{
    width:100% !important;
}
.extra-padding {
    padding: 100px 50px;
}
.no-padding{
    padding: 0 !important;
}
.no-margin{
    margin: 0 !important;
}
.left{
    float: left;
}
.right{
    float: right;
}
.relative{
    position: relative;
}
.block{
    display: block;
}
.inline-block{
    display: inline-block;
}
.foldout {
	clear: both;
	width: 100%;
}
.foldouttoggle {
	cursor: pointer;
	padding: 6px 0 6px 30px;
	background: url("/images/expand.png") no-repeat 8px center;
    background-size: 16px;
	text-decoration: none;
	border-top: 1px solid #e9e9e9;
	display: block;
}
.foldouttoggle:hover {
	text-decoration: underline;
}
.foldoutopen {
	background: url("/images/collapse.png") no-repeat 8px center;
    background-size: 16px;
}
.foldoutbox {
	display: none;
	padding: 5px 0;
}
.sidebarfoldoutbox {
    font-size: 115%;
}
.sidebarfoldoutbox li {
    font-size: inherit !important;
}

/********** HEADER **********/
header {
	z-index: 997;
    width: 100%;
    position: fixed;
    top: 0;
}
#header {
	width: 100%;
	margin: 0;
	float: left;
	clear: both;
	display: inline;
    background: #2f2f2f;
    background: rgba(22,22,22,0.1);
    backdrop-filter: blur(4px);
    height: 72px;
}
.skip-link {
    background: #FFF;
    color: #333;
    position: absolute;
    transform: translateY(-100px);
    z-index: 999;
    padding: 0 5px;
    font-size: 85%;
    margin: 5px;
    border: 1px solid #333;
    box-shadow: 1px 1px 2px rgba(0,0,0,0.2);
    text-decoration: none !important;
}
.skip-link:focus {
  transform: translateY(0);
}
#default #header {
    background: rgba(22,22,22,0.9) !important;
}
#header .logo-container {
    position: relative;
    height: 66px;
    display: block;
    padding: 0;
}
#header .logo {
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	font-size: 28px;
	line-height: 1;
    padding: 0;
	text-decoration: none;
    margin: 18px 10px;
    outline: 0;
    letter-spacing: -0.01em;
    font-weight: 300;
	display: inline-block;
    color: #FFF;
}
#header .topright {
    position: relative;
    height: 72px;
    padding: 0;
    display: block;
    text-align: right;
}
#header .topnavigation {
	float: left;
	font-size: 120%;
	color: #555;
	width: 100%;
    padding: 16px 28px;
}
#header .topnavigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
    position: relative;
}
#header .topnavigation ul li {
    display: inline-block;
    padding: 0;
	margin: 0 20px;
    position: relative;
    font-size: 100%;
}
#header .topnavigation li.toplevelcat {
    padding: 7px 0;
}
#header .topnavigation li.toplevelcat > a {
    padding: 7px 0;
    outline: none;
}
#header .topnavigation a {
    color: #FFF;
    margin: 0;
    text-decoration: none;
}
#header .topnavigation a:hover, #header .topnavigation a.current {
    color: #FFF;
    text-decoration: none;
}
/* sub nav */
#header .topnavigation ul li ul.subnav {
    position: absolute;
    top: 100%;
    left: -15px;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 160px;
    padding: 5px 0;
    margin: 0;
    font-size: 14px;
    list-style: none;
    background-color: #FFF;
    background-clip: padding-box;
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, .15);
    box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
}
#header .topnavigation ul li ul.subnav:before {
    content: '';
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #FFF;
    position: absolute;
    top: -9px;
    left: 24px;
}
#header .topnavigation ul li ul.subnav li {
    display: block;
    padding: 0;
    margin: 0;
}
#header .topnavigation ul li ul.subnav li a {
    display: block;
    margin: 0;
    padding: 10px 20px;
    color: #333;
    white-space: nowrap;
    font-weight: 400;
    text-align: left;
    outline: 0;
}
#header .topnavigation ul li ul.subnav.mininav li {
    margin: 5px;
    padding: 0;
    border-right: 5px solid #FFF;
}
#header .topnavigation ul li ul.subnav.mininav li:hover {
    background: linear-gradient(90deg, rgba(255,255,255,1) 10%, rgba(245,245,245,1) 60%);
    border-right: 5px solid #444;
}
#header .topnavigation ul li ul.subnav.mininav li a {
    padding: 10px 20px 10px 20px;
    transition: 0.3s all;
}
#header .topnavigation ul li ul.subnav.mininav li a.icon {
    padding-left: 50px;
    background-size: 30px;
    background-position: 7px center;
    background-repeat: no-repeat;
}
#header .topnavigation ul li ul.subnav.mininav li a:hover {
    padding-left: 23px;
    padding-right: 17px;
}
#header .topnavigation ul li ul.subnav.mininav li a.icon:hover {
    padding-left: 53px;
    background-position: 10px center;
}
#header .topnavigation ul li:hover ul.subnav {
    display: block;
    visibility: visible;
}
.headerbanner {
    clear: both;
    font-size: 120%;
    background: #eee;
    text-align: center;
    padding: 10px;
    position: relative;
    color: #333;
    margin: 0;
}
.headerbanner img {
    position: absolute;
    right: 10px;
    top: 10px;
    cursor: pointer;
}

/* ixo */
.ixomenu li a {
    font-weight: 600 !important;
    background-color: transparent !important;
}
.ixomenu span {
    width: 100%;
    display: block;
    font-weight: 300;
}

/* footer */
#preview-mode {
	position: fixed;
	right: 20px;
	bottom: 20px;
	background: #ffff66;
	color: #000;
	z-index: 9999;
	padding: 5px 10px;
	box-shadow: 0 10px 10px rgba(0,0,0,0.2);
}
/********** FOOTER **********/
#footer{
	background: #2f2f2f;
	padding: 35px 0;
}
#footer ul{
    position: relative;
    margin: 0;
    padding: 0;
}
#footer ul li{
	display: inline-block;
	margin: 0 15px;
	font-size: 123%;
	color: #FFF;
}
#footer ul li a{
	color: #FFF;
	font-size:100%;
}

/*** footer block quote ***/
blockquote.footer-quote{
	background-color: #4c83c3;
	bottom: 0;
	color: #FFFFFF;
	left: 0;
	margin: 0;
	padding: 40px 0;
    min-height: 75vh;
	position: fixed;
	right: 0;
	z-index: -1;
}
blockquote.footer-quote .container{
    overflow: hidden;
    position: fixed;
    bottom: 50px;
    left: 0;
    right: 0;
}
blockquote.footer-quote p{
	font-size:115%;
	margin: 0;
}
blockquote.footer-quote p.quote{
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 260%;
    margin-bottom: 15px;
    padding: 0 15px;
    overflow: hidden;
    max-width: 100%;
    line-height: 140%;
}
blockquote.footer-quote p.quote:before, blockquote.footer-quote p.quote:after{
    content: '"';
}
blockquote.footer-quote .inputbutton{
    margin-top: 38px;
    display: inline-block;
    width: auto;
	color: #333;
    padding: 15px 25px;
    font-size: 150%;
}

/*** cookie prompt ****/
#cookieprompt {
	position : fixed;
	bottom: 0;
	width: 100%;
	display: flex;
	align-items: center;
	background: #333;
	background: rgba(30,30,30,0.9);
	color: #FFF;
	padding: 0;
	font-size: 110%;
	z-index: 999;
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
}
#cookieprompt.cookieblock {
	height: 100%;
	justify-content: center;
}
#cookieprompt #cookiepromptinner {
	padding: 30px 60px;
}
#cookieprompt.cookieblock #cookiepromptinner {
	background: #FFF;
	width: 50%;
	color: #333;
	border-radius: 10px;
	text-align: center;
}
#cookieprompt #cookiepromptinner a {
	color: inherit;
}
#cookieprompt #cookieOk {
	font-size: 70px;
	font-family: serif;
	position: absolute;
	left: 20px;
	top: 28px;
	color: #FFF;
	text-decoration: none;
}
#cookieprompt a {
	color: #FFF;
	text-decoration: underline;
}

/**** Button Classes ****/
.inputbutton {
    color: #666;
    background: #FFF;
    border: 1px solid #666;
    box-shadow: none;
    border-radius: 2px;
    padding: 8px 25px;
    transition: .4s all;
    font-size: 110%;
    display: inline-block;
    text-align: center;
    line-height: 1.4em;
}
.inputbutton:hover {
	text-decoration: none;
    color: #FFF;
    background: #666;
}
.inputbutton.primarybutton{
    color: #FFF;
    background: #4c83c3;
    border: 1px solid #4c83c3;
}
.inputbutton.primarybutton:hover{
    color: #FFF;
    background: #333;
    border-color: #333;
}
.inputbutton.actionbutton{
    color: #FFF !important;
    background: transparent;
    border: 1px solid #FFF !important;
}
.inputbutton.actionbutton:hover{
    background: #333 !important;
    border: 1px solid #333 !important;
}
.biginputbutton{
    font-size: 160%;
    padding: 10px 25px;
}

/**** blog stuff ***/
.profilebox {
    clear: both;
    float: left;
    margin: 50px 20px;
}
.featured-page-header {
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    position: relative;
    filter: grayscale(1);
    padding: 0 0 60px 0;
}
.modular-page-header{
    background: #4c83c3;
    min-height: 380px;
    position: relative;
    margin: 0;
}
.modular-page-header .container {
    padding-right: 200px;
}
.modular-page-header span.ident{
    width: 240px;
    height: 240px;
    display: block;
    background: none;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 72px;
    right: -50px;
    bottom: 0;
    margin: auto;
}
.modular-page-header span.ident-plus{
    background-image: url('/images/ident_plus.png');
}
.modular-page-header span.ident-i{
    background-image: url('/images/ident_i.png');
}
.modular-page-header span.ident-intus{
    background-image: url('/images/ident_intus.png');
}
.modular-page-header span.ident-omnis{
    background-image: url('/images/ident_omnis.png');
}
.modular-page-header span.ident-xtro{
    background-image: url('/images/ident_xtro.png');
}

/*** see more ****/
.featured-page-panel {
    background: #F3F3F3;
    margin-top: 50px;
}
.featured-page-panel ul{
    display: flex;
    flex-flow: row wrap;
    text-align: center;
    align-items: center;
    width: 100%;
    justify-content: space-between;
    padding: 50px;
}
.featured-page-panel li{
    font-size: 230%;
    color: #2f2f2f;
}
.featured-page-panel li a{
    font-size: 100%;
    color: #2f2f2f;
    position: relative;
    opacity: .5;
    transition: opacity .4s;
}
.featured-page-panel li a:hover{
    opacity: 1;
}
.featured-page-panel li a:hover, .featured-page-panel li a:focus, .featured-page-panel li a:active{
    text-decoration: none;
}
.featured-page-panel li:first-child a{
    padding-left: 45px;
}
.featured-page-panel li:last-child a{
    padding-right: 45px;
}
.featured-page-panel li:first-child a:before, .featured-page-panel li:last-child a:after{
    content: '';
    width: 20px;
    height: 41px;
    background: url('/images/featuredprev.png');
    position: absolute;
    left: 0;
    top: 0;
}
.featured-page-panel li:last-child a:after{
    background: url('/images/featurednext.png');
    right: 0;
    left: auto;
}

/**** form stuff ****/
.textfield {
	background: #fff;
	border: 1px solid #ccc;
	color: #666;
	font-size: 120%;
	margin: 0 0 4px 0;
	padding: 8px 12px;
	vertical-align: middle;
	width: 100%;
}
.textfield.textfieldxsmall {
	width: 15%;
}
.textfield.textfieldsmall {
	width: 33%;
}
.textfield.textfieldmedium {
	width: 66%;
}
.textfield.textfieldfull {
	width: 100%;
}
.textfield.requirederror {
    border: 1px solid #C00;
    box-shadow: 0 0 3px #C99;
}
.red {
    color: #C00;
}
.confbox, .errbox, .noticebox {
	clear: both;
	font-size: 250%;
	line-height: 1.3em;
	padding: 40px;
	width: 100%;
	text-align: center;
	float: left;
}
.confbox {
	font-size: 400%;
	height: 100vh;
	color: #FFF;
	background-color: #2f2f2f;
    background-image: url("/images/contact.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}
.errbox {
	color: #FFFF;
	background: #CC3333;
    position: fixed;
    top: 70px;
}
.noticebox {
	color: #333;
	background: #ffffc5;
}
.grecaptcha-badge {
    bottom: 80px !important;
}
.grecaptcha-badge.out {
    right: -260px !important;
}
.pageblock_widefeature.pageblock_nocrop .feature-inner {
    background-color: #f7f7f7;
    background-size: 100%;
    background-repeat: no-repeat;
}
.ipaddress {
    font-size: 8vw;
    font-family: Arial, sans-serif;
    margin: 40px 0;
    padding: 40px;
    border-radius: 20px;
}
@media screen and (min-width: 1200px) {
  .ipaddress {
     font-size: 8em;
  }
}
@keyframes bounce {
    0% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    50% {
        -webkit-transform: translate(0, 10px);
        transform: translate(0, 10px);
    }
    100% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}
