
/* global */
.container {
     /*padding: 0 30px;*/
     /*max-width: none;*/
}
.limitWidth {
    max-width: 1500px;
    margin: auto;
}
/* a, a:active, a:focus, a:hover, a:visited {
    text-decoration: none;
    color: inherit !important;
} */

.centraltext  ul {
    margin-left: -18px;
    list-style-type: none;
}
.centraltext ul > li {
  text-indent: -22px;
}
.centraltext ul > li:before {
  content: "- ";
  /*text-indent: -5px;*/
}

.personText  ul {
    margin-left: -18px;
    list-style-type: none;
    font-family: 'Relevant Normal';
    font-size: 30px;
    line-height: 33px;
    letter-spacing: 0.35px;
}
.personText ul > li {
  text-indent: -23px;
}
.personText ul > li:before {
  content: "- ";
}

header.top {
    margin-bottom: 0;
    height: 160px;
}
header.top a.logo {
    margin-top: 0;
    z-index: 0;
}
header.top a.logo img {
    position: fixed;
    left: 30px;
    top: 30px;
    height: 96px;
    margin: 0;
}
.logo2020 {
    position: fixed;
    left: 30px;
    top: 30px;
    height: 80px;
    z-index: 10;
}
.logo2024 {
    margin: 30px 0 0 15px;
    height: 80px;
}
nav.top .inner {
    height: 90px;
}
.secondLogo {
    width: 225px;
    margin: 30px;
}
.fixedHeader {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 90px;
    background-color: #fff;
}
.floatQuoteFoot {
    display: block;
    font-size: 15px;
    transition: 0.2s;
    font-family: 'Relevant Black';
    margin: 0 0 13px 0;
}
.headerSpace {
    margin: 160px 0 0 0; 
}
.headerNoSpace {
    margin: 0; 
}

/* navigation */
.mobileMenuButton {
	position: fixed;
	top: 30px;
	right: 30px;
	width: 40px;
    /*z-index: 11*/;
}
.mobileHeader {
	display: block;
}
.closeNavBtn {
	position: absolute;
	top: 30px;
	right: 30px;
    width: 30px;
}
#mobileNav {
    display: block;
	position: fixed;
	box-sizing: border-box;
	width: 0;
	height: 100%;
	top: 0;
	right: 0;
	overflow-x: hidden;
	transition: 0.2s;
	box-shadow:0px 1px 3px rgba(0,0,0,0.25);
    z-index: 14;
}
#desktopNav {
    display: none;
}
.mobileNavLink {
	display: block;
	margin: 0 0 0 0;
	text-decoration: none;
	font-size: 30px;
	color: #ffffff !important;
	font-family: 'value-sans-bold-pro';
	padding: 5px;
    letter-spacing: 1px;
    line-height: 30px;
}
.mobileNavLinkMedium {
	display: block;
	margin: 0 0 0 0;
	text-decoration: none;
	font-size: 30px;
	color: #ffffff !important;
	font-family: 'value-sans-regular-pro';
	padding: 5px;
    letter-spacing: 1px;
    line-height: 30px;
}
.mobileSubNavLink {
	display: block;
	text-decoration: none;
    font-family: 'value-sans-regular-pro';
	font-size: 30px;
    margin: 0 0 5px 0;
	color: #ffffff !important;
	padding: 5px;
    line-height: 30px;
    letter-spacing: 1px;
}
.navSection {
    display: none;
}
.navSubHeader {
    color: #ffffff;
    font-family: 'value-sans-regular-pro';
    margin: 0;
    padding: 5px
}
.alignNavText {
    padding-left: 0;
}
.mobileSocials {
    position: absolute;
    left: 20px;
    bottom: 15px;
}
.maxNavHeight {
    max-height: 50vh;
    overflow-y: auto;
}

/* Accordion */
.accordion, .accordion * {
    -webkit-box-sizing:border-box; 
    -moz-box-sizing:border-box; 
    box-sizing:border-box;
}
.accordion {
	padding: 30px 0 0 5px;
}
.accordion-section-title {
    width:100%;
    padding:5px;
    display:inline-block;
    transition:all linear 0.1s;
}

.accordion-section-title.active, 
.accordion-section-title:hover, 
.mobileSubNavLink:hover, 
.mobileSubNavLink.active,
.mobileNavLink:hover,
.mobileNavLink.active,
.deskNavLink:hover,
.deskNavLink.active  {
    text-decoration: underline;
    text-decoration-color: #fff !important;
}
.accordion-section:last-child .accordion-section-title {
    border-bottom:none;
}
/*----- Section Content -----*/
.accordion-section-content {
    padding: 0 0 0 30px;
    display:none;
}

/*
body[data-colour=lochmara] #mobileNav {
    background-color: #008ccc;
}
body[data-colour=persian-green] #mobileNav {
    background-color: #009a81;
}
body[data-colour=flamingo] #mobileNav {
    background-color: #f05136;
}
body[data-colour=scooter] #mobileNav {
    background-color: #2bc3ca;
}
body[data-colour=yellow-orange] #mobileNav {
    background-color: #ffae3b;
}
*/

/*Search*/
.mobileMagnifyingGlass {
    display: none;
}
.mobileSearch {
    display: block;
}
.magnifyingGlassClose {
        position: fixed;
        top: 29px;
        right: 34px;
        height: 30px;
        /*z-index: 13;*/
    }
.searchMargin {
    margin: 50px 15px 0 15px;
}


nav.main {
    background-color: black;
}
nav.main .search__container {
    margin: 150px -30px 0 -30px;
    height: 30px;
    font-family: 'Relevant Normal';
}
nav.main .search__container form{
    width: 100%;    
}
body.nav-is--open, body.overlay-is--open {
    overflow: auto;
}

/*
body[data-colour=lochmara] nav.main {
    background-color: #008ccc;
}
body[data-colour=persian-green] nav.main {
    background-color: #009a81;
}
body[data-colour=flamingo] nav.main {
    background-color: #f05136;
}
body[data-colour=scooter] nav.main {
    background-color: #2bc3ca;
}
body[data-colour=yellow-orange] nav.main {
    background-color: #ffae3b;
}
*/


/*carousel */
.carouselDiv {
    position: relative;
    margin: 0 0 30px 0;
}
#prevDiv {
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 75%;
    /*AWS*/
    cursor: url('../../img/arrow_white_prev.png') 43 27,  url('/public_html/site/templates/img/arrow_white_prev.cur') 43 27, w-resize;
    
    /*local
    cursor: url('../img/arrow_white_prev.png'),  url('/PTE/public_html/site/templates/img/arrow_white_prev.cur'), w-resize;
    */
}
#nextDiv {
    position: absolute;
    top: 0;
    right: 0;
    width: 40%;
    height: 75%;
    /*AWS*/
    cursor: url('../../img/arrow_white_next.png') 43 27,  url('/public_html/site/templates/img/arrow_white_next.cur') 43 27, e-resize;
    
    /*local
    cursor: url('../img/arrow_white_next.png'),  url('/PTE/public_html/site/templates/img/arrow_white_next.cur'), e-resize;
    */
}
#downDiv {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 80%;
    height: 25%;
    /*AWS*/
    cursor: url('../../img/arrow_white_down.png') 27 43,  url('/public_html/site/templates/img/arrow_white_down.cur') 27 43, s-resize;
    
    /*local
    cursor: url('../img/arrow_white_down.png'),  url('/PTE/public_html/site/templates/img/arrow_white_down.cur'), e-resize;
    */
}
.carousel {
    box-sizing: border-box;
    width: 100%;
    height: 50vw;
    overflow: hidden;   
}
.carouselImageDiv {
    position: relative;
    width: 100%;
    height: 50vw;
    /*AWS*/
    /*cursor: url('../img/arrow_white_down.png') 27 43,  url('/public_html/site/templates/img/arrow_white_down.cur') 27 43, s-resize;*/
    
    /*local
    cursor: url('../img/arrow_white_down.png'),  url('/public_html/site/templates/img/arrow_white_down.cur'), e-resize;
    */
}
.carouselImage {
    width: 100%;
    height: 50vw;
    vertical-align: bottom;
    object-fit: cover;
}
.carouselquoteDiv {
    position: absolute;
    width: 100%;
    top: 0;
    height: 25vw;
    background-image: linear-gradient(rgba(72,72,72,0.5), rgba(72,72,72,0));
}
.quoteMark {
    position: absolute;
    top: 30px;
    left: 19px;
    font-size: 25px;
    color: #ffffff;
    line-height: 1.2;
    font-family: 'Relevant Light';
}
.carouselquotePadding {
    padding: 30px;
}
.carouselquoteWrap {
    box-sizing: border-box;
    width: 100%;
    padding: 0;
    font-size: 25px;
    color: #ffffff;
    line-height: 1.2;
    font-family: 'value-sans-regular-pro';
}
.carouselauthorWrap {
    box-sizing: border-box;
    width: 50%;
    padding: 0;
    font-size: 18px;
    color: #ffffff;
    line-height: 1.2;
    /*font-family: 'Relevant Black';*/
    font-family: 'Relevant light';
}
.carouselauthorJob {
    box-sizing: border-box;
    width: 50%;
    padding: 0;
    font-size: 18px;
    color: #ffffff;
    line-height: 1.2;
    /*font-family: 'Relevant Light';*/
    font-family: 'Relevant Light Italic';
}
.carouselInfoDiv {
    position: absolute;
    box-sizing: border-box;
    width: 100%;
    bottom: 0;
    padding: 30px;
    background-image: linear-gradient(0deg, rgba(72,72,72,0.5), rgba(72,72,72,0));
}
.carouselImageBold {
    position: relative;
    font-size: 20px;
    color: #ffffff;
    line-height: 1.2;
}
.carouselImageTitle, .carouselImageTitle:hover, .carouselImageTitle:active {
    text-decoration: none;
    color: #ffffff !important;
}
.carouselImageNum {
    position: absolute;
    top: 0;
    right: 0;
    font-family: 'Relevant Normal';
}
.carouselImageSubtitle, .carouselImageSubtitle:hover {
    font-size: 18px;
    color: #ffffff !important;
    line-height: 1.2;
    font-family: 'Relevant Light';
    text-decoration: none;
}
.carouselText {
    display: block;
}

.trim {
    width: 100%;
    vertical-align: bottom;
    object-fit: cover;
    overflow: hidden;
}
.fullBleedHeight {
    height: auto;
    padding: 0 !important;
}
.projectfullBleedHeight {
    height: auto;
    padding: 0 !important;
}

.hundred {
    width: 100%;
    padding: 0 30px;
}
.centralQuoteDiv {
    position: relative;
}
.centralQuote {
    font-family: 'value-sans-bold-pro';
    font-size: 30px;
    line-height: 1.25;
    padding: 0 0 30px 65px;
}
.centralQuoteMark {
    position: absolute;
    top: 6px;
    left: 0px;
    width: 37px;
}
.centralQuoteMarkEnd {
    position: absolute;
    bottom: 8px;
    right: 0px;
    width: 37px;
}
.centralQuote::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 37px;
    height: 37px;
    margin: 0 0 5px 20px;
    background: url('../../img/2024/Quotemark2.png') 0 0 no-repeat;
    background-size: contain;
}
.centralCredit {
    padding: 0;
    font-family: 'Relevant Light';
    font-size: 26px;
}
.centralImage {
    padding: 0 80px;
}

/* internet explorer images */
/* include js */
.ieFix {
	position: relative;
	background-size: cover;
	background-position: center center;
}

/* home intro */
.homeIntro {
    padding: 10px 0 40px 0;
}
.homeIntro h2 {
    font-size: 30px;
}

/* home projects/news */
.secondProjects {
    display: none;
}
.secondNews {
    display: none;
}
.filterStyle {
    margin: 0 10px 0 0;
    font-family: value-sans-medium-pro;
    font-size: 20px;
    text-decoration: none !important;
    color: #000;
}
.filterDash {
    margin: 0 10px 0 0;
    font-size: 20px;
    text-decoration: none !important;
}
.peopleFilterTitle {
    font-family: value-sans-bold-pro;
    margin: 0 10px 0 0;
    font-size: 35px;
    text-decoration: none !important;
}
.peopleFilterStyle {
    font-family: value-sans-medium-pro;
    margin: 0 15px 0 0;
    font-size: 35px;
    text-decoration: none !important;
    color: #000;
}
.peopleFilterDash {
    font-family: value-sans-bold-pro;
    margin: 0 10px 0 0;
    font-size: 35px;
    text-decoration: none !important;
}

.optionDiv {
    position: relative;
}
.option {
    position: relative;
    top: 15px;
    left: 0;
    transition: 0.1s;
    white-space: nowrap;
}
.option:hover {
    color: #000;
}
.optionView {
    color: #686766;
    opacity: 0;
}
.selectedView {
    color: #000;
    opacity: 1;
}

/*people*/
.peopleOption {
    position: relative;
    transition: 0.1s;
    white-space: nowrap;
}
/* .peopleOption:hover {
    color: #686766;
}
.peopleOptionView {
    color: #C9C9C9;
}
.peopleSelectedView {
    color: #686766;
} */

.peopleMobile {
    background-color: #fff;
}
.peopleMobileRealtive{
    display: block;
    position: relative;
    background-color: #fff;
}
.peopleMobileFixed{
    display: block;
    position: fixed;
    top: 90px;
    left: 0px;
    background-color: #fff;
    z-index: 10;
    width: 100%;
}
.peopleWide{
    display: none;        
}

.peopleFiltersHorizontal, .peopleFiltersVertical,
.projectFiltersHorizontal, .projectFiltersVertical,
.homeFiltersHorizontal, .homeFiltersVertical,
.awardsFiltersHorizontal, .awardsFiltersVertical {
    padding: 10px 0 30px 15px;
}
.verticalFilterStyle {
    display: block;
    position: relative;
    padding: 5px 0 0 0;
    font-size: 20px;
    text-decoration: none !important;
}
.verticalDiv {
    display: block;
    position: relative;
    transition: 0.1s;
    margin:0;
    background-color: #fff;
}

.people__layout .person .image img {
    filter: grayscale(0%);
}
.personName {
    font-family: 'value-sans-bold-pro';
    margin: 5px 0 0 0;
    font-size: 20px;
}
.personJob {
    font-family: 'value-sans-regular-pro';
    font-size: 20px;
    min-height: 41.6px;
}
.personDetailDiv {
    font-family: 'value-sans-regular-pro';
    padding: 30px 30px 0 30px;
}
.personDetailName {
    font-family: 'value-sans-bold-pro';
    margin: 5px 0 0 0;
    font-size: 30px;
    line-height: 33px;
}
.personQualifications {
    font-family: 'Relevant Light';
    font-size: 30px;
    line-height: 33px;
}
.personImage {
    padding: 0 30px 0 0;
    margin: 0 0 0 15px;
    width: 100%;
}
.personText p {
    font-family: 'Relevant Normal';
    font-size: 30px;
    line-height: 33px;
    letter-spacing: 0.35px;
    margin: 0 0 30px 0;
}
.personText h3 {
    font-size: 24px;
    margin: 0 30px 30px 30px;
}
.personText h3::before {
    position: absolute;
    left: 48px;
    content: "“";
}
.personText h3::after {
  content: "”";
}
.personText a, .personText a:active, .personText a:hover, .personText a:visited {
    text-decoration: underline;
    color: #000;
}

.peopleImageDiv {
    position: relative;
}
.linkedinLink, .linkedinLink:hover, .linkedinLink:active {
    text-decoration: none;
}
.peopleLinkedin {
    display: inline-block;
    margin: 5px 10px 10px 0;
    width: 35px;
    text-decoration: none;
}
.backPeopleDiv {
    display: none;
    text-align: center;
    /*border: solid 2px;
    padding: 15px;*/
}
.backPeople, .backPeople:hover, .backPeople:active {
    font-family: 'value-sans-bold-pro';
    text-decoration: none;
    border: solid 2px;
    padding: 15px;
    color: #000;
    font-size: 20px;
    vertical-align: middle;
}
.backProject, .backProject:hover, .backProject:active {
    text-decoration: none;
}

.backPeopleMobile, .backPeopleMobile:hover, .backPeopleMobile:active {
    display: block;
    position: absolute;
    top: 0;
    right: 15px;
    text-decoration: none;
    border: solid 2px;
    padding: 10px;
}
.experienceTitle {
    margin: 30px;
    padding: 0;
    font-family: 'value-sans-bold-pro';
    font-size: 35px !important;
}
.showingDiv {
    display: inline-block;
}
.animatedGif {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
}
.gifDiv {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 130%;
    overflow: hidden;
}


/* footer */
footer.main {
    /*margin-top: 0;*/
}
.footerDiv {
    display: block;
    margin: 0 0 50px 15px;
}
.footerIcon {
    margin: 10px 12px 0 0;
    object-fit: cover;
    object-position: 0 100%;
}
.footerPhone {
    height: 19px;
    width: 23px;
}
.footerMail {
    height: 19px;
    width: 30px;
}
.footerTwitter {
    height: 20px;
    width: 27px;
}
.footerInsta {
    height: 21px;
    width: 24px;
}
.footerLinked {
    height: 21px;
    width: 24px;
}
footer.main .inner {
    padding-top: 0;
    border-top: none;
}
.copyright {
    color: #000;
    margin: 0;
    font-size: 20px;
    font-family: 'value-sans-bold-pro';
}
.privacyPolicy {
    color: #000;
    text-align: center;
}
.socials {
    color: #000;
    text-align: right;
}
.footerText, .footerText p, .footerText a, .footerText a:active, .footerText a:hover, .footerText a:visited {
    color: #000;
    font-size: 20px;
    font-family: 'value-sans-bold-pro';
    line-height: 25px;
}
.footerTextBottom p {
    color: #000;
    font-size: 20px;
    font-family: 'value-sans-bold-pro';
    line-height: 25px;
    margin: 0;
}
.footerTextBottom a, .footerTextBottom a:active, .footerTextBottom a:hover, .footerTextBottom a:visited {
    color: #000;
    margin: 0;
}
.footerTextMiddle {
    margin: 0 0 15px 0;
}
.footerTextMiddle p, .footerTextMiddle a, .footerTextMiddle a:active, .footerTextMiddle a:hover, .footerTextMiddle a:visited {
    color: #000;
    font-size: 20px;
    font-family: 'value-sans-bold-pro';
    line-height: 25px;
    margin-bottom: 0;
}
.footerLink, .footerLink:active, .footerLink:hover {
    color: #000 !important;
    text-decoration: none !important;
    margin: 0 20px;
    font-size: 20px;
    font-family: 'value-sans-bold-pro';
}
.mobileSocials {
    /*text-align: right;*/
}
.newsletterDiv {
    margin: 18px 0 0 0;
    position: relative;
    height: 53px;
}
.newsletterImage {
    position: absolute;
    top: 0px;
    left: -5px;
    height: 48px;
}
.newsletterText {
    position: absolute;
    margin: 0;
    top: 17px;
    left: 13px;
}
.badges {
    margin: 20px 0 0 0;
    border-top-width: 1px;
    border-top-style: solid;
    padding: 20px 0 0 0;
    position: relative;
    text-align: left;
    height: 70px;
}
.acmImage {
    height: 50px;
    margin: 0 10px 0 0;
}
.cyberImage {
    height: 50px;
    margin: 0 10px 0 0;
}
.bimImage {
    height: 50px;
}
.subscribeLink {
    text-decoration: none;
}
.subscribeDiv {
    margin: 15px 0 50px 0;
}
.subscribeSpan {
    border: #000 solid 1px;
    border-radius: 15px;
    padding: 8px 12px;;
}
#goToTopLink {
    text-decoration: none;
}
#goToTopSpan {
}

/* sectors */
.image:hover .sectorOverlay{
    height: 100%;
}
.sectorOverlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 0;
    width: 100%;
    z-index: 1;
    opacity: 0.8;
    background-color: rgba(0,0,0,0.4) !important;
}
.sectorOverlayTitle {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 1;
    color: #fff;
    margin: 0;
    font-size: 16px;
    
}
section.sector__projects {
    border: none;
}
.directoryTitle {
    font-family: 'value-sans-bold-pro';
    font-size: 30px;
    margin: 0 0 30px 0;
}

/*
body[data-colour=lochmara] .sectorOverlay {
    background-color: #008ccc;
}
body[data-colour=persian-green] .sectorOverlay {
    background-color: #009a81;
}
body[data-colour=flamingo] .sectorOverlay {
    background-color: #f05136;
}
body[data-colour=scooter] .sectorOverlay {
    background-color: #2bc3ca;
}
body[data-colour=yellow-orange] .sectorOverlay {
    background-color: #ffae3b;
}
*/


/* Projects */
.projectsMobile{
    display: block;        
}
.projectsWide{
    display: none;        
}
.projects__layout .project .meta ul li:after {
    /*content: '\2c';*/
    content: '\00a0\2044';
}
.projectVideoMargin {
    margin: 0;
    
}
.projectGifDiv {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 80%;
    overflow: hidden;
}


.centraltext h3 {
    font-family: 'Relevant Normal';
    font-size: 30px;
    line-height: 1.1;
    margin: 30px 30px  0 30px; 
}
.centraltext h3::before {
    position: absolute;
    left: 33px;
    content: "“";
}
.centraltext h3::after {
  content: "”";
}

.centraltext em {
    font-family: 'Relevant Normal';
    font-size: 18px;
    line-height: 1.1;
    margin: 0 30px;
    font-style: normal;
    display:block;
}
.centraltext a,
.centraltext a:active,
.centraltext a:hover,
.centraltext a:visited {
    text-decoration: underline;
    color: #000;
}
.projectAwardDiv {
    position: relative;
    margin: 0 0 0 26px;
}
.projectAwardDash {
    position: absolute;
    top: 0;
    left: -25px;
}
.relatedText {
    font-family: 'value-sans-bold-pro';
    font-size: 37px;
}

/* research innovation */
.centralSection {
    margin: 30px 15px 0 15px;
}
.centraltitle {
    font-family: 'value-sans-bold-pro';
    font-size: 30px;
    padding: 0 !important;
    margin: 0;
}
.centraltext {
    font-family: 'Relevant Normal';
    margin: 0;
    font-size: 30px; 
    line-height: 33px;
    letter-spacing: 0.35px;
}

.centraltext p {
    margin-top: 0;
}
/*
.centraltext p:not(:first-of-type)::before {
    content: "__";
    color: #fff;
}*/

.centralFull {
    width: 100vw;
    margin: 0 -30px;
}

.quoteImageContainer{
    height: 125px;
    width: 125px;
    margin: 0 0 15px 30px;
}
.quoteImageDiv {
    background: 0 0;
}
.quote2Image {
    border-radius: 50%;
}

.publicationThumb {
    width: 100%;
    box-shadow: 5px 5px 5px grey;
}
.publicationThumbDiv {
    background-color: #E5E5E5;
    /*padding: 5% 27.5%*/;
    padding: 8.1% 27.5%
}
.publicationMargin {
    margin-top: 30px;
}
.centralAdjust {
    padding: 0 30px;
}

/* Pubication detail */
.publicationFeaturedImage {
    /*width: 26.096vw;*/
    width: 100%;
    height: auto;
    box-shadow: 5px 5px 5px grey;
}
.publicationImageBackground {
    background-color: #E5E5E5;
    width: 100%;
    height: 100%;
    /*height: 42.857vw;*/
    padding: 3%;
}
.publicationDetailDiv {
    margin: 30px 0 0 0;
    padding: 0 15px;
}
.underline {
    border-top: solid;
    border-width: 1px;
    /*min-height: 30px;*/
    vertical-align: bottom;
}
.detailHeader {
    font-family: 'value-sans-bold-pro';
    padding-left: 0 !important;
    font-size: 28px;
    vertical-align: bottom;
}
.detailText {
    font-family: 'value-sans-bold-pro';
    padding-right: 0 !important;
    font-size: 26px;
    vertical-align: bottom;
    line-height: 28px;
}
.detailText a, .detailText a:active, .detailText a:hover, .detailText a:visited {
    text-decoration: underline;
    color: #000;
}
.publicationSummary {
    font-family: 'Relevant Normal';
    font-size: 18px;
    padding: 0 0 0 10px;
}
.publicationPadding {
    padding: 8px 0 6px 0;
}

/*
body[data-colour=lochmara] .underline {
    border-color: #008ccc;
}
body[data-colour=persian-green] .underline {
    border-color: #009a81;
}
body[data-colour=flamingo] .underline {
    border-color: #f05136;
}
body[data-colour=scooter] .underline {
    border-color: #2bc3ca;
}
body[data-colour=yellow-orange] .underline {
    border-color: #ffae3b;
}
*/

/* Awards */
.award {
    margin: 0 0 5px 0;
    border: none;
}
.awards__list .award:nth-child(4n-7) {
    border: none;
}
.awardProjectLink:active, .awardProjectLink:hover, .awardProjectLink:visited, .awardProjectLink {
    color: #000;
}
.year {
    margin: 0 0 60px 0;
}
h2.year__title {
    font-family: 'value-sans-bold-pro';
    margin: 0;
    padding: 0;
    border: none;
    font-size: 27px 
}
.year__group--container.is--active .year__group:not(:first-of-type) .year:first-of-type h2.year__title {
    padding: 0;
    border: none;
}
.inner {
    font-family: 'Relevant Normal';
    font-size: 32px;
    line-height: 32px;
}
.awardTitle {
    font-family: 'Relevant light';
    font-size: 32px;
}
.awardMargin {
    margin: 0 15px;
}

/*people*/
.col-xs-5ths,
.col-sm-5ths,
.col-md-5ths,
.col-lg-5ths {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}



/*News*/
.newsTitle {
    padding: 0 !important;
    margin: 0;
}
/*
.newsDate {
    margin: 0 0 30px 0;
}
*/
.newsIconDiv {
    margin: 0 0 10px 30px;
}
.newsIcon {
    height: 22px;
    margin: 10px 10px 0 0;
}
.newsImageMobile {
    padding: 0;
}

.nextButtonDiv {
    display: block;
    height: 60px;
    text-align: center;
    margin: 30px 0 30px 0;
}
.newNewsDiv {
    display: none;
}

.opinionDate {
    margin: 0 0 15px 0;
}

/*Location Map*/
#map {
    height: 500px;  /* The height is 400 pixels */
    width: 100%;  /* The width is the width of the web page */
}

/*
.infoBox a.image .overlay,
.inline__video--container .video__controls a.play,
.people__layout .person .image .overlay,
.projects__layout .project a.image .overlay,
.sectors-services__overlay,
nav.main {
    opacity: 0.9;
}
*/

/* homeGrid */
.homeGrid {
    margin: 0 15px;   
}
.homeGutterWidth {
    width: 0.5%;
}
.homeImageWidth {
    width: 33%;
}
.homeWide{
    display: none;        
}
.homeMobile{
    display: block;        
}
.homeProjectSectors {
    /*margin: 0 0 0 14px !important;*/
}
.homeNewsText{
    font-family: 'value-sans-regular-pro' !important;
    font-size: 20px;
    line-height: 24px;
    overflow: hidden;
    text-decoration: none !important;
    padding: 12px 0 0 0 !important;
    margin: 0 !important;
}
.homeNewsText p {
    font-family: 'value-sans-regular-pro' !important;
    font-size: 20px;
    line-height: 24px;
    text-decoration: none !important;
    margin: 0 !important;
}
.categoryTitle {
    font-family: 'Relevant Medium';
    font-size: 16px;
    margin: 10px 0 0 0;
}
.awardsWide{
    display: none;        
}
.awardsMobile{
    display: block;        
}


/* ProjectGrid */
.grid {
    margin: 0 15px;   
}
.gridGutterWidth {
    width: 0.5%;
}
.gridImageWidth {
    width: 33%;
}


/* PeopleGrid */
.peopleGrid {
    margin: 0 0 0 3%;
    padding: 0;
}
.peopleGutterWidth {
    width: 0%;
}
.peopleGridWidth {
    width: 50%;
}
.person {
    width: 47%;
}
.searchPersonTitle {
    font-size: 16px;
    padding: 0 15px;
    color: #ffffff;
}

.col-xs-5ths {
    width: 20%;
    float: left;
}

/*videos*/
#vidBox {
    position: relative;
}
.closeVid {
    position: absolute;
    top: 30px;
    right: 30px;
    width: 30px;
    opacity: 1;
    z-index: 100004;
}
.playButton {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
}
.playing {
    /* cursor: url('../../img/pAUSE-15.png') 43 27,  url('/public_html/site/templates/img/pAUSE-15.cur') 43 27, e-resize; */
    cursor: url('../../img/2024/PauseButtonSmall.png'), auto;
}
.paused {
    /* cursor: url('../../img/pLAY-15.png') 43 27,  url('/public_html/site/templates/img/pLAY-15.cur') 43 27, e-resize; */
    cursor: url('../../img/2024/PlayButtonSmall.png'), auto;
}
.cantralVideo {
    margin-bottom: 50px;
}
.heroVideoDiv {
    position: relative;
    width: 100%;
    height: 40vw;
    overflow: hidden;
    margin: 0 0 30px 0;
}
.heroVideo {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    object-fit: cover;
}

/* Service */
.serviceHero {
    position: relative;
    height: 100px;
}
.backServiceDiv {
    display: block;
    position: absolute;
    right: 30px;
    top: 0;
}

.projectHero {
    position: relative;
    height: 110px;
}
.backProjectDiv {
    display: block;
    position: absolute;
    right: 30px;
    top: 0px;
    border: 2px solid;
    padding: 15px;
}

.featureText p {
    font-family: 'value-sans-bold-pro';
    font-size: 35px;
    margin: 0 30px;
    line-height: 42px;
}

/* Flexible Carousel */
.infoCarouselDiv {
    background-color: #e7d7c4;
    padding: 6vw 0;
    position: relative;
    height: auto;
}
.infoCarouselTextDiv {
    padding: 40px 20px 0 20px !important;
    height: auto;
    overflow-y: auto;
}
.infoCarouselTitle {
    font-family: 'value-sans-bold-pro';
    font-size: 32px;
    line-height: 28px;
}
.infoCarouselSubTitle {
    font-family: 'value-sans-regular-pro';
    font-size: 30px;
    margin: 7px 0 0 0;
}
.infoCarouselText {
    font-family: 'Relevant Normal';
    font-size: 30px;
    margin: 28px 0 0 0;
    line-height: 33px;
    letter-spacing: 0.35px;
}
.infoCarouselText a, .infoCarouselText a:active, .infoCarouselText a:hover, .infoCarouselText a:visited {
    text-decoration: underline;
    color: #000;
}
.infoPrevArrow {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 40px;
    rotate: 180deg;
    cursor: pointer;
}
.infoNextArrow {
    position: absolute;
    top: 20px;
    left: 80px;
    width: 40px;
    cursor: pointer;
}
.infoCarouselImageDiv {
    padding: 0 20px 0 20px !important;
    width: 100%;
    height: 80vw;
}
.infoCarouselImage {
    width: 100%;
    height: 100%;
    object-fit: cover;

}
.row.display-flex {
    display: flex;
    flex-wrap: wrap;
}
.row.display-flex > [class*='col-'] {
    display: flex;
    flex-direction: column;
    padding: 0 !important;
}

/* vacancies */
.vacancy {
    margin: 0 14px;
    border-bottom: 2px solid #000;
    padding: 17px 0 11px 0;
}
.vacancyTop {
    border-top: 2px solid #000;
}
.vacancyContent {
    padding: 0;
    display:none;
}
.vacancyTitleDiv {
    position: relative;
}
.vacancyTitle {
    color:#000;
}
.vacancyTitle, .vacancyTitle:hover, .vacancyTitle:active, .vacancyTitle:visited, .vacancyTitle:focus {
    font-family: 'value-sans-bold-pro';
    font-size: 32px;
    margin: 0;
    text-decoration: none !important;
}
.vacancyOpen {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    width: 30px;
    color: #000;
}
.vacancyClose {
    position: absolute;
    display: none;
    top: 0;
    right: 0;
    width: 30px;
    color: #000;
}
.vacancyText {
    padding: 32px 32px 32px 0;
}
.vacancyText p {
    font-family: 'Relevant Light';
    font-size: 24px;
    padding: 0;
    margin: 0;
    line-height: 26px;
}
.vacancyText strong {
    font-family: 'value-sans-bold-pro';
    font-size: 21px;
    padding: 0;
    margin: 0;
}
.vacancyText ul {
    padding: 0;
    margin: 0 0 0 20px;
}
.vacancyText li {
    font-family: 'Relevant Light';
    font-size: 24px;
    padding: 0;
    margin: 0 0 5px 0;
    line-height: 26px;
}

/* 3 image Combo */
.comboDiv {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: stretch;
}
.comboHeight {
    flex-grow: 1;
    width: 100%;
}
.horizontalImage1 {
    width: 100%;
    height: 50%;
    object-fit: cover;
    padding: 0 10px 10px 0;
}
.horizontalImage2 {
    width: 100%;
    height: 50%;
    object-fit: cover;
    padding: 10px 10px 0 0;
}
.verticalImage {
    width: 100%;
    height: 100%;
    object-fit: cover;
    padding: 20px 0 0 0;
}
.nextButtonDiv {
    position: relative;
}
.sectorDownloadImg {
    width: 300px;
}
.sectorDownloadImgHover {
    width: 300px;
    display: none;
}
.tooltip {
    width: 120px;
    /* background-color: #555; */
    color: #000;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;
  
    /* Position the tooltip text */
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -60px;
  
    /* Fade in tooltip */
    opacity: 0;
    transition: opacity 0.3s;
}
/* Show the tooltip text when you mouse over the tooltip container */
.nextButtonDiv:hover .tooltip {
    visibility: visible;
    opacity: 1;
}

.floatQuote {
    display: none;
}
  

@media (min-width: 768px) {

    #mobileNav {
        display: none;
    }
    #desktopNav {
        background-color: black;
        display: block;
        position: fixed;
        box-sizing: border-box;
        width: 0;
        height: 100%;
        top: 0;
        right: 0;
        overflow-x: hidden;
        transition: 0.2s;
        box-shadow:0px 1px 3px rgba(0,0,0,0.25);
        z-index: 14;
    }
    .mobileNavLink {
        font-size: 35px;
        line-height: 35px;
    }
    .mobileNavLinkMedium {
        font-size: 35px;
        line-height: 35px;
    }
    .mobileSubNavLink {
        font-size: 35px;
        line-height: 35px;
    }
    
    .secondLogo {
        width: 300px;
    }
    .peopleGrid {
        margin: 0 0 0 2%;
        padding: 0;
    }
    .peopleGridWidth {
        width: 20%;
    }
    .person {
        width: 18%;
    }
   
    .col-sm-5ths {
        width: 20%;
        float: left;
    }
    .mobileMagnifyingGlass {
        display: block;
        position: fixed;
        top: 29px;
        right: 100px;
        height: 30px;
        /*z-index: 13;*/
    }
    .mobileSearch {
        display: none;
    }
    nav.main .search__container {
        margin: 150px 40px 0 40px;
    }
    
    .floatParent {
        display: block;
        position: fixed;
        top: 35px;
        right: 190px;
        font-size: 25px;
        transition: 0.2s;
        text-align: right;
    }
    .floatPage {
        font-family: 'value-sans-regular-pro' !important; 
        margin: 0;
        padding: 0;
    }
    
    a.breadcrumbLink,
    a.breadcrumbLink:hover,
    a.breadcrumbLink:active,
    a.breadcrumbLink:visited {
        color: #000;
        text-decoration: underline;
    }

    .homeMobile{
        display: none;        
    }
    .homeWide{
        display: block;        
    }
    
    .filterStyle {
        font-size: 38px;
    }
    .filterDash {
        font-size: 38px;
    }
    .verticalFilterStyle {
        font-size: 20px;
    }
    
    .centraltitle {
        margin: 0 0 15px 0;
    }
    
    .fullBleedHeight {
        height: 43vw;
        padding: 0 !important;
    }
    
    .awardsWide{
        display: block;        
    }
    .awardsMobile{
        display: none;        
    }
    h2.year__title {
        margin: 0 0 30px;
    }
    
    .personDetailDiv {
        padding: 0;
    }
    .personText h3::before {
        left: 19px;
    }
    .backPeopleMobile, .backPeopleMobile:hover, .backPeopleMobile:active {
        display: none;
    }
    .backPeopleDiv {
        display: block;
    }
    
    .serviceHero {
        position: absolute;
        top: 32vw;
        left: 0;
        height: 0;
    }
    .backServiceDiv {
        display: block;
        position: absolute;
        right: 30px;
        top: 205px
    }
    
    .projectfullBleedHeight {
        /* height: 56.25vw; /* 16:9 */
        height: 42.857vw; /* 21:9 */
        padding: 0 !important;
    }
    
    
    .publicationDetailDiv {
        padding: 0 15px;
    }
    .centralSection {
        margin: 30px 15px 0 15px;
    }
    
    .copyright {
        margin: 0 0 50px 0;
    }
    .privacyPolicy {
        margin: 0 0 50px 0;
    }
    .socials {
        margin: 0 0 50px 0;
    }
    .newsletterDiv {
        position: relative;
    }
    .newsletterImage {
        position: absolute;
        top: 0px;
        left: 3px;
        height: 52px;
    }
    .newsletterText {
        position: absolute;
        margin: 0;
        top: 17px;
        left: 22px;
    }
    .badges {
        margin: 35px 13px 0 0;
        border: none;
        padding: 0;
        position: relative;
        text-align: right;
        height: 60px;
    }
    .acmImage {
        height: 60px;
        margin: 0 10px 0 0;
    }
    .cyberImage {
        height: 60px;
        margin: 0 10px 0 0;
    }
    .bimImage {
        height: 60px;
    }
    
    .oneThird {
        padding: 0 10px 0 0 !important;
    }
    .twoThird {
        padding: 0 0 0 20px !important;
    }
    
    .newsDate {
        margin: 0;
    }
    .newsImageMobile {
       padding: 0 23px;
    }
    .newsIconDiv {
        margin: 0 0 20px 0;
    }
    .newsIcon {
        height: 20px;
        margin: 10px 10px 0 0;
    }
    
    
    .centralAdjust {
        padding: 0 23px;
    }
    
    /* Footer */
    .subscribeDiv {
        margin: 35px 0 0 0;
    }
    .footerTextBottom p {
        margin: 20px 0 20px 0;
    }
}

@media (min-width: 992px) {
    .col-md-5ths {
        width: 20%;
        float: left;
    }
    
    
    .carouselText {
        display: none;
    }
    .carouselquoteWrap {
        width: 50%;
    }
    
    .projectsMobile{
        display: none;        
    }
    .projectsWide{
        display: block;        
    }
    
    .publicationFeaturedImage {
        width: auto;
        height: 36.9vw;
    }
    
    .projectHero {
        position: absolute;
        top: 42.857vw;
        left: 0;
        height: 0;
    }
    .backProjectDiv {
        display: block;
        position: absolute;
        right: 12.5%;
        top: 120px;
        transform: translate(50%);
    }
    
    /*
    .peopleFiltersHorizontal, .peopleFiltersVertical,
    .projectFiltersHorizontal, .projectFiltersVertical,
    .homeFiltersHorizontal, .homeFiltersVertical,
    .awardsFiltersHorizontal, .awardsFiltersVertical  {
        padding: 0 0 20px 15px;
    }
    */
    
   
    
    .backServiceDiv {
        display: block;
        position: absolute;
        right: 8%;
        top: 205px
    }

    /* Flexible Carousel */
    #infoCarousel {
        height: 60vw;
    }
    .infoCarouselTextDiv {
        padding: 0 20px 0 80px !important;
        height: 47vw;
    }
    .infoCarouselImageDiv {
        padding: 0 0 0 20px !important;
        width: 100%;
        height: 47vw;
    }
    .infoPrevArrow {
        position: absolute;
        top: 2vw;
        left: 75px;
        width: 40px;
        rotate: 180deg;
        cursor: pointer;
    }
    .infoNextArrow {
        position: absolute;
        top: 2vw;
        left: 130px;
        width: 40px;
        cursor: pointer;
    }

    /* 3 image Combo */
    .comboHeight {
        width: 50%;
    }
    .verticalImage {
        width: 100%;
        height: 100%;
        object-fit: cover;
        padding: 0 0 0 10px;
    }
}

@media (min-width: 1060px) {
    .floatQuote {
        display: block;
        position: fixed;
        top: 35px;
        right: 190px;
        font-family: 'value-sans-bold-pro';
        font-size: 35px;
        transition: 0.2s;
        text-align: right;
    }
    .peopleMobile{
        display: none;        
    }
    .peopleWide{
        display: block;        
    }
}

@media (min-width: 1200px) {
    .col-lg-5ths {
        width: 20%;
        float: left;
    }
    
    .floatQuoteFoot {
        display: none;
    }
  
}



@media (min-width: 2000px) {
    
}