body{
	font-family: Tahoma, Geneva, sans-serif;
	font-size: 12pt;
	line-height: 1.15;
}

.nowrap{
	white-space: nowrap; /* Alternative to non-standard <nobr> markup */
}
/* handle EXTREMELY TINY SCREENSIES */
@media(max-width:370px){
	body{
		font-size: 12pt;
	}
	h1, h2, .Subtitle, .heading{
		font-size: 16pt !important;
	}
	#divFixedButtons .homepage-button img{
		height:65px !important;
	}
}
@media (min-width: 1600px){
	.container{
		width: 1600px;
		/* width: 1565px; */
		/* margin-right: 135px; */
	}
}
@media (min-width:992px) and (max-width:1735px){
	#divFooter .container,
	#divMain .container{
		margin-left:135px;
		margin-right:135px;
		width:calc(100% - 270px);
	}

}
/* @media(max-width:1300px){
	.col-md-3{
		flex-basis:33%;
	}
	.col-lg-out-of-5{
		flex-basis:33%;
	}
} */
@media(max-width:1120px){
	.col-md-4{
		flex-basis:100%;
	}
}
#divMain {
	padding:0px;
}
.col-xs-out-of-5,
.col-sm-out-of-5,
.col-md-out-of-5,
.col-lg-out-of-5 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
.col-xs-out-of-5 {
  width: 20%;
  float: left;
}

@media (min-width: 768px) {
  .col-sm-out-of-5 {
    width: 20%;
    float: left;
  }
}
@media (min-width: 992px) {
.center-align-odd-column{
	margin: 0px auto;
}
  .col-md-out-of-5 {
    width: 20%;
    float: left;
  }
}
@media (min-width: 1200px) {
  .col-lg-out-of-5 {
    width: 20%;
    float: left;
  }
}

.captcha{
	overflow:hidden;
}

h1, h2,
.Subtitle, /* also targets old-style page headings that used this class*/
.heading{
	font-size: 25pt;
	margin-top: 1em;
	margin-bottom: 0.5em;
	color: #10699C;
	font-weight:normal;
	border-bottom:0px;
}
h2.heading.first,
h1.heading.first{
	padding:0;
	margin-top:0;
	margin-bottom:0.5em;
}
h3.heading{
	font-size:20pt;
}
.c1{
	color: #F76521;
}
.c2{
	color: #10699C;
}
.c3{
	color: white;
}

a.navbar-brand{
	display:block;
}

.navbar{
	background-color: white;
	border: none;
	margin-bottom: 0;
}

.nav.navbar-nav{
	display: flex;
	align-items: flex-end;
}
/* only menu bar */
.nav.navbar-nav>li:not(:last-child){
	margin-bottom: 2rem;
}
.nav.navbar-nav>li:last-child{
	margin-left: 15px;
}

.navbar-default .navbar-nav>li>a.homepage-clientweb-button {
	display: block;
	color: white;
	text-align: center;
	vertical-align: bottom;
	background-color: #f8651b;
	background-image: url(/images/icons/homepage-clientweb-logo.svg);
	background-size: 75%;
	background-position: top center;
	background-repeat: no-repeat;
	height: 95px;
	width: 95px;
	line-height: 130px;
	border-radius: 10px;
	margin: 2rem 0px;
}

.navbar-default .navbar-nav>li>a.homepage-clientweb-button:hover{
	color:white;
}
.nav>li.mobileMenuOnly{
	display: none;
}
.navbar-header{
	display:flex;
	flex-direction: column;
	flex-wrap: nowrap;
}
.navBarTop{
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
}
.navBarBottom{
	display: flex;
	flex-direction: row;
	align-items: center;
}
.header-telephone-number{
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	font-size: 20px;
	color: #10699C;
	padding: 0.6em 0.6em 0.3em 0.2em;
}
@media (min-width: 768px){
	.navbar>.container{
		position: relative;
	}
	.header-telephone-number{
		color: #10699C;
		position: absolute;
		top: 25px;
		right: 140px;
		font-size: 30px;
		padding:0;
		z-index:10;
	}
}
@media (max-width:1406px){
	.header-telephone-number{
		right: 15px;
	}
}
@media (max-width:767px) {
	.navbar-brand{
		flex: 1 1 auto;
		padding: 0.5em 0em 0.3em 0.5em;
		height:auto;
		float:none;
		margin-right: 0.5em;
	}
	.nav>li.mobileMenuOnly{
		display:initial;
	}
	.navbar-header>button{
		flex: 0 0 auto;
		float:none;
	}
	.navbar-brand>img{
		max-width:100%;
	}
	.navbar-collapse{
		padding-left:0;
		padding-right:0;
	}
	.nav.navbar-nav{
		flex-direction:column;
		flex-wrap:nowrap;
		margin:0;
	}
	.nav.navbar-nav>li{
		width:100%;
		border-bottom:2px solid #eee;
	}
	.nav.navbar-nav>li:not(:last-child){
		margin-bottom: 0;
	}
	.nav.navbar-nav>li:not(:last-child) a{
		padding-top:2rem;
		padding-bottom:2rem;
	}
	.nav.navbar-nav>li:last-child{
		border-bottom:none;
	}
	.nav.navbar-nav>li.dropdown.open{
		background-color:#eee;
	}
	.nav.navbar-nav>li.dropdown .dropdown-menu{
		padding-top:0;
		padding-bottom:0;
		font-size: 12pt;
		font-weight: normal;
	}
	.nav.navbar-nav>li.dropdown .dropdown-menu a{
		border-bottom:solid 2px #e7e7e7;
	}
	.navbar-default .navbar-nav>li.homepage-clientweb-button-container{
		display:none;
	}
}

a,a:hover{
	text-decoration: none;
}
a.text-contact-us-overlay,
a.homepage-button,
a.page-link{
	color: inherit;
}

/* BANNER */

.page-banner:not(.swish-only){
	overflow-y: hidden;
	height: 18.713541666vw;
}
.page-banner img{
	width:100%;
}
.page-banner img{
	width:100%;
	min-height: 25.999479166vw;
}
.page-banner.swish-only img{
	min-height: 9.8125vw;
}
.page-banner:not(.swish-only)::before{
	content: " ";
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	/* background-color: blue; */
	background:linear-gradient(270deg,rgba(96.9,39.6,12.9,1) 0%,rgba(6.3,41.2,61.2,1) 100%);
	opacity:0.74;
}
.page-banner.image-with-swish::after {
	background-image: url('/images/swish-transparent-white.png');
	background-size:contain;
	height:inherit;
	z-index: 3;
}
.page-banner .text-overlay-container{
	position: absolute;
	top:0;
	left:0;
	height:90%;
	width:100%;
	z-index:2;
	display:flex;
	flex-direction: column;
	justify-content: center;
}

.page-banner.image-with-text .text-overlay{
	font-size: calc(1.5vw + 0vmin);
	color: white;
	text-shadow: 5px 5px 20px rgba(0,0,0,0.75);
}
.page-banner.image-with-text .text-overlay h1.pageTitle{
	/* color: #10699c; */
	color: #f8651b;
	/* color:white; */
	font-size: calc(2.4vw + 0vmin);
	margin:0;
	margin-bottom:0.5em;
	padding:0;
}

@media(max-width:767px){
	.page-banner:not(.swish-only){
		overflow-y: auto;
		height: auto;
	}
	.page-banner .text-overlay-container{
		padding-top:2em;
		/* padding: */
		position:relative;
	}
	.page-banner .container{
		width:100%;
	}
	.page-banner.image-with-text .text-overlay{
		font-size: inherit;
		color: inherit;
		text-shadow: none;
	}
	.page-banner.image-with-text .text-overlay h1.pageTitle{
		font-size: 25pt;
		color: #10699c;
		text-shadow: none;
		margin-bottom: 0;
	}
	.page-banner.image-with-text .text-overlay .pageTagline{
		color: #F76521;
		margin-bottom: 1em;
		display:block;
		/* display:none; */
	}
	.page-banner:not(.swish-only)::before{
		top:0;
		height:26.041666666vw;
		/* opacity:0; */
	}
	.page-banner.image-with-swish::after {
		height:26.541666666vw;
		top:0;
	}
}

.text-content{
	line-height: 1.42857143;
}

@media(max-width:768px){

	body{
		font-size:12pt;
	}
}

@media(max-width:1200px){
	.text-content p,
	.text-content .text-with-columns p{
		margin: 0 0 10px;
		text-align: left;
	}
}
.text-with-columns {
	column-width: 500px;
	text-align: justify;
	text-justify: inter-word;
	/* column-gap: 80px;
	column-width: 400px; */
}
.text-with-columns p {
	margin:0px;
}

.background-light{
	background-color: #eee;
}
.background-dark{
	background-color: #6b6d73;	/* as per jpg */
}

.image-with-text,
.image-with-swish,
.section-with-swish {
	position: relative;
}
.divMainContent > div.section:last-child,
.section-with-swish{
	padding-bottom: 200px;
}
.image-with-swish::after,
.section-with-swish::after{
	content: '';
	z-index: 1;
	pointer-events: none;
	position: absolute;
	bottom: -3px;
	left: 0;
	right: 0;
	height: 200px;
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: auto;
}
.section-with-swish.swish-top{
	padding-top: 200px;
	padding-bottom:0px;
}
.section-with-swish.swish-top::after{
	top: -3px;
}
.image-with-swish::after {
	background-image: url('/images/swish-transparent-white.png');
	background-size:contain;
	height:38%;
}

.section-with-swish.swish-transparent-grey::after {
	background-image: url('/images/swish-transparent-grey.png');
}
.section-with-swish.swish-transparent-white::after {
	background-image: url('/images/swish-transparent-white.png');
}
.section-with-swish.swish-transparent-transparent::after {
	background-image: url('/images/swish-transparent-transparent.png');
}
.image-with-text .text-contact-us-overlay{
	position: absolute;
	font-size: calc(2.2vw + 0vmin);
	top: calc(16vw + 1vmin);
	left: calc(11vw + 1.5vmin);
	background-color: #F76521;
	border-radius: 16px;
	padding: 0.5ch 1ch;
	color: white;
}

.read-more::before{
	content: "> read more";
}

#divFixedButtons{
	display:none;
	margin-top:2em;
	color: white;
	/* display: flex; */
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-around;
}

#divFixedButtons.container{
	padding:0;
}
#divFixedButtons .homepage-button{
	max-width:135px;
	color: white;
	font-size: 12pt;
	border-radius:20px;
	background-color: gray;
	border: 1px solid white;

	padding: 0px 0px 8px;/* horizontal Padding/box-sizing not applied correctly in IE11, explicit sizing used instead*/
	margin:0.25em 0.25em;


	display: flex;
	flex-basis:30%;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	transition: background-color 0.25s linear;
}

#divFixedButtons .homepage-button:first-child{
	background-color:#F76521;
}
#divFixedButtons .homepage-button:last-child{
	background-color:#F76521;
}

#divFixedButtons .homepage-button img{
	flex: 0 1 auto;
	height: 85px;
	width: 85px;
}
#divFixedButtons .homepage-button .align-client{
	flex: 0 0 auto;
	width:80%; /* Padding/box-sizing not applied correctly in IE11, explicit sizing used instead*/
	/* display: inline-flex; */
}
#divFixedButtons .homepage-button .text{
	text-align: center;
	margin: auto auto;
}

@media(min-width:992px){
	#divFixedButtons{
		display:flex;
		position: fixed;
		z-index: 10;
		top: calc((100vh - 460px) / 2);
		right: 0;
		flex-direction: column;
		flex-wrap: nowrap;
	}
	#divFixedButtons.container{
		width:auto;
		padding:0;
		margin:0;
	}
	#divFixedButtons .homepage-button{
		width: 135px;
		height: 135px;
		border-right: none;
		border-top-right-radius: 0px;
		border-bottom-right-radius: 0px;
		background-color: gray;
		margin-bottom: 20px;
		margin-left:0;
		margin-right:0;
		flex-basis:auto;
		background-color:#656263;
	}
	#divFixedButtons .homepage-button:first-child{
		background-color:#656263;
	}
	#divFixedButtons .homepage-button:last-child{
		background-color:#656263;
	}
	#divFixedButtons .homepage-button:hover{
		background-color: #F76521;
	}
}
@media(max-width:370px){
	#divFixedButtons .homepage-button img{
		height:65px;
	}
}

/* Flexbox override to get dynamic height working right */
.ca-link-grid .row {
  display: flex;
  flex-wrap: wrap;
}
.ca-link-grid .row > [class*='col-'] {
  display: flex;
  flex-direction: column;
}
@media(max-width:992px){
	.ca-link-grid .row > [class*='col-']{
		width:100%;
	}
}

.ca-link-grid .page-link{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	border: 2px solid silver;
	border-radius: 16px;
	padding: 0 32px 32px;
	background-color: white;
	margin-bottom: 30px;
	height:100%;
}
.ca-link-grid .page-link>*{
	flex: 1 1 auto; /* fixes incorrect IE11 defaults */
}
.ca-link-grid .page-link img{
	flex: 0 0 auto;
}
.ca-link-grid .page-link-icon{
	flex: 0 0 auto;
}
.ca-link-grid .page-link-details{
	display: flex;
	flex-direction: column;
	/* align-items: center;  */ /* Bugged for column flex in ie11 */
	margin-left: 0;
	text-align: center;
	flex: 1 0 auto;
	max-width:100%;
}
@media(max-width:992px){
	.ca-link-grid .page-link-details{
		width: 100%;
	}
}
.ca-link-grid .page-link-head{
	flex: 1 1 auto;
	margin-bottom: 8px;
	font-size: 16pt;
	color: #F76521;
}
.ca-link-grid .page-link-text{
	flex: 1 1 auto;
	margin-bottom: 12px;
}
.ca-link-grid .page-link-text ul{
	list-style-position: outside;
	padding-inline-start: 1em;
}

#divServicesGrid.ca-link-grid .page-link-details{
	width:100%;
}
.ca-link-grid .page-link .read-more{
	color: #10699C;
}
.ca-link-grid .page-link-image{
	width:150px;
	height:150px;
	max-width:100%;
}
.ca-link-grid .page-link:hover{
	border-color: #ffba9a;
	transition: border 1s ease;
}
@media (min-width: 992px) {
	.ca-link-grid .row.centered-row-md{
		display: flex;
		justify-content: center;
	}
	.ca-link-grid .row.centered-row-md>div{
		float:none;
	}
}

.ca-link-grid.ca-link-grid-solutions .page-link {
	flex-direction: row;
	flex-wrap: nowrap;
	padding: 32px;
}
.ca-link-grid.ca-link-grid-solutions .page-link-head{
	font-size: 20pt;
	color: #10699C;
}
.ca-link-grid.ca-link-grid-solutions .page-link-details {
	align-items: stretch;
	margin-left: 24px;
	text-align: left;
	flex: 1 1 100%;
}
@media(max-width:992px){
	.ca-link-grid.ca-link-grid-solutions .page-link-details{
		text-align: center;
		margin-left:0px !important;
	}
}
.ca-link-grid.ca-link-grid-solutions .read-more{
	color: #F76521;
}
@media (max-width: 1600px) {
	.ca-link-grid.ca-link-grid-solutions .page-link{
		flex-direction:column;
		padding: 0 32px 32px;
	}
}
.ca-link-grid.ca-link-grid-solutions .page-link-image{
	max-width:none;
}

.ca-link-grid.ca-link-grid-covid .page-link{
	background-color:#9f9f9e;
	color:white;
	border-color:#9f9f9e;
}
.ca-link-grid.ca-link-grid-covid .page-link:hover{
	border-color:#9f9f9e;
}
.ca-link-grid.ca-link-grid-covid .page-link .page-link-head,
.ca-link-grid.ca-link-grid-covid .page-link .page-link-text,
.ca-link-grid.ca-link-grid-covid .page-link .read-more{
	color:white;
}
.ca-link-grid.ca-link-grid-covid .page-link:hover .read-more{
	color:#F26722;
}

/* middle of three links is different */
.ca-link-grid.ca-link-grid-covid .col-md-4:nth-child(2) .page-link{
	background-color:#f8651b;
	color:white;
	border-color:#f8651b;
}
.ca-link-grid.ca-link-grid-covid .col-md-4:nth-child(2) .page-link:hover{
	border-color:#f8651b;
}
.ca-link-grid.ca-link-grid-covid .col-md-4:nth-child(2) .page-link .page-link-head,
.ca-link-grid.ca-link-grid-covid .col-md-4:nth-child(2) .page-link .page-link-text,
.ca-link-grid.ca-link-grid-covid .col-md-4:nth-child(2) .page-link .read-more{
	color:white;
}
.ca-link-grid.ca-link-grid-covid .col-md-4:nth-child(2) .page-link:hover .read-more{
	color:white;
	text-decoration:underline;
}

.ca-link-grid.ca-link-grid-core-values .page-link-head{
	min-height: calc(2em * 1.15);
}

/* I use an img src and not background to ensure img has a width, stays in docflow and the hover image is loaded at page load */
.hoverable:not(:hover) .hoverable-hoverimage{
	display: none;
}
.hoverable:hover .hoverable-default{
	display: none;
}

.blog-item{
	display: flex;
	height: 260px;
	width: 100%;
	border-radius: 24px;
	background-color: white;
	margin-bottom:30px;
	overflow:hidden;
    border: 2px solid silver;
}
a.blog-item:hover{
	border:2px solid #F76521;
}
/* Flexbox's flex-basis is bugged in ie and doesn't take into account box-sizing: border-box. To work around, use flex-basis:auto; and width:50% on each box */
.blog-item .blog-image{
	/* flex: 1 0 50%; */
	flex: 1 0 auto;
	width: 50%;
	background-repeat: no-repeat;
	background-position:center;
	background-size: cover;
}
.blog-details{
	/* flex: 1 0 50%; */
	flex: 1 0 auto;
	width:50%;
	display: flex;
	flex-direction: column;
	padding: 20px;
}
.blog-head{
	flex: 1 0 auto;
	font-size: 12pt;
	margin-bottom: 8px;
	color: #F76521;
}
.blog-text{
	flex: 1 1 auto;
	margin-bottom: 12px;
	overflow: hidden;
	color: #333;
	font-size:10pt;
}
.blog-item .read-more{
	color: #10699C;
}
.blog-read-more{
	display: block;
	margin: 1em auto 2em;
	max-width:300px;
	background-color:white;
	/* color:black; */
	border: 2px solid silver;
	/* border-color:silver; */
	font-size:16pt;
}
.blog-read-more:hover{
	border-color:#F76521;
	color:#F76521;
}
@media (max-width: 1199px){
	.blog-item{
		height:auto;
	}
}
@media (max-width: 767px){
	.blog-item{
		flex-direction:column;
	}
	.blog-details{
		width:100%;
	}
	.blog-item .blog-image{
		width:100%;
	}
	.blog-item .blog-image{
		min-height:150px;
	}
}

#divContactUs .background-light{
	border-radius: 24px;
	padding: 24px 32px 16px 32px;
}
#divContactUs textarea{
	resize: none;
}
#divContactUs #divWhyUseUs{
	line-height: 1.5;
}

/* ******************************* FOOTER *********************************** */
#divFooter{
	margin-top:-200px;
	font-size: 12pt;
	color: #777;
	padding-top:200px;
	position:relative;
}
#divFooterCALogos{
	display:flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: start;
}
#divFooterCALogos img{
	max-width:100%;
	margin-bottom:1em;
}
@media (max-width:690px){
	#divFooterCALogos{
		justify-content: space-around;
	}
}
#divFooter::before {
	content: '';
	z-index: 1;
	pointer-events: none;
	position: absolute;
	top: 0px;
	left: 0;
	right: 0;
	height: 205px;
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: auto;
	background-image: url('/images/swish-transparent-white.png');
}
#divFooter a{
	color: #777;
}
#divFooter .heading{
	font-size: 16pt;
	border-bottom: 1px solid black;
	margin-bottom: 1em;
}
#divAccreditationsLogos{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-evenly;
}
#divAccreditations img{
	margin-right: 15px;
	margin-bottom: 30px;
}
@media(max-width:768px){
	#divAccreditationsLogos{
		justify-content: center;
	}
}
#divUsefulLinks span{
	cursor:pointer;
}
#divUsefulLinks span>img,
#divUsefulLinks a>img{
	height:1.4em;
	width:1.4em;
	margin-right: 0.5ch;
}
#divContactMethods a>img{
	height:1.5em;
	width:1.5em;
	margin-right: 0.5ch;
}
#divCopyright{
	margin-top: 1em;
	text-align: center;
	padding: 12px;
	color: white;
	background-color: #10699C;
}
/* Safari fix for bootstrap columns */
.row:after, .row:before {
	display:table;
	width:0;
	clear:both;
}

/* Submenu  */
.dropdown-submenu {
	position:relative;
}
.dropdown-submenu>.dropdown-menu {
	top:0;
	left:100% !important;
	margin-top:-6px;
	margin-left:-1px;
	-webkit-border-radius:0 6px 6px 6px;
	-moz-border-radius:0 6px 6px 6px;
	border-radius:0 6px 6px 6px;
}
/* .dropdown-submenu:hover>.dropdown-menu {
	display:block;
} */
.dropdown-submenu.pull-left {
	float:none;
}
.dropdown-submenu.pull-left>.dropdown-menu {
	left:-100%;
	margin-left:10px;
	-webkit-border-radius:6px 0 6px 6px;
	-moz-border-radius:6px 0 6px 6px;
	border-radius:6px 0 6px 6px;
}

a#linkedInLink img{
	margin-top:-16px;
	height:auto;
	width:auto;
}
