/*
--------------------------------------------
APS COLOURS
--------------------------------------------
*/

/*

APS Blue #003B75
----------------
R: 0
G: 59
B: 117


APS Mustard #D7AF00
-------------------
R: 215
G: 175
B: 0


APS Olive #868A22
-----------------
R: 134
G: 138
B: 34


APS Teal #5CACAA
----------------
R: 92
G: 172
B: 170


Ruby #D04A70
------------
R: 208
G: 74
B: 112
Light: #d96e8d (80%)


APS Chilli #B70E0C
------------------
R: 183
G: 14
B: 12


APS Grey #91989C
----------------
R: 145
G: 152
B: 156


APS Light Grey #E3E9EC
----------------------
R: 227
G: 233
B: 236
Light: #ebf0f2 (70%)


APS Black #09181C
-----------------
R: 9
G: 24
B: 28



*/




/*
--------------------------------------------
--------------------------------------------
CORE STYLES
--------------------------------------------
--------------------------------------------
*/


/*
--------------------------------------------
Text - general styles
--------------------------------------------
*/

body, html {
    font-family:'Raleway', Arial, 'Helvetica Neue', sans-serif;
    font-size:16px;
    color:#09181C;
    margin-top:0 !important;
}

h1, h2, h3, h4, h5, h6 {
    line-height:1.2;
    margin-bottom:0.2em;    
}

h1, h2 {
    font-weight:500;
}

h3, h4, h5, h6 {
    font-weight:700;
}

/* H1 large */
h1.large {
    font-size:2.25rem; /* 36px */ 
}
@media (min-width: 768px) { 
    h1.large { font-size:3rem; /* 48px */ }
}
@media (min-width: 1200px) {
    h1.large { font-size:3.75rem; /* 60px */}
}
@media (min-width: 1600px) {
    h1.large { font-size:4.5rem; /* 72px */ }   
}

/* H1 medium */
h1, h1.medium { font-size:1.875rem; /* 30px */ }
@media (min-width: 768px) { 
    h1, h1.medium { font-size:2.25rem; /* 36px */ }
}
@media (min-width: 1200px) {
    h1, h1.medium { font-size:3rem; /* 48px */}
}

/* H1 small */
h1.small { font-size:1.625rem; /* 26px */ }
@media (min-width: 768px) { 
    h1.small { font-size:2rem; /* 32px */ }
}
@media (min-width: 1200px) { 
    h1.small { font-size:2.25rem; /* 36px */ }
}

/* H2 */
/* h2 { font-size:1.625rem; } */ /* 26px */
h2 { font-size:1.5rem; } /* 24px */
@media (min-width: 768px) { 
    /* h2 { font-size:2rem; } */ /* 32px */
    h2 { font-size:1.75rem; } /* 28px */
}
@media (min-width: 1200px) { 
    /* h2 { font-size:2.25rem; } */ /* 36px */
    h2 { font-size:2rem; } /* 32px */
}

/* H3 */
h3 { font-size:1.375rem; /* 22px */ }
@media (min-width: 768px) { 
    h3 { font-size:1.5rem; /* 24px */ }
}

h4 {
    font-size:1.25rem; /* 20px */
}    

h5 {
    font-size:1.125rem; /* 18px */
}

h6 {
    font-size:0.875rem; /* 14px */
}



.subtitle {
    line-height:1.25em;
}


p {
    margin-bottom: 1em;
}


.text {
    font-size:1.125rem; /* 18px */
    /* line-height:1.333em; */
    line-height:1.667em;
}


/* Text helpers */
.text-60 {
    font-size:3.75rem !important; /* 60px */
    line-height:1.2em;
}

.text-48 {
    font-size:3rem !important; /* 48px */
    line-height:1.2em;
}

.text-36 {
    font-size:2.25rem !important; /* 36px */
    line-height:1.2em;
}

.text-24 {
    font-size:1.5rem !important; /* 24px */ 
    line-height:1.2em;
}

.text-16 {
    font-size:1rem !important; /* 16px */ 
    line-height:1.2em;
}

.text-14 {
    font-size:0.875rem !important; /* 14px */ 
    line-height:1.2em;
}

.text-normal {
    font-weight:400;
}


/* Coloured text */
.text-blue {
    color: #003B75;   
}

.text-chilli {
    color: #B70E0C;   
}

.text-black {
    color: #09181C;   
}

.text-white {
    color: #fff;
}


/* Intro */
.intro {
    font-size:1.125rem; /* 18px */
    line-height: 1.4;
    margin-top:0.25rem;
}
.intro p:last-child {
    margin-bottom:0;
}
@media (min-width: 768px) { 
    .intro {font-size:1.25rem} /* 20px */
    .intro p:last-child {margin-bottom:1em;}
}
@media (min-width: 992px) { 
    .intro {font-size:1.5rem} /* 24px */
}


/* Excerpt */
.excerpt {
    font-size:1rem;
}



/*
--------------------------------------------
Links
--------------------------------------------
*/


/* Default - underlined */

a, a:visited {
    text-decoration: underline;
    color: #09181C;
}

a:hover, a:focus, a:active {
    color: #666;
}


/* No underline */
a.no-underline {
    text-decoration: none;
}


/* APS chilli links */
a.link-chilli, a.link-chilli:visited, .link-chilli a, .link-chilli a:visited {
    color:#B70E0C;
    text-decoration: none;
}
a.link-chilli:active, a.link-chilli:hover, a.link-chilli:focus, .link-chilli a:active, .link-chilli a:hover, .link-chilli a:focus {
    opacity:0.8;
}


/* tag links */
a.tag,
.tags a {
    text-decoration: none;  
}


/* tag group links */

.tag-group {
    display:none;
    margin-top:4px;   
}
@media (min-width: 768px) { 
    .tag-group { display:block; }
}

.tag-group a.tag-group-link {
    font-size:1.125rem !important; /* 18px */
    text-decoration: none; 
    display:inline-block;
    /* width:48%; */
    margin-right:0.5em;
}
@media (min-width: 768px) { 
    /* .tag-group a.tag-group-link {font-size:1.25rem !important;} */ /* 20px */
}
@media (min-width: 992px) { 
    /* .tag-group a.tag-group-link {font-size:1.5rem !important;} */ /* 24px */
}

.icon.icon-tag {
    width:0.8em;
    height:0.8em;
    margin-top: -0.25em;
}


/* WP tag cloud */

.tag-cloud {
    display:none;
    margin-top:4px;    
}
@media (min-width: 768px) { 
    .tag-cloud { display:block; }
}

.tag-cloud .tag-cloud-link {
    font-size: 1.125rem !important;
    text-decoration: none;
    display: inline-block;
    /* width: 48%; */
    margin-right:0.5em;
}

.tag-cloud .tag-cloud-link:hover {
    opacity:0.8;
}

.tag-cloud .tag-cloud-link::before {
    content: '';
    background:url(../icons/icon-hashtag.svg);
    width:0.8em;
    height:0.8em;
    display:inline-block;
    /* margin-right:0.25em; */
}





/*
--------------------------------------------
Buttons
--------------------------------------------
*/


.btn {
    padding:1.25rem 3.5rem;
    font-size:1rem; /* 16px */
    line-height:1.25;
    border-radius:0;
    border-width:0;
    font-weight:700;
    text-transform: uppercase;
}

.btn:focus, .btn:hover, .btn:active {
    box-shadow: none !important;
}

a.btn {
    text-decoration: none;
}

.btn-round {
    border-radius:100%;
    padding:0;
}
.btn-round,
.btn-round.btn-md {
    width: 2.25rem; /* 36px */
    height: 2.25rem; /* 36px */
}

.btn-round.btn-lg { 

}

.btn-round.btn-sm {
   
}

/* close button */
.btn-close,
.btn-close.btn-md,
.btn.btn-close:not(:disabled):not(.disabled).active,
.btn.btn-close:not(:disabled):not(.disabled):active {
    background-color: #fff;
    background-image: url(../images/icon-close.svg);
    background-size:cover;
    background-repeat: no-repeat;
    background-position: left;
}
.btn-close:hover,
.btn-close:active {
    background-image: url(../images/icon-close.svg);
    background-position: right;
}

/* search button */
/*
.btn-search,
.btn-search.btn-md,
.btn.btn-search:not(:disabled):not(.disabled).active,
.btn.btn-search:not(:disabled):not(.disabled):active {
    background-color: transparent;
    background-image: url(../images/icon-search.svg);
    background-size:cover;
    background-repeat: no-repeat;
    background-position: center;
}
*/



/*
Primary button styles
--------------------------------------------
*/

/* Primary default and light grey */
.btn.btn-primary, .btn.btn-primary.btn-lightgrey {
    color:#999; background-color:#F2F2F2; border-color:#F2F2F2;
}
.btn.btn-primary:focus, .btn.btn-primary.btn-lightgrey:focus, .btn.btn-primary:hover, .btn.btn-primary.btn-lightgrey:hover, .btn.btn-primary:active, .btn.btn-primary.btn-lightgrey:active, .btn-primary:not(:disabled):not(.disabled):active {
    background-color:#f6f6f6; color:#999;
}

/* Ruby */
.btn.btn-primary.btn-ruby {
    color:#09181C; background-color:#D04A70; border-color:#D04A70;
}
.btn.btn-primary.btn-ruby:focus, .btn.btn-primary.btn-ruby:hover, .btn.btn-primary.btn-ruby:active {
    background-color: #d96e8d; color:inherit; opacity:1;
}


/*
Secondary button styles
--------------------------------------------
*/

/* Secondary default and light grey */
.btn.btn-secondary, .btn.btn-secondary.btn-lightgrey {   
    background-color:#fff;
    border: solid 2px #B3B3B3;
    color:#B3B3B3;
}
.btn.btn-secondary:focus, .btn.btn-secondary.btn-lightgrey:focus, .btn.btn-secondary:hover, .btn.btn-secondary.btn-lightgrey:hover, .btn.btn-secondary:active, .btn.btn-secondary.btn-lightgrey:active, .btn-secondary:not(:disabled):not(.disabled):active {
    background-color:#fff; color:#B3B3B3; border-color: #ddd;
}

/* Black */
.btn.btn-secondary.btn-black {   
    background-color:#fff;
    border: solid 2px #09181C;
    color:#09181C;
}
.btn.btn-secondary.btn-black:focus, .btn.btn-secondary.btn-black:hover, .btn.btn-secondary.btn-black:active, .btn-secondary.btn-black:not(:disabled):not(.disabled):active {
    background-color:#fff; color:#666; border-color: #666;
}



/*
Custom button styles
--------------------------------------------
*/

/*
.btn.btn-load, .btn.btn-load:visited {
    background-color: white;
    border: black solid 1px;
    color: black;
}

.btn.btn-load:focus, .btn.btn-load:hover, .btn.btn-load:active { 
    background-color: #003B75 !important;
    border-color: #003B75;
    color:white;
}
*/

.more-btn-wrapper {
    text-align:center;
    margin-bottom:50px;
}


/* 
Button Pulse
--------------------------------------------
*/

/*

.pulse {
  
  cursor: pointer;
  box-shadow: 0 0 0 rgba(0,59,117, 0.4);
  animation: pulse 1.5s infinite;
}
.pulse:hover {
  animation: none;
}

@-webkit-keyframes pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(0,59,117, 0.4);
  }
  70% {
      -webkit-box-shadow: 0 0 0 10px rgba(0,59,117, 0.4);
  }
  100% {
      -webkit-box-shadow: 0 0 0 0 rgba(0,59,117, 0.4);
  }
}
@keyframes pulse {
  0% {
    -moz-box-shadow: 0 0 0 0 rgba(0,59,117, 0.4);
    box-shadow: 0 0 0 0 rgba(0,59,117, 0.4);
  }
  70% {
      -moz-box-shadow: 0 0 0 10px rgba(0,59,117, 0.4);
      box-shadow: 0 0 0 10px rgba(204,169,44, 0);
  }
  100% {
      -moz-box-shadow: 0 0 0 0 rgba(204,169,44, 0);
      box-shadow: 0 0 0 0 rgba(204,169,44, 0);
  }
}

*/


/* Default button pulse */
.btn-pulse {
    cursor: pointer;
    box-shadow: 0 0 0 rgba(227,233,236, 0.5);
    animation: pulse-lightgrey 1.5s infinite;    
}
.btn-pulse:hover {
  animation: none;
}

@-webkit-keyframes pulse-lightgrey {
  0% { -webkit-box-shadow: 0 0 0 0 rgba(227,233,236, 0.5); }
  70% { -webkit-box-shadow: 0 0 0 10px rgba(227,233,236, 0); }
  100% { -webkit-box-shadow: 0 0 0 0 rgba(227,233,236, 0); }
}
@keyframes pulse-lightgrey {
  0% { -moz-box-shadow: 0 0 0 0 rgba(227,233,236, 0.5);box-shadow: 0 0 0 0 rgba(227,233,236, 0.5); }
  70% { -moz-box-shadow: 0 0 0 10px rgba(227,233,236, 0); box-shadow: 0 0 0 10px rgba(227,233,236, 0); }
  100% { -moz-box-shadow: 0 0 0 0 rgba(227,233,236, 0); box-shadow: 0 0 0 0 rgba(227,233,236, 0); }
}

/* White button pulse */
.btn-white.btn-pulse {
    box-shadow: 0 0 0 rgba(255,255,255, 0.5);
    animation-name: pulse-white;
}
@-webkit-keyframes pulse-white {
  0% { -webkit-box-shadow: 0 0 0 0 rgba(255,255,255, 0.5); }
  70% { -webkit-box-shadow: 0 0 0 10px rgba(255,255,255, 0); }
  100% { -webkit-box-shadow: 0 0 0 0 rgba(255,255,255, 0); }
}
@keyframes pulse-white {
  0% { -moz-box-shadow: 0 0 0 0 rgba(255,255,255, 0.5);box-shadow: 0 0 0 0 rgba(255,255,255, 0.5); }
  70% { -moz-box-shadow: 0 0 0 10px rgba(255,255,255, 0); box-shadow: 0 0 0 10px rgba(255,255,255, 0); }
  100% { -moz-box-shadow: 0 0 0 0 rgba(255,255,255, 0); box-shadow: 0 0 0 0 rgba(255,255,255, 0); }
}

/* Ruby button pulse */
.btn-ruby.btn-pulse {
    box-shadow: 0 0 0 rgba(208,74,112, 0.5);
    animation-name: pulse-ruby;
}
@-webkit-keyframes pulse-ruby {
  0% { -webkit-box-shadow: 0 0 0 0 rgba(208,74,112, 0.5); }
  70% { -webkit-box-shadow: 0 0 0 10px rgba(208,74,112, 0); }
  100% { -webkit-box-shadow: 0 0 0 0 rgba(208,74,112, 0); }
}
@keyframes pulse-ruby {
  0% { -moz-box-shadow: 0 0 0 0 rgba(208,74,112, 0.5);box-shadow: 0 0 0 0 rgba(208,74,112, 0.5); }
  70% { -moz-box-shadow: 0 0 0 10px rgba(208,74,112, 0); box-shadow: 0 0 0 10px rgba(208,74,112, 0); }
  100% { -moz-box-shadow: 0 0 0 0 rgba(208,74,112, 0); box-shadow: 0 0 0 0 rgba(208,74,112, 0); }
}

/* Black button pulse */
.btn-black.btn-pulse {
    box-shadow: 0 0 0 rgba(9,24,28, 0.5);
    animation-name: pulse-black;
}
@-webkit-keyframes pulse-black {
  0% { -webkit-box-shadow: 0 0 0 0 rgba(9,24,28, 0.5); }
  70% { -webkit-box-shadow: 0 0 0 10px rgba(9,24,28, 0); }
  100% { -webkit-box-shadow: 0 0 0 0 rgba(9,24,28, 0); }
}
@keyframes pulse-black {
  0% { -moz-box-shadow: 0 0 0 0 rgba(9,24,28, 0.5);box-shadow: 0 0 0 0 rgba(9,24,28, 0.5); }
  70% { -moz-box-shadow: 0 0 0 10px rgba(9,24,28, 0); box-shadow: 0 0 0 10px rgba(9,24,28, 0); }
  100% { -moz-box-shadow: 0 0 0 0 rgba(9,24,28, 0); box-shadow: 0 0 0 0 rgba(9,24,28, 0); }
}



/*
--------------------------------------------
Forms
--------------------------------------------
*/


form {
    
}

.form-control {
    border:1px solid #E3E9EC;
}

.form-control-sm, 
.form-control, 
.form-control-lg {
    border-radius:0;
}

.form-control:focus,
.form-control:active {
    box-shadow: none;
    border-color:#91989C;
    box-shadow:none;
}



::-webkit-datetime-edit-year-field:focus,
::-webkit-datetime-edit-month-field:focus,
::-webkit-datetime-edit-day-field:focus,
::-webkit-datetime-edit-hours-field:focus,
::-webkit-datetime-edit-minutes-field:focus,
::-webkit-datetime-edit-hour-field:focus,
::-webkit-datetime-edit-minute-field:focus,
::-webkit-datetime-edit-week-field:focus {
    background: #D7AF00;
    color:#fff;
}
input[type=file]::-webkit-file-upload-button {
    border: solid 1px #91989c;
    background: #FFF;
}
input[type=file]::-webkit-file-upload-button:focus,
input[type=file]::-webkit-file-upload-button:active {
    outline-color: #D7AF00;
}




/*
--------------------------------------------
Lists
--------------------------------------------
*/

/* Default list style */

.text ul {
    position:relative;
    padding-left:1.5em;
    list-style-type: none;
}

.text li:before {
    font-size:1.07em;
    content: "\25CF";
    color:#91989C;
    position:absolute;
    left:0;    
}

.text li {
    margin-bottom:0.5rem;
}



/*
------------------------------------------
HRs
------------------------------------------
*/

.divider.end-main hr {
    border-color: #ebebeb;
}

.divider.end-main {
    margin-top:1rem; /* 16px */
    margin-bottom:2rem; /* 32px */
}
@media (min-width: 768px) {
    .divider.end-main { margin-bottom:2.5rem; } /* 40px */ 
}
@media (min-width: 1200px) {
    .divider.end-main { margin-bottom:3rem; } /* 48px */
}


/*
--------------------------------------------
Icons
--------------------------------------------
*/

/* 
Material UI Icons: https://www.materialui.co/icons
Ion Icons: https://ionicons.com/
*/

.icon {
    width:1.5em;
    height:1.5em;
    vertical-align: middle;
    fill:#09181C;
}
 a:focus .icon, 
 a:active .icon, 
 a:hover .icon {
     fill:#666;
}




/* 
Tiles eye icon
--------------------------------------------
*/

.tiles .icon.icon-eye,
.one-four-tiles .icon.icon-eye {
    width:1em;
    height:1em;
}

.tiles a:focus .icon.icon-eye,
.tiles a:active .icon.icon-eye,
.tiles a:hover .icon.icon-eye,
.one-four-tiles a:focus .icon.icon-eye,
.one-four-tiles a:active .icon.icon-eye,
.one-four-tiles a:hover .icon.icon-eye {
     fill:#09181C;
}

.tiles a span.icon-clip,
.one-four-tiles a span.icon-clip {
    display: inline-block;
    width:0;
    height:1em;
    overflow:hidden;
    opacity:0;
    -webkit-transition: width 0.5s ease-in, opacity 0.5s ease-in 0.25s;
    transition: opacity 0.5s ease-in, width 0.5s ease-in 0.2s;
}

.tiles a:hover span.icon-clip,
.one-four-tiles a:hover span.icon-clip {
    width:1.2em;
    opacity:1;
    -webkit-transition: width 0.5s ease-in, opacity 0.5s ease-in 0.25s;
    transition: width 0.5s ease-in, opacity 0.5s ease-in 0.2s;
}




/*
--------------------------------------------
Main Nav
--------------------------------------------
*/


nav.navbar {
    background-color: #fff;
    border-bottom:solid 1px rgba(0,0,0,0);
    -webkit-transition: border-bottom-color 0.5s;
    transition: border-bottom-color 0.5s;
}

nav.navbar.minimised {
    border-bottom:solid 1px rgba(0,0,0,0.1);
    -webkit-transition: border-bottom-color 0.5s;
    transition: border-bottom-color 0.5s;
}

nav.navbar .navbar-brand {
    
}

nav.navbar ul.navbar-nav {
    
}

nav.navbar ul.navbar-nav li.menu-item {
    
}

nav.navbar ul.navbar-nav li.menu-item a.nav-link {
    font-size:1.125rem;
    color:#fff;
    text-decoration:none;
}
@media (min-width: 768px) and (max-width:992px) {
    nav.navbar ul.navbar-nav li.menu-item a.nav-link { font-size:1rem; }
}
nav.navbar ul.navbar-nav li.menu-item a.nav-link:hover, 
nav.navbar ul.navbar-nav li.menu-item a.nav-link:focus, 
nav.navbar ul.navbar-nav li.menu-item a.nav-link:active {
    color: #ccc;
}
@media (min-width: 768px) {
    nav.navbar ul.navbar-nav li.menu-item a.nav-link {
        color:#09181C;
    }
    nav.navbar ul.navbar-nav li.menu-item a.nav-link:hover, 
    nav.navbar ul.navbar-nav li.menu-item a.nav-link:focus, 
    nav.navbar ul.navbar-nav li.menu-item a.nav-link:active {
        color: #666;
    }
}

nav.navbar ul.navbar-nav li.menu-item a.nav-link.active {
    font-weight:700;
}

/*
nav.navbar #search-text {
    display:inline;
    color:#fff;
}
@media (min-width: 768px) {
    nav.navbar #search-text {
        display:none;
    }
}

nav.navbar #search-btn-open {
    line-height:27px;
    margin-top:8px;
    display:none;
}
@media (min-width: 768px) {
    nav.navbar #search-btn-open {
        display:inline;
    }
}

nav.navbar .icon.icon-search:hover {
    fill:#666;
    cursor:pointer;
}
*/

nav.navbar #search-btn-open {
    cursor:pointer;
    border:none;
    padding:8px 0;
    background-color:transparent;
}
@media (min-width: 768px) {
    nav.navbar #search-btn-open {
        margin-left:20px;
    }
}

nav.navbar #search-btn-open #search-btn-text {
    display:inline;
    color:#fff;
    font-size: 1.125rem;
    line-height: 1.6875rem;
}
@media (min-width: 768px) {
    nav.navbar #search-btn-open #search-btn-text {
        display:none;  
    }
}

nav.navbar #search-btn-open #search-btn-icon {
    display:none;
}
@media (min-width: 768px) {
    nav.navbar #search-btn-open #search-btn-icon {
        display:inline;
    }
}

nav.navbar #search-btn-open:hover #search-btn-text {
    color:#ccc;
}
nav.navbar #search-btn-open:hover #search-btn-icon {
    fill:#666;
}




nav.navbar .navbar-toggler {
    font-size:1rem;
}
nav.navbar .navbar-toggler:hover {
    color:#91989C;
}

/* used for close nav button on mobile */
nav.navbar .navbar-toggler-2 {
    background-color:#fff;
    position:absolute;
    left:-3rem;
    top: 0.75rem;
    border-radius:100%;
    border:none;
    cursor:pointer;
    padding: 0.25rem;
    line-height: 0;
}
nav.navbar .navbar-toggler-2:hover {
    fill:#91989C;
}

nav.navbar .navbar-collapse {
    background-color:#09181C;
    position: absolute;
    top: 0;
    right: -50%;
    width: 50%;
    height: 100vh;
    padding: 1em 2em;
    box-sizing: border-box;
    transition:right .35s ease-out;
}
nav.navbar .navbar-collapse.collapsing {
    transition:right .35s ease-in;
}
nav.navbar .navbar-collapse.show { 
    right:0;              
}
@media (min-width: 768px) {
     nav.navbar .navbar-collapse {
        background-color:#fff;
        position: static;
        top: auto;
        right: auto;
        width: auto;
        height: auto;
        padding: 0;
    } 
}



/* White on transparent bgrnd */

nav.navbar.inverse {
    background-color: rgba(0,0,0,0.2);
    border-bottom:none;
}

nav.navbar.inverse ul.navbar-nav li.menu-item a.nav-link {
    color:#fff;
}

nav.navbar.inverse ul.navbar-nav li.menu-item a.nav-link:focus,
nav.navbar.inverse ul.navbar-nav li.menu-item a.nav-link:active,
nav.navbar.inverse ul.navbar-nav li.menu-item a.nav-link:hover {
    color:#ccc;
}

nav.navbar.inverse .icon.icon-search {
    fill:#fff;
}

nav.navbar.inverse .icon.icon-search:hover {
    fill:#ccc;
}




/*
--------------------------------------------
Homepage Carousel
--------------------------------------------
*/

#homepage-carousel {
    
}

#homepage-carousel .carousel-item {
    background-color:#9B9B9A;
}

#homepage-carousel .carousel-item h2 {
    margin-bottom:0.333em;
}

/*
#homepage-carousel .carousel-item img,
#homepage-carousel .carousel-item iframe {
    mix-blend-mode: multiply;
}
*/

#homepage-carousel .carousel-overlay {
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background-color:#000;
    opacity:0.4;
}


#homepage-carousel .loader {
    position:absolute;
    left:50%;
    top:50%;
    width:200px;
    height:200px;
    animation: 1s spin linear infinite;
    border: 4px solid #000;
    border-bottom-color: transparent !important;
    border-radius: 50%;
    opacity:0.25;
}
#homepage-carousel .loader.loader-white {
    border-color:#fff;    
}
@keyframes spin
{
    from { 
        transform: translate(-50%, -50%) rotate(0deg);
    }
    to { 
        transform: translate(-50%, -50%) rotate(360deg);
    }
}
@media (min-width: 576px) { #homepage-carousel .loader { width:200px; height:200px; } }
@media (min-width: 768px) { #homepage-carousel .loader { width:300px; height:300px; } } 
@media (min-width: 992px) { #homepage-carousel .loader { width:400px; height:400px; } } 
@media (min-width: 1200px) { #homepage-carousel .loader { width:500px; height:500px; } } 
@media (min-width: 1600px) { #homepage-carousel .loader { width:600px; height:600px; } }


#homepage-carousel .carousel-overlay img {
    width:100%;
}

#homepage-carousel .carousel-item h2 {
    font-weight:bold;
    font-size:1.5rem; /* 24 px */
    line-height:1.1;
}
@media (min-width: 576px) { #homepage-carousel .carousel-item h2 {font-size:2rem;} } /* 32px */
@media (min-width: 768px) { #homepage-carousel .carousel-item h2 {font-size:3rem;} } /* 48px */
@media (min-width: 992px) { #homepage-carousel .carousel-item h2 {font-size:4rem;} } /* 64px */
@media (min-width: 1200px) { #homepage-carousel .carousel-item h2 {font-size:5rem;} } /* 80px */
@media (min-width: 1600px) { #homepage-carousel .carousel-item h2 {font-size:6rem;} } /* 96px */




#homepage-carousel .carousel-caption {
    /*
    position: absolute;
    right: 15%;
    bottom: 20px;
    left: 15%;
    */
    /*
    padding-top: 20px;
    padding-bottom: 20px;
    text-align: center;
    */
    position: absolute;
    right:auto;
    bottom:auto;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    color: #fff;    
}


#homepage-carousel a.btn-secondary.btn-carousel,
#homepage-carousel a.btn-secondary.btn-carousel:visited {
    padding: 0.5rem 1rem;
    font-size: 0.75rem; /* 12px */
    background-color: transparent;
    border-color: #fff;
    color: #fff;
}
@media (min-width: 768px) {
    #homepage-carousel a.btn-secondary.btn-carousel {
        padding:0.875rem 2.25rem;
        font-size:0.875rem; /* 14px */
    }
}
@media (min-width: 1200px) {
    #homepage-carousel a.btn-secondary.btn-carousel {
        padding:1.25rem 3.5rem;
        font-size:1rem; /* 16px */
    }
}


#homepage-carousel a.btn-secondary.btn-carousel:focus,
#homepage-carousel a.btn-secondary.btn-carousel:active,
#homepage-carousel a.btn-secondary.btn-carousel:hover  {
    border-color: #ccc;
    color: #ccc;   
}



/*
--------------------------------------------
Page Carousel
--------------------------------------------
*/

#page-carousel {
    margin-bottom: 48px;
}



/*
--------------------------------------------
Mission Statement
--------------------------------------------
*/

#mission-wrapper {
    
}

#mission {
    margin-top:40px;
    margin-bottom:40px;
}
@media (min-width: 768px) { #mission { margin-top:80px; margin-bottom:80px; } }

#mission h1 {
    font-size:1.125rem; /* 18px */
    font-weight:bold;
}
@media (min-width: 576px) { #mission h1 { font-size:1.5rem; } } /* 24px */
@media (min-width: 768px) { #mission h1 { font-size:1.875rem; width:90%; } } /* 30px */
@media (min-width: 992px) { #mission h1 { font-size:2.25rem; width:85%; } } /* 36px */
@media (min-width: 1200px) { #mission h1 { font-size:2.5rem; width:70%; } } /* 40px */
@media (min-width: 1600px) { #mission h1 { width:60%; } }


/*
--------------------------------------------
Logo box
--------------------------------------------
*/


#logo-box-wrapper {
    background-color: #fff;
    margin-bottom:1em;
}

/*
#logo-box {
    border-top: solid 1px #ebebeb;
    padding-top:40px;
}
@media (min-width: 768px) {
    #logo-box { padding-top:70px; }
}
@media (min-width: 1200px) {
    #logo-box { padding-top:90px; }
}
*/


#logo-box h3 {
    width:100%;
    text-align: center;
}

#logo-box .col {
    display: -webkit-flex;
    display: flex;
    flex-wrap: -webkit-wrap;
    flex-wrap: wrap;
    text-align:center;
    justify-content: center;
    align-items: center;
}

#logo-box .col .client-logo {
    width:50%;
}
@media (min-width: 768px) {
    #logo-box .col .client-logo {
        width:25%;
    }     
}

#logo-box .col .client-logo img {
    width:40%;
    height:auto;
    margin:20% 0;
}
@media (min-width: 1200px) {
    #logo-box .col .client-logo img {
        width:48%;
    }    
}
@media (min-width: 1600px) {
    #logo-box .col .client-logo img {
        width:36%;
    }    
}



/*
--------------------------------------------
Feature box
--------------------------------------------
*/



.feature-box-wrapper {
    /* background-color: #09181C; */
}

.feature-box-wrapper .feature-box {
    margin-bottom:0;
}

.feature-box {
    /* padding: 50px; */
    /* background-color: #09181C; */
}

.feature-box .column {
    margin-bottom:20px;
    display: flex;
    flex-direction: column;
}

.feature-box h3 {
    /* color:#fff; */
    font-size:1.125rem;
    color:#09181C;
    margin-bottom:30px;
}

.feature-box h4 {
    font-size:1.125rem;
    line-height:1em;
    font-weight:700;
    /* color:#fff; */
    color:#09181C;
    margin-bottom:0.75em;
}
@media (min-width: 768px) {
    .feature-box h4 {
        font-size:1rem;
    }     
}

.feature-box a {
    text-decoration: none;
}

/*
.feature-box .feature-box-group-1  {
    margin-top:auto;
}
*/
.feature-box .feature-box-image {
    display:block;
}

.feature-box .feature-box-image img {
    width: 100% !important;
    max-width: 100%;
    height: auto;
}

.feature-box .feature-box-caption {
    color:#09181C;
    font-size: 1rem;
    line-height: 1.5em;
    display:inline-block;
   /* margin-top:10px; */
}

.feature-box a .feature-box-caption,
.feature-box a:visited .feature-box-caption {
    /* color:#91989C; */
    color:#09181C;
}
.feature-box a:active .feature-box-caption,
.feature-box a:hover .feature-box-caption {
    color:#666;
}



/*
--------------------------------------------
Call to action box
--------------------------------------------
*/


.cta-box {
    /* border:solid 1px #ebebeb; */
    margin-bottom:1em;
    text-align:center;
}

.cta-box .inner {

}

.cta-box h3 {
    font-size:24px;
    font-weight:400;
}

.cta-box .btn-wrapper {
    margin-top:30px;
    margin-bottom:0;
}

.btn-sm {
    padding:14px 28px;
    font-size:14px;
}


.cta-box .col-sm-6,
.cta-box .col-md-4,
.cta-box .col-lg-3 {
    display:flex;
    flex-direction: column;
    align-items:center;
}

.cta-box .col-sm-6 .btn-wrapper,
.cta-box .col-md-4 .btn-wrapper,
.cta-box .col-lg-3 .btn-wrapper {
    margin-top:auto;
}


@media (min-width: 576px) {  
    .cta-box h3 {
        font-size:28px;
    }
}
@media (min-width: 768px) {    
    .cta-box { 
        padding:50px 0 10px 0;
    }
    .cta-box h3 {
        font-size:32px;
    }
    .cta-box .btn-wrapper {
        margin-bottom:40px;
    }
}
@media (min-width: 992px) {    
    /*.cta-box h3 {
        font-size:36px;
    }*/
}
@media (min-width: 1200px) {  


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

}


/* Customised contact CTA box */


.cta-box.contact,
.cta-wrapper {
    background-color: #fff;
}

.cta-box.contact {
    padding:35px;
    border:none;
    margin-bottom:0;
}

.cta-box.contact .inner {
    /*width:100%;
    padding:35px;
    text-align:center;*/
}

.cta-box.contact .inner h2 {
    font-size:24px;
    margin-bottom:40px;
}

.cta-box.contact .inner h3 {
    font-size:1.375rem; /* 22px */
    font-weight:500;
}

.cta-box.contact .btn-wrapper {
    margin-top:30px;
    margin-bottom:40px;
}

.cta-box.contact .offices {
    display:block;
    margin-bottom:0.25em;
}

.cta-box.contact .pipe {
    display:none;
}
@media (min-width: 576px) {  
    .cta-box.contact .inner h2 {
        font-size:32px;
    }
    .cta-box.contact .inner h3 {
        font-size:1.375rem; /* 22px */
    }
}
@media (min-width: 768px) {    
    .cta-box.contact { 
        padding:50px 0 75px 0;
    }
    .cta-box.contact .inner h2 {
        font-size:48px;
        margin-bottom:10px;
    }
    .cta-box.contact .inner h3 {
        font-size:1.5rem; /* 24px */
    }
    .cta-box.contact .btn-wrapper {
        margin-top:70px;
        margin-bottom:80px;
    }
    .cta-box.contact .offices {
        display:inline;
        margin-bottom:0;
    }
    .cta-box.contact .pipe {
        display:inline;
    }
}
@media (min-width: 992px) {    
    .cta-box.contact { 
        padding-bottom:120px;
    }
   .cta-box.contact .inner h3 {
        font-size:1.5rem; /* 24px */
    }
}
@media (min-width: 1200px) {  


}
@media (min-width: 1600px) {  
    .cta-box.contact .inner h2 {
        font-size:60px;
    }
}








/*
--------------------------------------------
Announcement box
--------------------------------------------
*/

.announcement-box {
    text-align:center;
    margin:6rem 0;
}

.announcement-box h2 {
    margin-bottom:1rem;
}

.announcement-box p {
    font-size:1.5rem; /* 24px */ 
    line-height:1.2em;    
}


/*
--------------------------------------------
Standard Tiles
--------------------------------------------
*/

.tiles {
    
}

.tiles .tile {
    margin-bottom:1rem;   
}

.tiles .tile a {
    text-decoration:none;
}

.tiles .tile .tile-image {
    margin-bottom:0.625rem;
}

.tiles .tile a h3,
.tiles .tile a:visited h3 {
    font-size:18px;
    color:#09181C;
}

.tiles .tile a:active h3,.tiles .tile a:focus h3,.tiles .tile a:hover h3,
.tiles .tile a:active h4,.tiles .tile a:focus h4,.tiles .tile a:hover h4,
.tiles .tile a:active h5,.tiles .tile a:focus h5,.tiles .tile a:hover h5,
.tiles .tile a:active h6,.tiles .tile a:focus h6,.tiles .tile a:hover h6 {
    color:#09181C;
}
@media (min-width: 992px) { 
    .tiles .tile a h3 { font-size:21px; }
}
@media (min-width: 1200px) { 
    .tiles .tile a h3 { font-size:24px; }
}



/*
--------------------------------------------
One Four Tiles
--------------------------------------------
*/


.one-four-tiles h3 {
    /* font-size:20px; */
    font-size:1.125em;
}

.one-four-tiles a,
.one-four-tiles a:visited {
    text-decoration: none;
}

.one-four-tiles a:active,
.one-four-tiles a:focus,
.one-four-tiles a:hover {
    text-decoration: none;
    color:#09181C;
}

.one-four-tiles .tile {
    margin-bottom:20px;       
}

.one-four-tiles .tile img {
    width:100%;
    height:auto;
}

.one-four-tiles .one-four-tiles-image {
    display:block;
    margin-bottom:10px;
}

.one-four-tiles .tile .tile-bgrnd-image {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    display:block;        
}

.one-four-tiles .tile-group .one-four-tiles-image {
    position:relative;
    padding-bottom: 56.25%; /* 56.25% (16:9 ratio) */
    margin-bottom:10px;
}

.one-four-tiles .tile-group .one-four-tiles-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display:block;
    color: transparent;
}


@media (min-width: 576px) {
   
    .one-four-tiles .tile-group.group-1 {
        display:flex;
        flex-flow: row wrap;
    }

    .one-four-tiles .tile-group.group-1 .tile {
        flex-basis: 50%;
        padding:0 0 0 2%;
    }
    
    .one-four-tiles .tile-group.group-1 .tile:nth-child(odd) {        
        padding:0 2% 0 0;
    }    

}


@media (min-width: 992px) {
        
    .one-four-tiles {
        display: flex;
        width:100%;
        margin-bottom:30px;
    }

    .one-four-tiles .tile {
        box-sizing:border-box;
        margin-bottom:0;
    }
    
    .one-four-tiles .tile.large-1 {
        flex-basis: 50%;
        padding:0 1% 0 0;
    }
    
    .one-four-tiles .tile-group.group-1 {
        flex-basis: 50%;
        padding:0 0 0 1%;
    }
    
    .one-four-tiles.standard-order:nth-child(even) .tile.large-1 {
        padding:0 0 0 1%;
    }
    .one-four-tiles.reverse-order:nth-child(odd) .tile.large-1 {
        padding:0 0 0 1%;
    }
    
    .one-four-tiles.standard-order:nth-child(even) .tile-group.group-1 {
        padding:0 1% 0 0;
    }
    .one-four-tiles.reverse-order:nth-child(odd) .tile-group.group-1 {
        padding:0 1% 0 0;
    }
    
    .one-four-tiles .tile-group.group-1 .tile {
        flex-basis: 50%;
    }
    
    .one-four-tiles.standard-order:nth-child(even) .tile-group.group-1 {
        order:1;
    }
    .one-four-tiles.reverse-order:nth-child(odd) .tile-group.group-1 {
        order:1;
    }
    
    .one-four-tiles.standard-order:nth-child(even) .tile.large-1 {
        order:2;
    }
    .one-four-tiles.reverse-order:nth-child(odd) .tile.large-1 {
        order:2;
    }
    .one-four-tiles .tile-group.group-1 .tile:nth-child(odd) {
        padding:0 2% 0 0; 
    }

}



/*
--------------------------------------------
Recent box
--------------------------------------------
*/

.recent-box {
    margin-bottom:1rem;   
}
@media (min-width: 576px) { 
    .recent-box { margin-bottom:1.5rem; }
}
@media (min-width: 768px) {  
    .recent-box { margin-bottom:2rem; }
}
@media (min-width: 992px) {  
    .recent-box { margin-bottom:3rem; }
}
@media (min-width: 1200px) {  
    .recent-box { margin-bottom:4rem; }
}

.recent-box .tiles h2 {
    margin-bottom:1rem;   
}

.recent-box .tiles .tile {
    margin-bottom:1rem;   
}
.recent-box .tiles .tile:last-child {
    margin-bottom:0;   
}

.recent-box .tiles .tile .tile-image {
    margin-bottom:0.5rem;   
}

.recent-box .tiles .tile h3 {
    font-size:1.125em;
}



/*
--------------------------------------------
Tab panel
--------------------------------------------
*/


#tile-large-textabpanel-nav {
    
}

#tabpanel-content {
    margin-top:80px;
}

#tabpanel-content .tab-pane {
    min-height:640px;
    background-size: cover; 
    background-position: center; 
    background-repeat: no-repeat;
    background-color:#E3E9EC; 
}

#tabpanel-content .tab-pane .col-2 {
    margin-top:-80px;
}

#tabpanel-content .tab-pane .text {
    /*background: rgba(227, 233, 236, 0.95);*/
    background: rgba(239, 242, 244, 0.95);
    padding:20px;
}
@media (min-width: 1200px) {    
    #tabpanel-content .tab-pane .text {
        padding-left:40px;
        padding-right:40px;
    }
}



.nav-pills .nav-link {
    border-radius: 0;
    text-decoration: none;
    font-weight:700;
    padding:.5rem 1rem .5rem 0;
}

.nav-pills .nav-link:hover {
    color:#003B75;
    /* background-color:#E3E9EC; */
    background-color:transparent;
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link,
.nav-pills .nav-link:focus {
    /*color:#fff;*/
    /*background-color:#003B75;*/
    /*color:#09181C;*/
    color:#003B75;
    background-color:transparent;
    border-left:solid 8px #003B75;
    padding-left:1rem;
} 



/*
--------------------------------------------
Accordion
--------------------------------------------
*/


/* default */

#accordion {

}

#accordion .card {
    border:none;
    margin-bottom:0.5rem;
}

#accordion .card .text {
    margin-bottom:2rem;
}

#accordion .card .card-header {
    padding:0;
    background-color:#003B75;
    border-radius:0;
    border-bottom: solid 1px #fff;
}

#accordion .card .card-header .btn {
    padding:1em;
    font-size: 16px;
    line-height: 1.25;
    width:100%;
    text-align:left;
}

#accordion .card .card-header .btn.btn-link {
    text-decoration:none;
    color:#fff;
}
#accordion .card .card-header .btn.btn-link:hover {
    color:#fff !important;
    background-color:#003B75 !important;
}
#accordion .card .card-header .btn.btn-link.collapsed {
    text-decoration:none;
    color:#003B75;
    background-color:#E3E9EC;
}


/* content accordion */

#accordion2 {

}

#accordion2 .card {
    border:none;
    margin-bottom:0.5rem;
}

/*
#accordion .card .text {
    margin-bottom:2rem;
}
*/
#accordion2 .card .card-header {
    padding:0.25em 0 0.25em 0;
    background-color:#fff;
    border-bottom: none;
    
}


#accordion2 .card .card-header .btn {
    padding:0 0 0 1em;
    font-size: inherit;
    line-height: 1.25;
    width:100%;
    text-align:left;
    text-transform: none;
    /*background:url(../icons/APS_arrow-down.svg);
    background-repeat: no-repeat;
    background-position: left;
    background-size: 0.75em;*/
    position:relative;
}

#accordion2 .card .card-header .btn:before
{
    content: "";
    position: absolute;
    width: 0.75em;
    height: 0.75em;
    top: 0.25em;
    left: 0;
    background:url(../icons/APS_arrow-down.svg);
    background-repeat: no-repeat;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
}

#accordion2 .card .card-header .btn.collapsed:before
{
    -webkit-transform: rotate(0deg) !important;
    transform: rotate(0deg) !important;

}


#accordion2 .card .card-header .btn.btn-link {
    text-decoration:none;
    color:#09181C;
}
#accordion2 .card .card-header .btn.btn-link:hover {
    opacity:0.75;

}


/*
--------------------------------------------
Quote block
--------------------------------------------
*/

.quote blockquote {
    font-size:23px;
    font-weight: 700;
    line-height: 1.25em;
    margin: 0 0 1rem 0.5em;
}

.quote-mark {
    margin-left:-0.5em;
}

.quote-by {
    font-size:14px;
    color:#555;
    padding-top:2px;
}


@media (min-width: 768px) {    
    .quote-by {
        text-align: right;
    }    
}





/*
--------------------------------------------
--------------------------------------------
STRUCTURE
--------------------------------------------
--------------------------------------------
*/



/*
--------------------------------------------
Global elements
--------------------------------------------
*/


#content.site-content {
    margin-top:98px; /* Needs to match height of navbar */
}

main#services,
main#work,
main#news,
main#contact,
main#page,
/* main#advanced-page */,
main#work-single {
    margin-top:30px
}
@media (min-width: 768px) { 
    main#services,
    main#work,
    main#news,
    main#contact,
    main#page,
    /* main#advanced-page */,
    main#work-single {
        margin-top:80px;
    }
}
@media (min-width: 992px) { 
    main#services,
    main#work,
    main#news,
    main#contact,
    main#page,
    /* main#advanced-page */,
    main#work-single {
        margin-top:130px;
    }
}

#featured-image {
    margin-bottom:30px;
}


/*
--------------------------------------------
Header
--------------------------------------------
*/

header a #logo {
    transition: opacity .5s;
    height:72px;
}

header a:focus #logo,
header a:active #logo,
header a:hover #logo {
    opacity:0.8;
    transition: opacity .5s;
}

#header-contact {
    display:none;
}



/*
--------------------------------------------
Footer
--------------------------------------------
*/

/*
Sub-footer
--------------------------------------------
*/

#sub-footer-wrapper {
    background-color:#E3E9EC;
}

#sub-footer {
    padding:50px 0;
    font-size:18px;
}
#sub-footer .col1 {
    margin-bottom:1em;
}
@media (min-width: 768px) {    
    #sub-footer {
        padding:100px 0;
    }
    #sub-footer .col1 {
        margin-bottom:0;
    }
}


#sub-footer .social-links a {
    margin-right:1em;
}


/* Sub-footer menu */

#sub-footer  nav.footer-links ul.footer-menu {
    
}

#sub-footer  nav.footer-links ul.footer-menu li {
    display:inline-block;
    width:100%;
}
@media (min-width: 992px) { 
    #sub-footer  nav.footer-links ul.footer-menu li { width:49%; }
}
@media (min-width: 1200px) { 
    #sub-footer  nav.footer-links ul.footer-menu li { width:33%; }
}


#sub-footer  nav.footer-links ul.footer-menu li a,
.footer-menu > li:first-child > a {
    padding:0;
    text-decoration: none;
}


/*
Footer
--------------------------------------------
*/

#footer-wrapper {
    background-color:#09181C;
    color:#fff;
}

footer#colophon {
    padding:50px 0 60px 0;
    font-size:18px;
}

footer#colophon a {
    color:#fff;
}
footer#colophon a:focus,
footer#colophon a:active,
footer#colophon a:hover {
    color:#ccc;
}

footer#colophon .col1 {
    margin-bottom: 30px;
    text-align: center;
}

footer#colophon .col2 {
    display: -webkit-flex;
    display: flex;
    flex-wrap: -webkit-wrap;
    flex-wrap: wrap;
    justify-content:center;
}

footer#colophon .col2 .accreditation-logo {
    width:50%;
    text-align:center;
    margin-bottom:10px;
}

footer#colophon .col2 .accreditation-logo:nth-last-child(-n+2) {
    margin-bottom:0;
}

footer#colophon .accreditation-logo img {
    height:50px;
    width:auto;
    margin-top:4px;
}
@media (min-width: 1600px) {  
    footer#colophon .accreditation-logo img {
        height:50px;
    }
}

@media (min-width: 480px) { 
    footer#colophon .col2 {   
        -webkit-justify-content: space-around;
        justify-content: center;
    }
    footer#colophon .col2 .accreditation-logo {
        width:auto;
    }
    footer#colophon .col2 .accreditation-logo img {
        margin-left:4px;
        margin-right:4px;
    } 
}

@media (min-width: 768px) { 
    footer#colophon .col2 .accreditation-logo {
        margin-left: 20px;
    }
    footer#colophon .col2 .accreditation-logo img {
        margin-left:0;
        margin-right:0;
    } 
}

@media (min-width: 992px) {    
    footer#colophon .col1 {
        text-align: left;
        margin-bottom:0;
    }
    footer#colophon .col2 {
        -webkit-justify-content: flex-end;
        justify-content: flex-end;
    }
    footer#colophon .accreditation-logo:first-child {
        margin-left: 0;
    }
}




/*
--------------------------------------------
--------------------------------------------
PAGE TEMPLATES
--------------------------------------------
--------------------------------------------
*/


/*
--------------------------------------------
Global
--------------------------------------------
*/

#page-header h1.medium {
    padding-top: 5px;
}

#textbox-wrapper {
    margin-bottom:48px;
}
@media (min-width: 768px) { 
    #textbox-wrapper {
        margin-bottom:100px;
    }
}

main .text p {
    margin-bottom:2em;
}

/*
--------------------------------------------
Homepage template
--------------------------------------------
*/


/* Highlights row */

/*
#highlights-box {
    padding:50px;
    background-color:#fff;
}
*/


/*
--------------------------------------------
Services overview page template
--------------------------------------------
*/

main#services {
    
}

#services .tiles.row {
    padding-bottom:32px;
}
@media (min-width: 768px) { 
    #services .tiles.row { padding-bottom:48px; }
}
@media (min-width: 992px) { 
    #services .tiles.row { padding-bottom:65px; }
}

#services .tiles.row h2 {
    margin-bottom:24px;
}
@media (min-width: 768px) { 
    #services .tiles.row h2 {
        margin-bottom:40px;
    }
}

#services .tiles.row .col-md-6 {
    margin-bottom:24px;
}
@media (min-width: 768px) { 
    #services .tiles.row .col-md-6 {
        margin-bottom:48px;
    }
    #services .tiles.row .col-md-6:nth-last-child(-n+2) {
        margin-bottom:0;
    }    
}

#services .tiles a {
    text-decoration:none;
}

#services .tiles a h3,
#services .tiles a:visited h3 {
    font-size:18px;
    color:#09181C;
}

#services .tiles a:active h3,
#services .tiles a:focus h3,
#services .tiles a:hover h3 {
    color:#09181C;
}
@media (min-width: 992px) { 
    #services .tiles a h3 { font-size:21px; }
}
@media (min-width: 1200px) { 
    #services .tiles a h3 { font-size:24px; }
}

/*
#services .services-image {
    position:relative;
    padding-bottom: 56.25%;
    display:block;
    margin-bottom:8px;   
}
*/
@media (min-width: 768px) {  
    /*#services .services-image { margin-bottom:16px; }*/
    #services .tile-image { margin-bottom:16px; }  
}
/*
#services .services-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display:block;
    color: transparent;
}
*/
#services .tiles .excerpt {
    display:none;
    font-size:1rem; /* 16px */
}
@media (min-width: 768px) { 
    #services .tiles .excerpt { display:block; }
}
@media (min-width: 992px) { 
    #services .tiles .excerpt { font-size:1.125rem; /* 18px */ }
}

/*
#services a:hover .services-image img,
#services a:focus .services-image img,
#services a:active .services-image img {
    opacity:1 !important;
}
*/


/*
--------------------------------------------
Services single page template
--------------------------------------------
*/

main#services-single {
    
}

/*
#services-single #services_1_textbox .text {
     padding-top:3px;  
}
*/

/*
#services-single #services_2 .image,
#services-single #services_3 .image {
     padding-top:5px;
     margin-bottom:18px;
}

#services-single #services_1_textbox,
#services-single #services_2,
#services-single #services_3 {
     margin-bottom:18px;  
}


#services-single #services_1_textbox p:last-child,
#services-single #services_2 .text p:last-child,
#services-single #services_3 .text p:last-child {
     margin-bottom:0;  
}

#services-single #services_1_images {
    margin-bottom:32px; 
}
*/

#services-single .tiles.row {
    padding-bottom:32px;
}
@media (min-width: 992px) { 
    #services-single .tiles.row {
        padding-bottom:75px;
    }
}

#services-single .tiles.row h2 {
    margin-bottom:24px;
}
@media (min-width: 768px) { 
    #services-single .tiles.row h2 {
        margin-bottom:40px;
    }
}

#services-single .tiles.row .col-md-6 {
    margin-bottom:24px;
}
@media (min-width: 768px) { 
    #services-single .tiles.row .col-md-6 {
        margin-bottom:48px;
    }
    #services-single .tiles.row .col-md-6:nth-last-child(-n+2) {
        margin-bottom:0;
    }    
}

#services-single .tiles a {
    text-decoration:none;
}

#services-single .tiles a h3,
#services-single .tiles a:visited h3 {
    font-size:18px;
    color:#09181C;
}

#services-single .tiles a:active h3,
#services-single .tiles a:focus h3,
#services-single .tiles a:hover h3 {
    color:#09181C;
}
@media (min-width: 992px) { 
    #services-single .tiles a h3 { font-size:21px; }
}
@media (min-width: 1200px) { 
    #services-single .tiles a h3 { font-size:24px; }
}

/*
#services-single .tile-image-wrapper {
    position:relative;
    padding-bottom: 56.25%;
    display:block;
    margin-bottom:8px;   
}
*/
@media (min-width: 768px) { 
    /*#services-single .tile-image-wrapper { margin-bottom:16px; }*/
    #services-single .tile-image { margin-bottom:16px; }
}
/*
#services-single .tile-image-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display:block;
    color: transparent;
}
*/
#services-single .tiles .excerpt {
    display:none;
    font-size:1rem; /* 16px */
}
@media (min-width: 768px) { 
    #services-single .tiles .excerpt { display:block; }
}
@media (min-width: 992px) { 
    #services-single .tiles .excerpt { font-size:1.125rem; /* 18px */ }
}

#services-single h2,
#services-single h4 {
    margin-bottom:1em;
}
@media (min-width: 768px) { 
    #services-single h2,
    #services-single h4 {
        margin-bottom:1em;
    }
}
@media (min-width: 992px) { 
    #services-single h2,
    #services-single h4 {
        margin-bottom:1em;
    }
}

/*
--------------------------------------------
Work overview template
--------------------------------------------
*/


main#work {
    
}



/*
--------------------------------------------
Work single page template
--------------------------------------------
*/


main#work-single {
    
}

#work-single #page-header {
    margin-bottom:20px;
}

#work_1_textbox,
#work_1_media,
#work_2_textbox,
#work_2_media,
#work_3_textbox,
#work_3_media,
#work_4_textbox,
#work_4_media,
#work_spare_image_1,
#work_spare_video_16x9,
#work_quote_1 {
    margin-bottom:30px;
}


/*
--------------------------------------------
News overview template
--------------------------------------------
*/


main#news {
    
}


/*
--------------------------------------------
News single page template
--------------------------------------------
*/


main#news-single {
    
}


#news_1_textbox, #news_2_textbox, #news_3_textbox,
#news_1_images, #news_2_images, #news_3_images,
#news_1_video, #news_2_video, #news_3_video {
    margin-bottom:30px;
}

#news_1_textbox .col-md-6:first-child,
#news_2_textbox .col-md-6:first-child,
#news_3_textbox .col-md-6:first-child {
    margin-bottom:30px;
}
@media (min-width: 768px) {
    #news_1_textbox .col-md-6:first-child,
    #news_2_textbox .col-md-6:first-child,
    #news_3_textbox .col-md-6:first-child {
        margin-bottom:0;
    }    
}

.news-template-default main a,
.news-template-default main a strong,
.news-template-default main a em {
    font-weight:normal;
    font-style:normal;
}



/*
--------------------------------------------
Social page template
--------------------------------------------
*/

main#social {
    
}



/*
--------------------------------------------
Standard page template
--------------------------------------------
*/

main#page {
    
}

#page #featured-image .col {
    padding-bottom: 56.25%; /* 56.25% (16:9 ratio) */    
}

#page #featured-image .col img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display:block;
    padding-left:15px;
    padding-right:15px;
    color: transparent;
}

#page_1_textbox {
    margin-bottom:50px;
}



/*
--------------------------------------------
Advanced page template
--------------------------------------------
*/

main#advanced-page {
    
}

#advanced-page #featured-image .col {
    padding-bottom: 56.25%; /* 56.25% (16:9 ratio) */    
}

#advanced-page #featured-image .col img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display:block;
    padding-left:15px;
    padding-right:15px;
    color: transparent;    
}

#advanced-page .col-md-6:first-child,
#advanced-page_1_textbox,
#advanced-page_1_images,
#advanced-page_1_video,
.feature-box,
#advanced-page_quote_1 {
    margin-bottom:30px;
}

#advanced-page .quote.col-md-6 {
    margin-bottom:0;
}

#advanced-page_1_images img {
    margin-bottom:1rem;    
}
@media (min-width: 768px) {
    #advanced-page_1_images img { margin-bottom:0; }    
}

@media (min-width: 768px) {
    #advanced-page .col-md-6:first-child {
        margin-bottom:0;
    }

}


/*
--------------------------------------------
Search form (default)
--------------------------------------------
*/


form.form-search {
    width:90%;
    margin-left:auto;
    margin-right:auto;
}

form.form-search .input-group {
    border-bottom: solid 1px #91989C;   
}

form.form-search .input-group input.form-control {
    border-width:0;
    font-size:1.125rem; /* 18px */
    background-color:transparent;
    color: #09181C;
    padding-left:0;
}
@media (min-width: 768px) {
    form.form-search .input-group input.form-control {
        font-size:1.5rem; /* 24px */
    }
}

form.form-search .input-group .input-group-append {
    margin-top:0.5rem;
}
@media (min-width: 768px) {
    form.form-search .input-group .input-group-append {
        margin-top:0.75rem;
    }    
}

form.form-search .input-group button#searchsubmit {
    width: 1.5rem;
    height: 1.5rem;
    padding:0;
    background-color: transparent;
}

form.form-search #searchsubmit:hover #search-btn-icon {
    fill:#666;
}

/* 404 search page form */

@media (min-width: 576px) {
    .error404 form.form-search {
        width: 75%;
        margin:20px auto 30px auto;
    }
}
@media (min-width: 992px) {
    .error404  form.form-search {
        width: 50%;
        margin-bottom: 50px;
    }
}


/*
--------------------------------------------
Search Overlay
--------------------------------------------
*/


#search-overlay {
    position: absolute;
    top:0;
    left:0;
    width:100%;
    background-color:rgba(255,255,255,0.95);
    display:none;
}

#search-overlay .col {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

#search-overlay form.form-search {
    width:100%;
}

#search-overlay form.form-search .input-group {
    border-bottom: solid 2px #91989C;   
}

#search-overlay form.form-search .input-group input.form-control {
    border-width:0;
    font-size:1.125rem; /* 18px */
    background-color:transparent;
    color: #09181C;
}
@media (min-width: 576px) {
    #search-overlay form.form-search .input-group input.form-control { font-size:1.5rem; /* 24px */ }
}
@media (min-width: 768px) {
    #search-overlay form.form-search .input-group input.form-control { font-size:2rem; /* 32px */ }
}
@media (min-width: 992px) {
    #search-overlay form.form-search .input-group input.form-control { font-size:2.5rem; /* 40px */ }
}
@media (min-width: 1200px) {
    #search-overlay form.form-search .input-group input.form-control { font-size:3rem; /* 48px */ }
}

#search-overlay form.form-search .input-group .input-group-append {
    margin-top:0.5rem;
}

#search-overlay form.form-search .input-group button#searchsubmit {
    width: 1.5rem;
    height: 1.5rem;
    padding:0;
}
#search-overlay form.form-search .input-group button#searchsubmit #search-btn-icon { width: 1.5rem; height: 1.5rem; }
@media (min-width: 576px) {
    #search-overlay form.form-search .input-group button#searchsubmit,
    #search-overlay form.form-search .input-group button#searchsubmit #search-btn-icon { width: 2rem; height: 2rem; }
}
@media (min-width: 768px) {
    #search-overlay form.form-search .input-group button#searchsubmit,
    #search-overlay form.form-search .input-group button#searchsubmit #search-btn-icon { width: 2.5rem; height: 2.5rem; }
}
@media (min-width: 992px) {
    #search-overlay form.form-search .input-group button#searchsubmit,
    #search-overlay form.form-search .input-group button#searchsubmit #search-btn-icon { width: 3rem; height: 3rem; }
}
@media (min-width: 1200px) {
    #search-overlay form.form-search .input-group button#searchsubmit,
    #search-overlay form.form-search .input-group button#searchsubmit #search-btn-icon { width: 3.5rem; height: 3.5rem; }
}

form.form-search #searchsubmit:hover #search-btn-icon {
    fill:#666;
}

#search-overlay #search-btn-open {
    
}

#search-overlay #search-btn-close {
    position: absolute;
    top: 32px;
    right: 15px;
}

#search-overlay #search-btn-close,
#search-overlay #search-btn-close button {
    cursor:pointer;    
}




/*
--------------------------------------------
Search Results page template
--------------------------------------------
*/

#search-results {
}

#search-results h1 {
    margin-top: 30px;
    margin-bottom:0.75em;
}

/*
#search-results h2 {
    font-size:32px;
}

#search-results h1,
#search-results article:first-child,
#search-results section.no-results {
    margin-top: 30px;
}

#search-results .search-image {
    display:block;
}

#search-results .search-image img {
    width:100%;
    height:auto;
}
*/

#search-results .no-results {
    text-align:center;
    width:100%;
    font-size:1.125rem;
}

/*
#search-results .form-search {
    width:90%;
    margin:0 auto 0 auto;
}

@media (min-width: 576px) {
    #search-results .form-search { width:75%; }
}
@media (min-width: 992px) {
    #search-results .form-search { width:50%; }
}

#search-results .form-search .search-query {
    padding-left:0;
    border: none;
    border-bottom: solid 1px #91989C; 
    font-size:1.125em;
    color:#09181C;
}

#search-results .form-search #searchsubmit {
    padding:0;
    padding-left:1px;
    background-color:transparent;
    border-bottom: solid 1px #91989C; 
}
#search-results .form-search #searchsubmit:hover #search-btn-icon {
    fill:#666;
}
*/

@media (min-width: 576px) {
    #search-results .form-search {
        width: 75%;
        margin:20px auto 30px auto;
    }
}
@media (min-width: 992px) {
    #search-results .form-search {
        width: 50%;
        margin-bottom: 50px;
    }
}

/*
--------------------------------------------
Archive Results page template
--------------------------------------------
*/

#archive {
    margin-bottom:4em;
}

#archive h2 {
    font-size:32px;
}

#archive h1,
#archive article:first-child {
    margin-top: 30px;
}

#archive .archive-image {
    display:block;
}

#archive .archive-image img {
    width:100%;
    height:auto;
}

#archive .tiles .tile.small h5 {
    font-size:1rem;
}

@media (min-width: 768px) {
    #archive .tiles {
        padding-top:40px;
    }
}



/*
--------------------------------------------
Contact page template
--------------------------------------------
*/

#contact {    
}

#contact .contact-group-links h5 {
    display:inline-block;
}
#contact .contact-group-links div {
    margin-bottom:0;
}
#contact .contact-group-links div:last-child {
    margin-bottom:1rem;
}

#contact .contact-general-links a {
    display:inline-block;
    margin-right:1em;
}
#contact .contact-general-links a:last-child {
    margin-right:0;   
}

#locations {
    display:flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.location-box-image {
    position:relative;
    padding-bottom: 56.25%; /* 56.25% (16:9 ratio) */
}

.location-box-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display:block;
    color: transparent;
}

.location-box-inner {
    padding:30px 0 44px 0;
}

.location-box p {
    margin-bottom:1.667em;
}


/* Geo IP */

#location-uk,
#location-europe,
#location-us {
    order: 100;    
}


.geoip-country-GB #location-uk {
    order: 1;    
}

.geoip-country-NL #location-europe, /* NL Netherlands */
.geoip-country-IT #location-europe, /* IT Italy */
.geoip-country-FI #location-europe, /* FI Finland */
.geoip-country-SE #location-europe, /* SE Sweden */
.geoip-country-FR #location-europe /* FR France */ {
    order: 1;    
}

.geoip-country-US #location-us {
    order: 1;    
}



/*
--------------------------------------------
MOS page template
--------------------------------------------
*/

#mos-page {
    
}

#mos-page #featured-image {
    margin-bottom:48px;
}

#mos-page .feature-box {
    margin-bottom:48px;
}

#mos-page #mos_1_textbox {
    margin-top:48px;
    margin-bottom:32px;
}

#mos-page #mos_1_textbox .text {
    padding-top:7px;
}

#mos-page #mos_2_textbox {
    margin-top:48px;
    margin-bottom:48px;
}



/*
--------------------------------------------
Ninja Forms 
--------------------------------------------
*/

/* Newsletter sign-up form */

/*
.aps-newsletter-form-wrapper {
    margin-bottom: 1em;
}

.aps-newsletter-form nf-fields-wrap {
    display:flex;
    flex-direction:column;
}

.aps-newsletter-form .nf-field-container {
    margin-bottom:0.5rem;   
}
.aps-newsletter-form nf-field:last-child {
    margin-right:0;
}

.aps-newsletter-form .nf-form-fields-required {
  display: none;
}

.aps-newsletter-form .nf-error-msg {
    margin-bottom:0.5rem;
}
.aps-newsletter-form .nf-response-msg p {
    font-size: 1rem;
    font-weight: 700;
}


@media (min-width:1200px) {  
 
    .aps-newsletter-form nf-fields-wrap {
        flex-direction:row;
        
    }
    .aps-newsletter-form nf-field {
        flex-grow: 1;
        margin-right:0.5rem;
        margin-bottom:1rem;
    }   
    .aps-newsletter-form nf-field:last-child {
        flex-grow: 0;
        margin-right:0;
    }

}



.aps-newsletter-form-wrapper {
    margin-bottom: 1em;
}

*/


.aps-newsletter-form {
    position:relative;
    margin-bottom:5rem;
}
@media (min-width: 768px) {
   
}
@media (min-width: 992px) {
    .aps-newsletter-form { width:70%; }
}
@media (min-width: 1200px) {

}

.aps-newsletter-form nf-field:nth-of-type(2) {
    position:absolute;
    top:0;
    right:0;
}

.aps-newsletter-form .nf-form-fields-required,
.aps-newsletter-form .ninja-forms-req-symbol {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;    
}

.aps-newsletter-form .aps-newsletter-email input {
    border:solid 0 #09181C;
    border-bottom-width:1px;
    padding-left:0;
    padding-right:0;
    background-color:transparent;
    font-weight: 700;
    font-size:1.125em;
    color:#09181C;
}

.aps-newsletter-form .aps-newsletter-submit input {   
    background-color: transparent;
    background-image: url(../images/icon-arrow-right.svg);
    background-size:contain;
    background-repeat: no-repeat;
    background-position: center;
    color:transparent;
    cursor:pointer;
    width:1.5rem !important;
    height:1.5rem;
    box-sizing: content-box;   
    border:solid 0.5rem rgba(227,233,236,0);
    border-right:0;
    padding:0;
}

.aps-newsletter-form .aps-newsletter-terms label {
    font-weight:normal;
}

.aps-newsletter-form .aps-newsletter-terms.label-right .checkbox-wrap .nf-field-label {
    width: 100%;
}





/* General contact form */

#general-contact-form {
    margin:50px 0;   
}

#general-contact-form .nf-form-fields-required {
    margin-bottom:1em;
}

#general-contact-form .nf-response-msg {
    
}



/*
--------------------------------------------
Hubspot Forms 
--------------------------------------------
https://designers.hubspot.com/docs/cos/hubspot-form-markup#styling-forms
*/


/* Fieldset */
.hs-form fieldset {
    max-width: none !important;
}
@media (min-width: 1200px) {  
    .hs-form fieldset {
        max-width: 75% !important;
    }
}


/* Form Field (selector for form field wrapper) */
.hs-form .hs-form-field {
    margin-bottom:1.5rem;
}


/* Descriptions (targets class applied to Help Text divs) */
.hs-form .hs-field-desc {}


/* Labels (selects field labels and error messages) */
.hs-form label {
    font-size:1rem;
    line-height:1.5rem;
    font-weight:bold;
    margin-bottom:0.625em;
}
.hs-form .hs-form-field > label {}


/* Inputs (selectors for all inputs)  */
.hs-form input[type="text"],
.hs-form input[type="password"], 
.hs-form input[type="datetime"],
.hs-form input[type="datetime-local"],
.hs-form input[type="date"],
.hs-form input[type="month"],
.hs-form input[type="time"],
.hs-form input[type="week"],
.hs-form input[type="number"], 
.hs-form input[type="email"], 
.hs-form input[type="url"], 
.hs-form input[type="search"],
.hs-form input[type="tel"],
.hs-form input[type="file"],
.hs-form textarea,
.hs-form select   {
    padding: .5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    color: #495057;
    border: solid 1px #e3e9ec;
}
.hs-form input[type="color"] {
    border: solid 1px #e3e9ec;
    background-color: #fff;
}


/* Inputs in focus (selectors for all inputs when clicked)  */
.hs-form input[type="text"]:focus,
.hs-form input[type="password"]:focus, 
.hs-form input[type="datetime"]:focus, 
.hs-form input[type="datetime-local"]:focus, 
.hs-form input[type="date"]:focus, 
.hs-form input[type="month"]:focus, 
.hs-form input[type="time"]:focus, 
.hs-form input[type="week"]:focus, 
.hs-form input[type="number"]:focus, 
.hs-form input[type="email"]:focus, 
.hs-form input[type="url"]:focus, 
.hs-form input[type="search"]:focus, 
.hs-form input[type="tel"]:focus, 
.hs-form input[type="color"]:focus,
.hs-form input[type="file"]:focus,
.hs-form textarea:focus,
.hs-form select:focus {
    border-color: #91989c;
    outline: none;
}


.hs-form input[type="text"],
.hs-form input[type="email"],
.hs-form input[type="tel"],
.hs-form select,
.hs-form textarea {
    width: 100% !important;
}


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

.hs-form .hs-input[type="checkbox"] {
    display:inline-block;
}



/* Multi-select (selectors for multi-select fields) */
.hs-form ul.inputs-list {
    padding-left:0;
    list-style-type: none;
    margin-bottom:0;
}

.hs-form ul.inputs-list li:before {
    content: none; 
}



/* Required (selectors for fields, when they do not pass validation) */
.hs-form input.invalid, 
.hs-form textarea.invalid, 
.hs-form select.invalid,
.hs-form input.error, 
.hs-form textarea.error, 
.hs-form select.error {
    border:solid 1px #e80000;
}

.hs-form .hs-form-required {
    color: #e80000;
}

/* Error message (selector for validation messages) */
.hs-form .hs-error-msgs label{
    font-weight:normal;
    font-size:1.125rem;
    color:#e80000 !important;
}


/* Placeholder Text (styles the placeholder attribute text) */
::-webkit-input-placeholder { /* Webkit Browsers */}
:-moz-placeholder { /* Firefox 18- */}
::-moz-placeholder { /* Firefox 19+ */}
:-ms-input-placeholder { /* IE10 */}



/* Submit buttons (selectors for all non-CTA buttons)  */

.hs-form .hs-button {
    padding:1.25rem 3.5rem;
    font-size:1rem; /* 16px */
    line-height:1.25;
    border-radius:0;
    border-width:0;
    font-weight:700;
    text-transform: uppercase;
    cursor: pointer;
}

/* Make default button ruby */
.hs-form .hs-button.primary {
    color:#09181C; background-color:#D04A70; border-color:#D04A70;
}
.hs-form .hs-button.primary:focus, 
.hs-form .hs-button.primary:hover, 
.hs-form .hs-button.primary:active {
    background-color: #d96e8d; color:inherit; opacity:1;
}

.hs-form .hs-button[type="submit"] {
    margin-top:2em;
}


/* Legal consent boxes */

.hs-form .legal-consent-container {
    font-size:0.875rem;
    line-height:1.75em;
}

.hs-form .legal-consent-container .hs-form-booleancheckbox-display p {
    display:inline !important;
}


/* Date-picker */

.hs-form .fn-date-picker .is-selected .pika-button {
    background-color: #003B75 !important;
    box-shadow: none;
}

.fn-date-picker .pika-button:hover {
    background: #D7AF00 !important;
}

.hs-form .fn-date-picker .is-today .pika-button {
    color: #003B75;
    box-shadow: none;
}


/* Submitted message */
.hs-form .submitted-message {
    font-size:24px; 
    color:#000;
}




/*
--------------------------------------------
CSS Animations
--------------------------------------------
*/


/* 
Image zoom
-----------------
*/

/*
#homepage-tiles .tile img,
.highlights-box-image img,
#highlights-tiles .tile img,
#highlights-tiles .tile-bgrnd-image,
#services .services-image img,
#archive .archive-image img,
#search-results .search-image img,
.one-four-tiles .tile img,
.one-four-tiles .tile-bgrnd-image {
    transition: transform .5s;
    -webkit-backface-visibility: hidden;
}


#homepage-tiles .tile img:hover,
.highlights-box-image img:hover,
#highlights-tiles .tile img:hover,
.one-four-tiles .tile img:hover,
#archive .archive-image img:hover,
#search-results .search-image img:hover,
#homepage-tiles .tile a:focus img,
.feature-box a:focus .feature-box-image img,
.highlights-box-image a:focus img,
#highlights-tiles .tile a:focus img,
.one-four-tiles .tile a:focus img,
#archive .archive-image a:focus img,
#search-results .search-image a:focus img {
    transform: scale(1.2);
}

#highlights-tiles .tile-bgrnd-image:hover,
#highlights-tiles .tile-bgrnd-image img:hover,
#highlights-tiles a:focus .tile-bgrnd-image,
.one-four-tiles .tile-bgrnd-image:hover,
.one-four-tiles .tile-bgrnd-image img:hover,
.one-four-tiles a:focus .tile-bgrnd-image,
#services .services-image img:hover,
#services a:focus .services-image img {
    transform: scale(1.1);    
}

#homepage-tiles .tile,
.highlights-tiles-image,
#highlights-tiles .tile,
.one-four-tiles .one-four-tiles-image,
#services .services-image,
#archive .archive-image,
#search-results .search-image {
    overflow:hidden;
}
*/

/* To do - replace refs above with this simplified version */

.zoom-img .tile-image {
    display:block;
    overflow:hidden;
}

.zoom-img .tile img,
.zoom-img .tile-bgrnd-image {
    transition: transform .5s;
    -webkit-backface-visibility: hidden;
}
/* .zoom-img .tile img:hover, */
.zoom-img .tile a:hover img,
.zoom-img .tile a:focus img {
    transform: scale(1.1);
}

.zoom-img .tile-bgrnd-image:hover,
.zoom-img .tile-bgrnd-image img:hover,
.zoom-img a:focus .tile-bgrnd-image {
    transform: scale(1.1);    
}
.zoom-img .one-four-tiles-image,
.zoom-img .tile-image-wrapper {
    overflow:hidden;
    display:inline-block;    
}

.zoom-img .one-four-tiles-image,
.zoom-img .tile-image-wrapper {
    overflow:hidden;
    display:inline-block;    
}

.zoom-img .one-four-tiles-image {
    overflow:hidden;
    display:block; 
}


/* 
Scroll animations 
-----------------
*/


/* Fade in */

@-webkit-keyframes fade-in {
    from {opacity: 0;}
    to {opacity: 1;}
}
@keyframes fade-in {
    from {opacity: 0;}
    to {opacity: 1;}
}
.anim-element.fade-in {
    animation-fill-mode: none;
    opacity:0;
}
.anim-element.in-view.fade-in {
    animation: fade-in 2s;
    animation-fill-mode: forwards;
}

/* Fade slide left */

@-webkit-keyframes fade-slide-left {
    from {opacity: 0; left:-20px;}
    to {opacity: 1; left:0;}
}
@keyframes fade-slide-left {
    from {opacity: 0; left:-20px;}
    to {opacity: 1; left:0;}
}
.anim-element.fade-slide-left {
    animation-fill-mode: none;
    opacity:0;
    position:relative;
    left:-20px;
}
.anim-element.in-view.fade-slide-left {
    animation: fade-slide-left 2s;
    animation-fill-mode: forwards;
}



/*
--------------------------------------------
Helpers
--------------------------------------------
*/

.pipe {
    margin-left:0.5em;
    margin-right:0.5em;
}

.mt-2em {
    margin-top:2em;
}

.mb-2em {
    margin-bottom:2em;
}



/*
--------------------------------------------
Standard Breakpoints
--------------------------------------------
*/

/* sm - small devices (landscape phones, 576px and up) */
@media (min-width: 576px) { 

}

/* md - medium devices (tablets, 768px and up) */
@media (min-width: 768px) {  

}

/* lg - large devices (desktops, 992px and up) */
@media (min-width: 992px) {  

}

/* xl - extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {  

}


/*
--------------------------------------------
Additional Breakpoints
--------------------------------------------
*/


@media (min-width: 1600px) {  
    .container {
        max-width: 1400px;
    }
}


/*
--------------------------------------------
--------------------------------------------
VENDOR
--------------------------------------------
--------------------------------------------
*/


/*
--------------------------------------------
Lazy load
--------------------------------------------
*/

img.lazy,
img.lazycarousel {
    width:100%;
}


/*
--------------------------------------------
Ajax Load more
--------------------------------------------
*/

.alm-btn-wrap {
    text-align:center;
    margin-top:50px;
    margin-bottom:50px;
}

.alm-load-more-btn {
    min-width:217px;
}

.alm-load-more-btn.loading {
    /* background-image: url("../images/spinner-ring-blue-64.gif");
    background-size: 32px;
    background-repeat: no-repeat;
    background-position: left 16px center;*/
}

.alm-load-more-btn.done {
    display:none;
}


/*
--------------------------------------------
Swiper 
--------------------------------------------
*/

.swiper-container {
    width: 100%;
    /* height: 100%; */
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;

    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}


.swiper-container .swiper-button-next, 
.swiper-container .swiper-button-prev {
    background-color: rgba(255, 255, 255, 0.5);
    margin-top: -32px;
    width:47px;
    height:64px;
}

.swiper-container .swiper-button-next:hover, 
.swiper-container .swiper-button-prev:hover {
    background-color: rgba(255, 255, 255, 0.75);
}

.swiper-container .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%2309181C'%2F%3E%3C%2Fsvg%3E");
    background-repeat:none;
    right:0;
}

.swiper-container .swiper-button-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%2309181C'%2F%3E%3C%2Fsvg%3E");
    background-repeat:none;
    left:0;
}


/*
--------------------------------------------
FF Social Media
--------------------------------------------
*/


/* ff general */

#ff-stream-1.ff-stream {
    background-color:#fff;    
}


/* ff show more */

#ff-stream-1 .ff-loadmore-wrapper .ff-btn {
    background-color: #fff !important;
    font-size: 1rem;
    font-weight:700;
    padding: 1.25rem 3.5rem;	
	border: solid 2px #09181C;
    border-radius: 0;
	color: #09181C;
}

#ff-stream-1 .ff-loadmore-wrapper .ff-btn:hover {
	border-color: #666;
	color: #666;
}


/* ff buttons */

.ff-filter-holder .ff-filter {
    border-radius:50% !important;
}

#ff-stream-1 .ff-filter.ff-filter--active {
    background-color:#D7AF00 !important;
}
#ff-stream-1 .ff-filter:hover {
    background-color:#91989C !important;    
}


/* ff search */

#ff-stream-1 .ff-filter-holder .ff-search input {
    background-color: #fff;
    border:solid 1px #666;
    border-top:0;
    border-left:0;
    border-right:0;
    border-radius:0 !important;
    text-transform: capitalize;
    font-size:0.875rem !important;
    font-weight:400;
    padding-left:0 !important;
}
@media (max-width: 320px) { 
    #ff-stream-1 .ff-filter-holder .ff-search input,
    .ff-filter-holder .ff-search {
        display:none !important;
    }
    .ff-filter-holder .ff-filter {
        width:40px !important;
        height:40px !important;
        line-height:40px !important;
    }
}


#ff-stream-1 .ff-filter-holder .selectric-ff-filters-select .selectric {
    text-align: center;
    border-radius: 0;
}


/*
--------------------------------------------
Cookie Consent
--------------------------------------------
*/

button#catapultCookie {
    border-radius: 0 !important;
    padding: 1em 2em !important;
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: bold;
}





/*
--------------------------------------------
Testing - temp styles
--------------------------------------------
*/

#wpadminbar {
    display:none;
}


