/*!
Theme Name: Eunomia 2018
Description: Custom Theme
Version: 1.0
License: Copyright 2014. All Rights Reserved.
*/

/* NB 
   This has been built with using mobile first principles.
   Extra small devices (portrait phones, less than 576px) are the default and have no media query */


/* 1. GENERAL ELEMENTS (H1, P etc)          */
/* 1A. GENERAL HELPERS (states etc)         */
/* 1B. GENERIC REUSABLE STYLES              */

/* 2. BOOTSTRAP LAYOUT TWEAKS               */

/* 3. TOP HEADER                            */
/* 3B. TOP HEADER - SOCIAL MEDIA ICONS      */
/* 3C. TOP HEADER - CONTACT BUTTON          */

/* 4. SLIDERS                               */
/* 4B. SLIDERS NAVIGATION                   */

/* 5. NAVIGATION                            */
/* 5B. MOBILE MENU                          */

/* 6. COMPONENTS                            */
/* 6A. INTRO COMPONENT                      */
/* 6B. SIDEBAR COMPONENT                    */
/* 6B.2 SERVICE MENU SIDEBAR                */
/* 6B.3 SEARCH SIDEBAR                      */
/* 6B.4 PERSON CONTACT SIDEBAR              */
/* 6B.5 RELATED NEWS SIDEBAR                */
/* 6B.6 PERSON REPORTS SIDEBAR              */
/* 6B.7 REPORTS SEARCH SIDEBAR              */
/* 6C. ARTICLE COMPONENT                    */
/* 6D. ARTICLE FEATURED COMPONENT           */
/* 6E. ARTICLE FEATURED OVERLAY COMPONENT   */
/* 6F. SECTION COMPONENT                    */
/* 6H. SEARCH FORM COMPONENTS               */
/* 6H.2 WOOCOMMERCE SEARCH FORM             */
/* 6J. BREADCRUMBS COMPONENT                */
/* 6K. PAGINATION COMPONENT                 */
/* 6L. BUTTON COMPONENT                     */
/* 6L.2. BUTTON CONTAINER                   */
/* 6M. SERVICE LIST COMPONENT               */
/* 6N. LARGE SCREEN 8 WIDE SERVICES (overwrite of 6M.) */
/* 6P. WIDGET STYLING                       */
/* 6Q. LARGE INTRO PARA ON SINGLE ARTICLES  */
/* 6R. CONTENT BACK BUTTON                  */

/* 7. PAGES                                 */
/* 7A. GENERAL PAGE HEADER                  */
/* 7B. HOME PAGE                            */
/* 7C. HOME CASE STUDIES LAYOUT             */
/* 7C.2 HOME BLOG LAYOUT                    */
/* 7D. SOCIAL MEDIA FEED                    */
/* 7E. TEAM PAGE                            */
/* 7F. TEAM SINGLE PAGE                     */
/* 7G. CASE STUDIES PAGE                    */
/* 7H. REPORTS PAGE                         */
/* 7I. SERVICE PAGE                         */
/* 7J. SERVICE SINGLE PAGE                  */
/* 7L. MEDIA PAGE                           */
/* 7M. TOOLS PAGE                           */
/* 7N. RESULTS PAGE                         */
/* 7O. NEWS PAGE                            */


/* 8. FOOTER                                */
/* 8A. NEWSLETTER FOOTER                    */
/* 8B. SOCIAL MEDIA                         */
/* 8C. NEWSLETTER FOOTER                    */
/* 8D. END FOOTER (COPYRIGHT)               */

/* 20. MEDIA QUERIES                        */
/* 20AAA. V SMALL MOBILES - min 280px       */
/* 20AA. SMALL MOBILES - min 475px          */
/* 20A. SMALL DEVICES - min 576px           */
/* 20B. MED DEVICES - min 768px             */
/* 20B.2 MED DEVICES - min 820px            */
/* 20C. LARGE DEVICES - min 992px           */
/* 20C.2 MED DEVICES - min 1100px           */
/* 20D. X LARGE DEVICES - min 1200px        */
/* 20E.2 X LARGE DEVICES - min 1300px       */



/* 1. GENERAL ELEMENTS (H1, P etc)          */
html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body {
    font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 27px;
    color: #606060;
    margin: 0;
}
h1, h2, h3, h4, h5 {
    margin: 10px 0;
}
h1 {
    font-size: 2.25rem;
}
h2 {
    font-size: 2em;
}
h3 {
    font-size: 1.65em;
}
h4 {
    font-size: 1.2em;
    font-weight: bold;
    text-transform: uppercase;
}
h5 {
    color: #F26724;
    font-weight: normal;
}
img {
    height: auto;
    max-width: 100%;
    border: 0
}
input,
textarea {
    border: 1px solid #c7c6c8;
}
input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none
}
input[type=text],
input[type=number],
input[type=email],
input[type=tel],
input[type=password],
input[type=submit],
select,
button,
textarea, 
.btn {
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
    font-weight: bold;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    padding: .375em .75em;
    background: transparent;
    border-width: 1px;
}
input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    font-weight: bold;
    color: #dbdbdc;
}
input::-moz-placeholder { /* Firefox 19+ */
    font-weight: bold;
    color: #dbdbdc;
}
input:-ms-input-placeholder { /* IE 10+ */
    font-weight: bold;
    color: #dbdbdc;
}
input:-moz-placeholder { /* Firefox 18- */
    font-weight: bold;
    color: #dbdbdc;
}

a {
    text-decoration: none;
    color: inherit;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
}
a {
    color: #F26724;
}
a:hover,
a:focus {
    color: #13a89e;
    text-decoration: none;
}

blockquote, figure,
ol, ul {
    margin: 0;
    padding: 0;
}
li {
    list-style-type: none;
}


.article-content ul {
    margin-bottom: 1rem;
}
.article-content ul li {
    position: relative;
    padding-left: 1.3em;
}
.article-content ul li:before {
    content: '> ';
    position: absolute;
    left: 0;
    top: -1px;
    color: #f15922;
}

p {
    margin-bottom: 1rem;
}

/*p:empty {
  display: none;
}*/



/* 1A. GENERAL HELPERS (states etc)         */
.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}
.clearfix {
    *zoom: 1;
}
.accessibly-hidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.screen-reader-text {
    position: absolute;
    margin-left: -10000px;
    display: block;
    height: 1px;
    margin-bottom: 0;
}


/* 1B. GENERIC REUSABLE STYLES              */
.bg-grey {
    background-color: #f2f2f2;
}
.bg-orange {
    background-color: #F26724;
    color: white;
}
.bg-blue {
    background-color: #43A2C5;
    color: white;
}
.bg-blue-dark {
    background-color: #257EA3;
}
.bg-green {
    background-color: #24A89D;
}
.bg-gradient {
    background: #42a2c5; /* Old browsers */
    background: -moz-linear-gradient(top, #42a2c5 0%, #34a19a 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #42a2c5 0%,#34a19a 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #42a2c5 0%,#34a19a 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#42a2c5', endColorstr='#34a19a',GradientType=0 ); /* IE6-9 */
}
.date, .rss-date {
    font-weight: bold;
    font-size: 0.9em;
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
    display: block;
}

input.text-uppercase::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    /* text-transform: uppercase; */
}
input.text-uppercase::-moz-placeholder { /* Firefox 19+ */
    /* text-transform: uppercase; */
}
input.text-uppercase:-ms-input-placeholder { /* IE 10+ */
    /* text-transform: uppercase; */
}
input.text-uppercase:-moz-placeholder { /* Firefox 18- */
    /* text-transform: uppercase; */
}

.read-more-link {
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif;   */
    color: #F26724;
}


/* 2. BOOTSTRAP LAYOUT TWEAKS               */
.container-fluid .container {
    padding-left: 0;
    padding-right: 0;
}

/* 3. TOP HEADER               */
#header-top {
    padding: 10px 0;
}

/* 3B. TOP HEADER - SOCIAL MEDIA ICONS    */
#header-top .social-media-icons {
    display: none;
}
.social-media-icons .fab {
    color: #d3d3d3;
}
.social-media-icons .fab:hover {
    color: black;
}
.social-media-icons .icon {
    line-height: 1;
    margin-right: 15px;
    padding: 0;
}

#ctf .ctf-item {
    padding: 0px !important;
}

/* 3C. TOP HEADER - CONTACT BUTTON    */
.contact-wrapper {
    justify-content: flex-end;
    padding-right: 0;
}
.contact-button .btn {
    font-size: 14px;
}


/* 4. SLIDERS                         */
.home-slider {
    height: 250px; /* need for graceful slider loading */
}

.slides {
    display: none; /* app.JS will display again on sliders load */
}

.slides .single-slide{
    background-repeat: no-repeat !important;
    background-size: cover !important;
    color: white;
}

.slides .inner {
    height: 250px;
    box-sizing: border-box;
}
.single-slide h2{
    /* font-size: 2.5rem; */
    line-height: 1.1;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding-bottom: 15px;
    margin: 0;
    border-bottom: 2px solid white;
    font-weight: bold;
}
.single-slide p {
    display: none;
}
.single-slide button {
    margin-top: 17px;
    padding: 15px 20px 15px;
    text-align: center;
}
.single-slide button:hover {
    background-color: white;
    color: black;
}
.single-slide button::after {
    font-family: "Font Awesome 5 Free"; 
    font-weight: 900; 
    color: white;
    content: "\f061";
    font-size: 16px;
    padding-left: 10px;
}
.single-slide button:hover::after {
    color: black;
}


/* 4B. SLIDERS NAVIGATION                    */
.slider .flex-direction-nav {
    position: absolute;
    top: 43%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 0;    
    display: none; /* app.JS will display flex on sliders load */
} 

.slider .flex-control-paging {
    position: absolute;
    bottom: 0;
    padding: 0;
    width: 100%;
    text-align: center;
    margin-bottom: 0;
}
.slider .flex-control-paging li {
    display: inline-block;
    padding: 5px;
} 

/* hide the next and previous text so we can replace with icons*/
.slider .flex-nav-prev a::before, .slider .flex-nav-next a::before {
    display: none;
}

.slider .flex-nav-prev a, .slider .flex-nav-next a, .slider .flex-control-paging a {
    color: transparent;
    font-size: 0;
    display: block;
}
.slider .flex-nav-prev a, .slider .flex-nav-next a {
    height: 40px;
}
.slider .flex-control-paging a {
    height: 30px;
}

.slider .flex-nav-prev a::before, 
.slider .flex-nav-next a::before, 
.slider .flex-control-paging a.flex-active::before {
    font-family: "Font Awesome 5 Free"; 
    font-weight: 900; 
    color: #ef592f;
}
.slider .flex-control-paging a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;  
    color: #dfdfdf;
}
.slider .flex-nav-prev a::before {
    content: "\f053";
    font-size: 40px;
    line-height: 40px;
}
.slider .flex-nav-next a::before {
    content: "\f054";
    font-size: 40px;
    line-height: 40px;
}
.slider .flex-control-paging a::before {
    content: "\f111";
    font-size: 15px;
    line-height: 30px;
}

/* 5. NAVIGATION                            */
.navigation .navbar-light .navbar-toggler {
    border-color: transparent;
    color: #939598;
}
.navigation .navbar-expand-lg .navbar-nav > li { 
    padding-right: 1.8rem;
}

.navigation .navbar-expand-lg .navbar-nav > li li { 
    border-bottom: 1px solid #fff;
}

.navigation .navbar-expand-lg .navbar-nav > li li a { 
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
	font-size: 15px;
	font-weight: 400;
	text-transform: none;
	line-height: 21px;
	padding-bottom: 13px;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 13px;
}



.navigation .navbar-light .navbar-nav a {
    color: #606060;
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
    letter-spacing: 1px;
}
.navigation .navbar-light .navbar-nav a:hover{
    color: #f15922;
    transition: .3s;
}
.navigation li.menu-item a{
    text-transform: uppercase;
    font-weight: bold;
}
.navigation .navbar-expand-lg li:last-child {
    padding-right:0;
}


.navigation .sidebar-header li ul {
    background: #f4f4f4;
    border-bottom: 1px solid #fff;
    border-left: 1px solid #f4f4f4;
    border-right: 1px solid #f4f4f4;
    left: -999em;
    position: absolute;
    width: 220px;
    z-index:1;
}
.navigation .sidebar-header ul.menu li li {
    font-weight: normal;
    letter-spacing: 0px !important;
    -moz-background-clip: border;
    -moz-background-inline-policy: continuous;
    -moz-background-origin: padding;
    border-left: 1px solid #ffffff;
    border-right: 1px solid #ffffff;
    border-top: 1px solid #ffffff;
    width: 220px;
    text-transform: none;
    margin-left: 0px;
}
.navigation .sidebar-header li li a {
    -moz-background-clip: border;
    -moz-background-inline-policy: continuous;
    -moz-background-origin: padding;
    color: #333;
	padding: 13px 20px;
    display: block
}
.navigation .sidebar-header li li a:hover, .navigation.sidebar-header li li a:active {
    -moz-background-clip: border;
    -moz-background-inline-policy: continuous;
    -moz-background-origin: padding;
	color: #333 !important;
    background: #dbdbdc;
}
.navigation .sidebar-header li li.current-menu-item a:hover {
    color: #fff !important;
}
.navigation .sidebar-header>ul li.current_page_item:not(.current-menu-ancestor)>a,
.navigation .sidebar-header>ul li.current-menu-item:not(.current-menu-ancestor)>a,
.navigation .sidebar-header ul.menu li.current_page_item:not(.current-menu-ancestor)>a,
.navigation .sidebar-header ul.menu li.current-menu-item:not(.current-menu-ancestor)>a {
    background: #f15922;
    color: #fff;
}
/* MT Correct Top level background issue */
.navigation .sidebar-header>ul > li.current_page_item > a {
	background-color:transparent!important;
	color: #25aae1 !important;	
}
.navigation .sidebar-header>ul li.current_page_item:not(.current-menu-ancestor)>a:hover>a,
.navigation .sidebar-header>ul li.current-menu-item:not(.current-menu-ancestor)>a:hover>a,
.navigation .sidebar-header ul.menu li.current_page_item:not(.current-menu-ancestor)>a:hover>a,
.navigation .sidebar-header ul.menu li.current-menu-item:not(.current-menu-ancestor)>a:hover>a {
    background: #f15922;
    color: #fff;
}
.navigation .sidebar-header li:hover ul,
.navigation .sidebar-header li li:hover ul,
.navigation .sidebar-header li li li:hover ul,
.navigation .sidebar-header li.sfhover ul,
.navigation .sidebar-header li li.sfhover ul,
.navigation .sidebar-header li li li.sfhover ul {
    left: auto;
}




/* 5B. MOBILE MENU                          */
.mobile-menu {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1;
    height: 100%;
    width: 80%;
    background-color: white;
    padding: 20px 0;
}
.mobile-menu li a {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);;
}
.mobile-menu li a.nav-link, .mobile-menu li span{
    font-family: Arial;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    display: block;
    margin-left: 50px;
    text-transform: none;
    line-height: 34px;
    font-size: 18px;
    font-weight: normal;
}

.mm-menu {
	background-color: #fff!important;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
}

.mm-menu .mm-listitem_opened > .mm-btn_next, .mm-menu .mm-listitem_opened > .mm-panel {
    background: rgba(255,255,255,1)!important;
}

.mm-menu  .mm-panel {
	padding-top: 20px!important;
	padding-bottom: 20px!important;
}

.mm-menu  .mm-panel a {
	-webkit-text-size-adjust: none;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	text-shadow: none;
}

.mm-listitem .mm-btn_next:not(.mm-btn_fullwidth) {
    width: 40px;
}

.mm-btn_next:after {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    right: 18px;
    left: auto;
}

/* 6. COMPONENTS                                 */

/* 6A. INTRO COMPONENT                      */
.intro {
    font-size: 20px;
    line-height: 1.3em;
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
    margin: 30px 0;
}
/* .intro-author {
    margin: 30px 0;
} */
.intro-author .team-item {
    margin: -20px 0 10px 10px;
    float: right;
}
.intro-author .team-media {
    margin-bottom: 0;
    padding-left: 0;
}
.intro-author .team-caption {
    text-align: center;
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif;   */
}
.intro-author .team-caption a {
    color: #fff;
    padding: 5px;
}
.intro-author .team-caption a i {
    padding-right: 5px;
}


/* 6B. SIDEBAR COMPONENT                    */
.sidebar-post-title {
    color: #F26724;
    margin: 20px 0;
}
.sidebar-posts {
    margin-top: 40px;
}
.sidebar .post-meta {
    font-size: 12px;
    line-height: 20px;
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
}
.sidebar .sidebar-post-list p {
    margin-top: 15px;
}
.sidebar .article-list .thumb {
    display: block;
    margin-bottom: 1.5rem;
}
/* should target all widget blocks in sidebars */
.article-single .sidebar li {
    padding-bottom: 40px;
}

/* 6B.2 SERVICE MENU SIDEBAR                    */
.sidebar-service-menu {
    margin-top: 15px;
    margin-bottom: 15px;
}
.sidebar-service-menu li {
    border-bottom: 2px solid #fff;
    padding: 10px 20px;
	cursor: pointer;
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
}
.sidebar-service-menu li:last-child {
    border-bottom: 0;
}
.sidebar-service-menu li:hover {
    background-color: #dbdbdc;
}
.sidebar-service-menu li a {
    color: #606060;
}
.sidebar-service-menu li a:hover {
    color: #13a89e;
}

.sidebar-service-menu .page_item_has_children {
	background-image: url('images/icons/icon-down.png');	
	background-position: top right;
	background-repeat: no-repeat;
}

.sidebar-service-menu .page_item_has_children.open, .sidebar-service-menu .page_item_has_children.current_page_item, .sidebar-service-menu .page_item_has_children.current_page_ancestor {
	background-image: url('images/icons/icon-up.png');	
	background-position: top right;
	background-repeat: no-repeat;
}

.sidebar-service-menu .children {
	display: none;
}

.sidebar-service-menu .page_item_has_children.open .children, .sidebar-service-menu .page_item_has_children.current_page_item .children, .sidebar-service-menu .page_item_has_children.current_page_ancestor .children {
	display: block;
}

/* 6B.3 SEARCH SIDEBAR                    */
.sidebar .search {
    max-width: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.single-post .sidebar .search {
/*	flex-direction: column;*/
}

.icon-svg-search:before {
    background-image: url('images/icons/icon-search.svg');
    font-size: 20px;
}
.search-wrapper .sidebar h4 {
    text-align: left;
}

/* 6B.4 PERSON CONTACT SIDEBAR            */
.sidebar-contact {
    margin-top: 40px;
}
.sidebar-contact h3 {
    margin-top: 0;
}
.sidebar-contact ul {
    padding: 0;
}
.sidebar-contact li {   
    margin-bottom: 10px;
    list-style-type: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.sidebar-contact li .fa,
.sidebar-contact li .fab {
    background-color: #606060;
    border-radius: 50%;
    color: white;
    padding: 5px;
    width: 40px;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}
/* need this to ensure the icon is always 40px width,
   in case the words to the right are long and squishing it */
.sidebar-contact li .fa::before,
.sidebar-contact li .fab::before {
    width: 40px;
    padding-left: 4px;
} 
/* should only be the linked in icon, it needs a little xtra padding */
.sidebar-contact li .fab::before {
    padding-left: 6px;
}


.sidebar-contact li p {
    margin-bottom: 0;
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
    padding-left: 20px;

    /* Ensure long bits of text wrap */
    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-all;
    word-break: break-all;
    word-break: break-word;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}
.sidebar-contact li p a:link {
    color: #606060;
}
.sidebar-contact li p a:hover {
    color: #F26724;
}

/* 6B.5 RELATED NEWS SIDEBAR              */
.news-sidebar-list h3.widget-title {
    border-top: 1px solid #c7c6c8;
    padding-top: 40px;
}
/* .news-sidebar-list .sidebar-default li:first-child h3 {
    border-top: none;
    padding-top: 0;
} */

/* 6B.6 PERSON REPORTS SIDEBAR            */
.sidebar-team-single .sidebar-post-list li {
    padding: 20px 0; 
}

/* 6B.7 REPORTS SEARCH SIDEBAR            */
.sidebar form.woocommerce-product-search {
    max-width: 100%;
    justify-content: flex-start;
}
.sidebar .widget_product_search .content h3 {
    display: none;
}




/* 6C. ARTICLE COMPONENT                    */
.article-list.list {
    /* ensure outer edges of grids line up perfectly */
    margin-left: -15px;
    margin-right: -15px;
}
.article-image {
    margin-bottom: 1rem;
}
.article-image img,
.article-featured .article-image {
    border-radius: 10px;
    width: 100%;
}
.article-title {
    font-size: 1.8em;
}
.article-title:hover {
    color: #13a89e;
}
.article-meta {
    font-size: 14px;
    margin: 15px 0;
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
}
.article-single {
    margin: 30px 0px 40px;
}
.article-single-title {
    margin: 30px 0;
}

/* 6D. ARTICLE FEATURED COMPONENT           */
.article-featured-outer {
    margin-left: calc(-50vw + 50%);
    width: 100vw;
    background-color: #f2f2f2;
}
.article-featured {
    /* padding: 40px 15px; */
}
.article-featured-title {
    font-size: 2.4em;
}
.article-featured .article-meta {
    font-weight: 600;
    font-size: 16px;
    line-height: 1.7em;
}
.article-featured .article-highlight p {
    font-size: 14px;
    line-height: 1.7em;
    margin-bottom: 0;
}

/* 6E. ARTICLE FEATURED OVERLAY COMPONENT   */
.article-featured-overlay {
    padding: 0 15px;
}
.article-featured-overlay .article-image {
    margin-bottom: 0;
    width: 100%;
}
.article-featured-overlay .article-overlay {
    position: relative;
    width: 100%;
}
.article-featured-overlay .article-highlight {
    background-color: rgba(0, 0, 0, .7);
    border-radius: 0 0 10px 10px;
    color: #fff;
    bottom: 0;
    left: 0;
    padding: 5px 10px 10px;
    position: absolute;
    right: 0;
}
.article-featured-overlay .article-featured-title {
    font-size: 20px;
}
.article-featured.article-featured-overlay .article-highlight p {
    line-height: 1.4rem;
    margin-bottom: 0.5rem;
}


/* 6F. SECTION COMPONENT                    */
.section {
    border-top: 1px solid #c7c6c8;
    margin-top: 40px;
    margin-bottom: 40px;
}
.section-title {
    margin: 40px 0;
}
.section .article-container {
    margin: 0 -15px;
}
.section .article-container li.article {
	margin-bottom: 40px;
}
.section .article-container li.article:last-child {
	margin-bottom: 0;
}

.section .article-container li.article img {
	border:1px solid #f9f9fa;
	width:100%;
}

/* 6F.2 TEAM LIST SECTION                       */
.section .team-item {
    margin-bottom: 40px;
}
.section .team-bg:after {
    max-height: 100%;
}
.section .team-list {
    margin: 0 -8px;
}


/* 6H. SEARCH FORM COMPONENTS                    */
#searchform input{
    margin-bottom: 0;
    max-width: 150px;
}
#searchform input {
    background-color: #dbdbdc;
    border-color: #dbdbdc;
    font-size: 14px;
    line-height: 1;
    display: inline-block;
}
#searchform  input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: white;
}
#searchform  input::-moz-placeholder { /* Firefox 19+ */
    color: white;
}
#searchform  input:-ms-input-placeholder { /* IE 10+ */
    color: white;
}
#searchform  input:-moz-placeholder { /* Firefox 18- */
    color: white;
}
#searchform .search-button-icon {
    display: none;
}
#searchform .icon-wrapper {
    position: absolute;
    top: 4px;
    left: 170px;   
}

#searchform .icon-wrapper:hover {
    cursor: pointer;  
}
#searchform i {
    /* position: absolute; */
    font-size: 20px;
    color: #dbdbdc;
    /* padding-left: 7px;
    top: 3px; */
}

.search-wrapper {
    background-color: #f9f9fa;
    padding: 40px 0
}
.search-wrapper h4 {
    text-align: center;
    margin-top: 0;
}

.search {
	text-align: center;
	margin: auto;
	/* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
	text-transform: uppercase;
	font-weight: bold;
}
.search-label {
    margin: 0 10% 20px 0;
}
.search-fields {
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-flow: wrap;
    width: 100%;
}

.search-fields-wide {
    flex-flow: nowrap;
}

.search-left {
    display: flex;
    width: 68%;
}

.search-right {
    display: flex;
}

.search-input, .news-search-input{
    border-width: 1px 1px 1px 0;
    height: 34px;
    padding: 5px;
    width:100%;
}

.blog .news-search-input{ 
    width:60%;/* MT */
}

.search-fields .d-flex {
	margin-bottom: 1em;
}


/* 6H.2 WOOCOMMERCE SEARCH FORM        */
.woocommerce-product-search {
    display: flex;
    align-items: center;
    justify-content: center;
}
.woocommerce.widget_product_search .content, .woocommerce-product-search {
    text-align: center;
    margin: auto;
}
.woocommerce.widget_product_search .content .search-field {
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
    /* text-transform: uppercase; */
    font-weight: bold;
    order: 2;
    width: 100%;
}


/* 6I. ICON COMPONENT                       */
[class^="icon-svg-"]:before,
[class*="icon-svg-"]:before {
    background-repeat: no-repeat;
    background-size: 100%;
    content: '';
    display: inline-block;
    height: 1em;
    width: 1em;
    vertical-align: middle;
}


/* 6J. BREADCRUMBS COMPONENT                */
.breadcrumbs {
    border-bottom: 1px solid #898789;
    margin: 20px 0;
    padding-bottom: 16px;
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif;  */
}
.breadcrumbs span {
    margin: 0 5px;
}
.breadcrumbs span:first-child {
    margin-left: 0;
}
.breadcrumbs a {
    color: #606060;
}
.breadcrumbs a:hover {
    color: #13a89e;
}


/* 6K. PAGINATION COMPONENT                 */
.pagination {
    color: #F26724;
    margin: 40px 0;
    text-align: center;
}
.pagination-list {
    margin: 0 auto;
}
.pagination-list .page-numbers {
    border: 1px solid #F26724;
    border-radius: 8px;
    padding: 0 14px;
    transition: all .3s ease;
    height: 40px;
    line-height: 40px;
    font-size: 24px;
    margin-top: 14px;
	display: inline-block;
}
.pagination-list .page-numbers:hover,
.pagination-list .current {
    background-color: #F26724;
    color: #fff;
}


/* 6L. BUTTON COMPONENT                     */
.btn {
    line-height: 1;
    text-transform: uppercase;
}
.btn:hover {
    background: transparent;
    background-color: #000;
    color: #fff;
    border-color: #000;
}
.btn-primary {
    background-color: #43A2C5;
    border-color: #43A2C5;
}
.btn-outline-primary {
    border-color: white;
    color: white;
}
.btn-secondary {
    background-color: white;
    border-color: black;
    color: black;
}
.btn-black {
    background-color: #000;
    border-color: #fff;
    color: #fff;
}
.btn-black:hover {
    background-color: #fff;
    color: #000;
}
.btn-search {
    background-color: #fff;
    border-color: #c7c6c8;
    border-radius: 0;
    height: 100%;
}
.btn-orange {
    background-color: #fff;
    border-color: #F26724;
    border-radius: 8px;
    color: #F26724;
    font-weight: 600;
    text-transform: uppercase;
}
.btn-orange-reverse {
    background-color: #F26724;
    color: #fff;
}

/* 6L.2. BUTTON CONTAINER                   */
.button-container {
    background-color: #f2f2f2;
    margin: auto;
    text-align: center;
}
.button-container .btn {
    width: 135px;
}

/* 6M. SERVICE LIST COMPONENT               */
.service-list {
    align-items: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    margin: 40px 0;
    margin-left: -8px;
    margin-right: -8px;
}
.service-list li {
    font-size: 15px;
    line-height: 1;
    padding: 0;
    position: relative;
    overflow: hidden;
    width: calc(100% / 2);
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif;  */
    border: 8px solid white;
}
.service-list li:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}
.service-inner {
    position: absolute;
    width: 100%;
    height: 100%;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    text-align: center;
    padding: 15px 5px 5px;
}
.service-icon {
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 65%;
    padding-bottom: 12px;
}
.service-inner .svg {
    width: 70px;
    height: 70px;
}
.service-inner .svg path{
    fill: white;
}
.service-hover {
    bottom: 0;
    padding: 0;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    display: none;
}
.contact .service-hover {
    display: none;
}
.service-hover-inner {
    background-color: rgba(0, 0, 0, 0.7);
    border: 1px solid #c7c6c8;
    border-top: 1px solid transparent;
    height: 100%;
    padding: 15px;
    text-align: center;
}
.service-list li:hover .service-hover {
    top: 0;
    bottom: 0;
}
.service-inner .service-title {
    color: #fff;
    height: 35%;
    font-weight: bold;
}
.service-hover .service-title {
    color: inherit;
    margin: 5px 0;
    font-size: 18px;
    margin: 0;
    height: 100%;
}
.service-list .service-description {
    color: #fff;
    font-size: 14px;
    margin-top: 5px;
}
.service-list .contact {
    color: white;
}
.contact .service-inner {
    background-color: black;
    border: 3px solid black;
}

/* HOVER STATES WHEN SERVICE_HOVER is DISABLED */
.service-inner:hover {
    background-color: white;
    color: black;
}
.service-inner:hover .svg path {
    fill: black;
}
.contact .service-inner:hover {
    background: none;
    background-color: white;
    color: black;
}
.contact .service-inner:hover .svg path {
    fill: black;
}
.contact .service-inner:hover .service-title{
    color: black;
}



/* mainly this set of classes is dealing with the hover states on the homepage */
/* 6N. LARGE SCREEN 8 WIDE SERVICES (overwrite of 6M.) */
.large-screen-8-wide .service-list {
    margin-top: 0;
}
.large-screen-8-wide .service-list li {
    border-color: #f2f2f2;
}
.large-screen-8-wide .service-inner .svg{
    width: 60px;
    height: 60px;
}
.large-screen-8-wide .service-inner .svg path {
    fill: white;
}
.large-screen-8-wide .service-hover {
    display: none;
}


/* 6P. WIDGET STYLING                       */
h3.widget-title {
    font-size: 1.2em;
    font-weight: bold;
    text-transform: uppercase;
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
    color: #606060;
}

/* 6Q. LARGE INTRO PARA ON SINGLE ARTICLES  */
.service-single .entry-content p:first-of-type,
.page-template-service-alt .entry-content p:first-of-type,
.single-case_study .entry-content p:first-of-type,
.single-product .entry-content div p:first-of-type,
.single-post .entry-content p:first-of-type,
.single-person .single-team-content p:first-of-type {
    font-size: 20px;
    line-height: 1.3em;
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
    margin: 30px 0; 
    color: black;
}

.single-case_study .article-image img, .single-case_study .article-featured .article-image {
	border-radius: 0;
}


/* 6R. CONTENT BACK BUTTON                  */
.single-case_study .entry-content {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid black;
}


/* 7. PAGES                                 */
/* 7A. GENERAL PAGE HEADER                  */
.page-header {
    line-height: 1.2;
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.page-header .page-title {
    font-size: 26px;
    font-weight: 600;
    text-transform: uppercase;
    color: #20a39b;
    font-weight: bold;
    margin: 0px 0 15px;
}
.page-header .page-description {
    font-size: 18px;
}

/* 7B. HOME PAGE                            */
.home .content h3 {
    color: #269385;
    font-size: 1.8em;
}
.home .content h3 .heading-intro {
    color: #969897;
    font-weight: bold;
}
.home .content h3.widget-title {
    color: #606060;
    font-size: 1.2em;
}

/* 7C. HOME CASE STUDIES LAYOUT             */
.case-study h5 {
    margin-top: 0;
}
.case-study:nth-child(1) {
    border-bottom: 2px solid #BDBEC0;
}
.case-study.with-image {
    background-size: cover;
    height: 250px;
    border: none;
}
.case-study.with-image .content {
    background: rgba(0,0,0,0.7);
    color: white;
    width: 100%;
}

/* Hides exerpt and read more link which is shown over the image */
.show-on-hover {
    /*opacity: 0;*/
    display: none;
}

/* Reveals the above on hover */
.has-hidden-content:hover .show-on-hover { 
    /*opacity: 1; */
    display: block;
}

div.has-hidden-content p, div.has-hidden-content a.show-on-hover {
    /*opacity: 0;*/
    display: none;
}

div.has-hidden-content:hover p, div.has-hidden-content:hover a { 
    display: inline;
}

/* 7C.2 HOME BLOG LAYOUT                    */
/* title of RSS blog post */
.home-blog-container li a.rsswidget {
    font-size: 1.25em;
    display: block;
    margin: 20px 0 10px;
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
}

/* 7D. SOCIAL MEDIA FEED  */
.social-feed .social-feed-image {
	margin-bottom: 40px;
}

.social-feed .social-feed-image .circle {
    border-radius: 50%;
    width: 100px;
    height: 100px;
    background-color: #43A2C5;
    margin: auto;
}
.social-feed .social-feed-image .circle .fab {
    font-size: 50px;
    color: white;
}
.social-feed .social-feed-content h4 {
    text-transform: none;
}
.social-feed .social-feed-content p {
    margin-bottom: 0;
}
.social-feed .social-feed-content a {
    color: #269385;
    font-weight: bold;
}
.social-feed .social-feed-content h5 {
    font-size: 1.1rem;
}
/* Twitter feed */
.social-feed .sidebar-home-twitter h2.widget-title {
    display: none;
}

/* LinkedIn feed */
.social-feed .sidebar-home-linkedin h2,
.social-feed .sidebar-home-linkedin #linkedin-item img,
.social-feed .sidebar-home-linkedin #linkedin-item span,
.social-feed .sidebar-home-linkedin #linkedin-item div h3 {
    display: none;
}


/* 7E. TEAM PAGE                            */
.team-list {
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
}
.team-item {
    padding: 0 8px;
    margin-bottom: 40px;
    width: calc(100% / 2);
}
.team-name {
    margin-bottom: 0;
}
.team-title {
    display: inline-block;
    font-size: 14px;
    line-height: 1.2;
    margin-top: 5px;
}
.team-media {
    margin-bottom: 10px;
}
.team-image {
    width: 100%;
}
.team-bg {
    position: relative;
}
.team-bg:after {
    content: '';
    background-color: #f3f3f4;
    bottom: 0;
    display: inline-block;
    height: 100%;
    left: 0;
    max-height: 90%;
    position: absolute;
    width: 100%;
    z-index: -1;
}



/* 7F. TEAM SINGLE PAGE                     */
.team-single-header.team-bg:after {
    background-color: transparent;
}
.team-single-header, .team-single-header-subtitle {
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
}
.team-single-header .team-name {
    font-size: 28px;
}
.team-single-header .team-title {
    font-size: 20px;
}
.team-single-header.team-bg:after {
    /* max-height: 75%; */
}
.team-media {
    text-align: center;
    margin: auto;
    background: #ffffff; /* Old browsers */
    background: -moz-linear-gradient(top, fffff 15%, #f3f3f4 15%, #f3f3f4 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #ffffff 15%,#f3f3f4 15%,#f3f3f4 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #ffffff 15%,#f3f3f4 15%, #f3f3f4 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f3f3f4',GradientType=0 ); /* IE6-9 */
    padding-left: 20%;
}
.team-single-header .team-image{
    width: 80%;
}
.team-single-header-subtitle {
    color: #fff;
    font-size: 32px;
    line-height: 1.3em;
    padding: 20px;
}
.single-team-content {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid black;
}
.single-team-content ul,.single-team-content ol, .page-template-default .entry-content ul, .page-template-default .entry-content ol, .page-template .entry-content ul, .page-template-default .entry-content ol {
	margin-bottom: 1rem;
}
.single-team-content ul li, .single-team-content ul li, .page-template-default .entry-content ul li, .page-template .entry-content ul li  {
    position: relative;
    padding-left: 1.3em;
}
.single-team-content ul li:before, .single-team-content ul li:before, .page-template-default .entry-content ul li:before, .page-template .entry-content ul li:before {
    content: '> ';
    position: absolute;
    left: 0;
    top: -1px;
    color: #f15922;
}

.page-template-default .entry-content ol li, .page-template .entry-content ol li {
    position: relative;
    margin-left: 1.3em;	
	list-style: decimal;
}

.team-back-button a {
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
}
.team-back-button a i{
    color: #c7c6c8;
    padding-right: 10px;
}


/* 7G. CASE STUDIES PAGE                    */
.case-studies .article-image,
.case-studies .article-image img {
    border-radius: 0;
	width:100%;
}
.case-studies .page-description {
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
}


/* 7H. REPORTS PAGE                         */

.post-type-archive-product .article-image,
.post-type-archive-product .article-image img, 
.single-product .article-image,
.single-product .article-image img {
    border-radius: 0;
	border:1px solid #f9f9fa;
}
.post-type-archive-product .article-report-date, 
.single-product .article-report-date {
    border-bottom: 1px solid #000;
    font-size: 20px;
    margin-bottom: 15px;
    padding-bottom: 15px;
}
.post-type-archive-product .article-list li a {
    color: black;
}
.post-type-archive-product .article-list li .authors a {
    color: #F26724;
}
.post-type-archive-product .article-featured .btn,
.post-type-archive-product .article-list .btn,
.single-product .article-single .btn {
    padding: 10px 25px;
}
.post-type-archive-product .woocommerce-refine {
    padding-left: 15px;
    padding-right: 15px;
}
.post-type-archive-product .article-featured .article-highlight p {
    margin-bottom: 1rem;
}
.post-type-archive-product .article-featured .article-highlight .article-meta p {
    margin-bottom: 0;
}
.single-product .article-single {
    margin-top: 0;
}
.single-product .price .btn-orange:hover {
    background-color: inherit;
    border-color: #F26724;
    color: #F26724;
}
.single-product .entry-content ul, .single-product .entry-content ol, .page-template-service-alt .entry-content ul, .page-template-service-alt .entry-content ol , .single-case_study .entry-content ul, .single-case_study .entry-content ol  {
	margin-bottom: 1rem;
}
.single-product .entry-content ul li, .page-template-service-alt .entry-content ul li, .single-case_study .entry-content ul li {
    position: relative;
    padding-left: 1.3em;
}
.single-product .entry-content ul li:before, .page-template-service-alt .entry-content ul li:before, .single-case_study .entry-content ul li:before {
    content: '> ';
    position: absolute;
    left: 0;
    top: -1px;
    color: #f15922;
}

/* 7I. SERVICE PAGE                         */
.service-page .service-title {
    display: inline-block;
}
.service-page .service-title:hover {
    text-decoration: none;
}

.service-single .combined-cs-rep li.article {
    padding-top: 1.5rem !important;
}

/*.service-single .combined-cs-rep li.article img.wide-cs {
    height: 305px;
    width: auto;
}*/

.service-single .combined-cs-rep .article-title, .service-single .combined-cs-rep h5 {
    font-size: 1.5em;
}


/* 7J. SERVICE SINGLE PAGE                  */
.service-single .page-header .service-inner {
    border: none;
    width: auto;
}
.service-single .page-header .service-inner .svg {
    width: 50px;
    height: 50px;
}
.service-single .page-header .service-inner-wrapper {
    width: 120px;
    height: 120px;
}
.service-single .page-header .service-inner:hover .svg path {
    fill: white;
}
.service-single .page-header .service-inner:hover .service-title {
    color: white;
}
.service-single .page-header .service-inner .service-inner-wrapper {
    padding: 20px;
}
.service-single .page-description {
    margin-left: 30px;
}
.service-single .page-title .service-title {
    font-size: 14px;
    text-transform: none;
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
}
.service-single .article-image img {
    border-radius: 0;
}
.service-single .service-list {
    margin-bottom: 0;
}

.service-single .service-list .contact {
    color: white;
}

.service-single .service-inner:hover {
    background-color: white;
    color: black;
}
.service-single .contact .service-inner:hover {
    background: none;
    background-color: white;
}
.service-single .contact .service-inner:hover .svg path {
    fill: black;
}
.service-singlee .contact .service-inner:hover .service-title{
    color: black;
}

.combined-rep-title {
    display: none;
}

/* 7L. MEDIA PAGE                     */
.page-template-media .article-highlight p {
    margin-bottom: 1rem;
}

.media-second-row-highlight-txt {
    margin-top: 30px;
}


/* 7M. TOOLS PAGE                           */
/* MT Tools Grid */
.tools-grid:before, .tools-grid:after {
    content: "";
    display: table;
}  

.tools-grid:after {
    clear: both;
}

.tools-grid:before, .tools-grid:after {
    content: "";
    display: table;
}

.tools-grid {
    clear: both;
    margin-bottom: 1.5em;
}

.tools-grid .item {
	box-sizing: border-box;
    display: block;
    float: left;
    width:100%;
	background-color: #333;
	background-repeat: no-repeat;
	background-size:cover;
    color: #fff;
    height:220px;
	margin-bottom:20px;	
	/*margin-right:20px;*/
	position:relative;		
}

/*.tools-grid .item:nth-child(even){
    margin-right: 0px;
}*/

.tools-grid .item .inner {
	height:100%;
	width:100%;
	padding:0!important;
	background-image: url("images/grad-overlay.png");
	background-repeat: no-repeat;
	background-size:cover;
}

.tools-grid .item .inner .top {
	height:40px;
	
	padding-top:12px;
	padding-left:16px;
	padding-right:16px;	
}

.tools-grid .item .inner .bottom {
	padding-top:30px;
	padding-left:16px;
	padding-right:16px;	
	text-align:center;
}

.tools-grid .item .inner:hover {
	background-color:rgba(0,0,0,0.7);
	background-image:none;
}

.tools-grid .item .inner:hover .bottom {
	display:none;
}

.tools-grid .item .inner:hover .bottom-over {
	display:block!important;
	padding-left:16px;
	padding-right:16px;	
}

.tools-grid .item .inner:hover .bottom-over p {
	/* font-family: "Effra","Helvetica Neue",Helvetica,Arial,sans-serif; */
	font-size:13px;
    line-height:1.25!important;
	height:95px;
}

.tools-grid .item .inner:hover .bottom-over-cta {
	line-height:auto;
	text-align:center;
	font-size:14px;
}

.tools-grid .item .inner:hover .bottom-over-cta a {
	background-color:#fff;
	color:#ff6633!important;
	display:inline-block;
	text-transform:uppercase;
	border: 2px solid #ff6633;
	border-radius:2px;
	/* font-family: "Effra","Helvetica Neue",Helvetica,Arial,sans-serif; */
	font-size:14px;
    font-weight:bold;
	padding:5px 7px;
}


.tools-grid .item h2 {
    /* font-family: "Effra","Helvetica Neue",Helvetica,Arial,sans-serif;      */
	font-size: 16px;
	font-weight:700;
} 

.tools-grid .item a {
	 color: #fff!important;
}

/* 7N. RESULTS PAGE                         */
.search.search-results, .search.search-no-results {
    max-width: 100%;
    display: block;
    text-align: left;
    text-transform: none;
    font-weight: normal;
}
.search.search-results .teasers li .content {
    border-top: 1px solid #c7c6c8;
    margin-top: 30px;
    padding-top: 20px;
}

/* 7O. NEWS PAGE                            */

/* The following CSS crrates a consistant CSS style for the two search filter buttons */

.search-select {
    
    border-radius: 0;
        border: 1px solid #c7c6c8;
        font-weight: 100;
        width:130px;
    
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #efefef;
    /*border: none;
    border-radius: 3px; */
    font-size: 1em;
    line-height: 1.4em;
}

.select-container {position:relative; display: inline;}
.select-container:after {content:""; width:0; height:0; position:absolute; pointer-events: none;}
.select-container:after {
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    top: .9em;
    right: .75em;
    border-top: 8px solid black;
    opacity: 0.5;
}

.select-container-sidebar:after {
    top: .5em;
}

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

/* End of search filter button styling */

 
/* 8. FOOTER                                */
footer {
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
    color: white;
}
footer ul li {
    list-style-type: none;
}

/* 8A. NEWSLETTER FOOTER */
.newsletter h3{
    font-weight: bold;
    font-size: 1.8em;
}
.newsletter-container p {
    font-size: 1.6em;
    line-height: 1.2em;
    letter-spacing: 1px;
    /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
}
.newsletter .signup-button {
    text-align: center;
}
.newsletter .signup-button button {
    width: 150px;
    padding: 15px;
    border-radius: 30px;
}

/* 8B. SOCIAL MEDIA */
footer .social-media .btn-lg {
    font-size: 3rem;
    width: 33%;
}
footer .social-media button.contact {
    width: 100%;
    padding: 15px;
    margin-top: 15px;
}
.social-media-container a {
    color: #fff;
}
footer .social-media-icons {
    max-width: 250px;
    margin: auto;
}
footer .social-media-icons .fab {
    color: white;
}


/* 8C. NEWSLETTER FOOTER */
.popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10001
}
.popup .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #13a89e;
    background-color: rgba(19, 168, 158, 0.9)
}
.popup .content-wrapper {
    position: absolute;
    background-color: #fff;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    -moz-box-shadow: 0 0 18px rgba(0, 0, 0, 0.4);
    -webkit-box-shadow: 0 0 18px rgba(0, 0, 0, 0.4);
    box-shadow: 0 0 18px rgba(0, 0, 0, 0.4)
}
.popup.open {
    display: block
}
.popup .content {
    position: relative;
    padding: 40px
}
.popup .close {
    position: absolute;
    width: 40px;
    height: 40px;
    line-height: 30px;
    text-align: center;
    display: block;
    top: 20px;
    right: 20px;
    color: #fff !important;
    background-color: transparent;
    border: 1px solid #fff;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    border-radius: 20px;
    font-size: 40px;
    font-size: 4rem
}
.popup .close:hover {
    background-color: #fff;
    color: #13a89e !important
}
.popup .content-wrapper {
    width: 90%;
    left: 5%;
    height: 90%;
    top: -740px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow-y: auto;
    line-height: 2.14286
}
.popup .content-wrapper.open {
    top: 5%
}

/* 8D. END FOOTER (COPYRIGHT) */
footer .end-footer {
    border-top: 1px solid white;
}
footer .end-footer-container ul {
    padding-left: 0;
    margin-bottom: 0;
}
footer .end-footer-container ul li {
    display: inline-block;
    padding-right: 10px;
}
footer .end-footer-container ul a {
    color: white;
}


/* 20. MEDIA QUERIES                        */

/* Extra small devices (portrait phones, less than 576px)
   Have no media query since this is the default in Bootstrap */

/* 20AAA.  V SMALL MOBILES - min 280px        */
@media (min-width: 280px) { 

    /* 6H. SEARCH FORM COMPONENTS               */
 
    .search-input {
        width: 76%;
    }

    .search-left {
        width:100%;
    }

    .search-right {
        margin-top: 10px;
    }

    .search-select {
        width: 100px;
    }
	
	.single-post .search-select {
		margin-top:5px;
	}
	
	.woocommerce.widget_product_search .content .search-field {
		width:70%;
	}

}



/* 20AA.  SMALL MOBILES - min 475px        */
@media (min-width: 475px) { 

    .search-select {
        width: 108px;
    }
	
	.single-post .search-select {
		margin-top:5px;
	}

    /* 6M. SERVICE LIST COMPONENT            */
    .service-list li {
        font-size: 22px;
    }
    .service-inner .svg {
        width: 85px;
        height: 85px;
    }
    .service-hover .service-description{
        margin-top: 10px;
    }

	.woocommerce.widget_product_search .content .search-field {
		width:90%;
	}

        /* 7M. TOOLS PAGE ELEMENTS */

     .tools-grid .item {
        width: 47%;
        margin-right: 20px;
    }

    .tools-grid .item:nth-child(even){
        margin-right: 0px;
    }

    /* 7M. TOOLS PAGE ELEMENTS */

    /*.tools-grid .item {
        width: 29%;
    }

    .tools-grid .item:nth-child(even){
        margin-right: 20px;
    }

    .tools-grid .item:nth-child(3n){
        margin-right: 0px;
    }*/

}


/* 20A. SMALL DEVICES - min 576px           */
@media (min-width: 576px) { 
    /* 2. BOOTSTRAP LAYOUT TWEAKS               */
    .container-fluid .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    /* 6F. SECTION COMPONENT                    */
    section .team-item {
        /* width: calc(100% / 3); */
    }

    /* 6M. SERVICE LIST COMPONENT               */
    .service-list li {
        font-size: 24px;
    }
    .service-inner .svg {
        width: 100px;
        height: 100px;
    }
    .service-hover {
        display: block;
    }
    .service-hover .service-title {
        font-size: 24px;
    }
    .service-hover .service-description {
        font-size: 16px;
    }

    /*8. FOOTER  */
    footer .end-footer-container ul {
        text-align: right;
    }
    footer .end-footer-container ul li{
        padding-right: 0;
        padding-left: 15px;
    }
}


/* 20B. MED DEVICES - min 768px             */
@media (min-width: 768px) { 

    /* 4. SLIDERS                         */
    .home-slider {
        height: 350px;
    }

    
    .slides .inner {
        height: 350px;
    }

    .slider .flex-nav-prev a::before, .slider .flex-nav-next a::before {
        display: block;
    }
    .single-slide h2 {
        font-size: 2.5rem;
        border-bottom: none;
        width: 50%;
        padding-right: 5%;
        margin-bottom: 0;
        padding-bottom: 0;
        border-right: 2px solid white;
    }
    .single-slide p {
        width: 50%;
        display: block;
        padding-left: 10%;
        margin-bottom: 0;
        /* font-family: "Effra", "Helvetica Neue", Helvetica, Arial, sans-serif; */
        font-size: 1.6em;
        line-height: 1.2em;
        letter-spacing: 1px;
    }
    

    /* 6B. SIDEBAR COMPONENT                    */
    .sidebar-contact {
        margin-top: 30px;
    }

    /* 6C. ARTICLE COMPONENT                    */
    .article-single {
        margin-top: 40px;
    }
    .article-single .col-9 {
        flex-basis: 75%;
        max-width: 75%;
    }
    .article-single .col-3 {
        flex-basis: 25%;
        max-width: 25%;
    }


    /* 6D. ARTICLE FEATURED COMPONENT           */
    .article-featured {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: flex-start;
    }
    .article-featured-title {
        margin-top: 0;
        font-size: 3em;
    }
    .article-featured .article-highlight,
    .article-featured .article-image {
        width: 50%;
    }
    .article-featured .article-image {
        margin-bottom: 0;
    }
    .article-featured .article-highlight {
        padding-left: 25px;
    }
    .article-featured-overlay .article-highlight,
    .article-featured-overlay .article-image {
        width: 100%;
    }

    /* 6E. ARTICLE FEATURED OVERLAY COMPONENT   */
    /* .article-featured-overlay .article-highlight {
        padding: 20px 20px;
    }
    .article-featured.article-featured-overlay .article-highlight p {
        margin-bottom: 1rem;
    } */

    /* 6H. SEARCH FORM COMPONENTS               */
    .woocommerce-product-search {
        max-width: 80%;
    }
    .search-label {
        margin-bottom: 0;
    }
	.search {
        max-width: 80%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
    }
    .search-input {
        width: 73%;
    }

    /* 6H.2 WOOCOMMERCE SEARCH FORM             */
	.post-type-archive-product .sidebar form.woocommerce-product-search {
        max-width: 80%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
    }

    /* 6M. SERVICE LIST COMPONENT               */
    .service-inner {
        padding-top: 10px;
    }
    .service-icon {
        height: 60%;
        padding-bottom: 6px;
    }
    .service-list li {
        width: calc(100% / 4);
        margin-bottom: 0;
        font-size: 18px;
    }
    .service-inner .svg {
        width: 70px;
        height: 70px;
    }
    .service-hover .service-title {
        font-size: 24px;
    }
    .service-hover .service-description {
        font-size: 14px;
    }
    .service-hover-inner {
        padding: 8px;
    }

    /* 6N. HOMEPAGE SERVICES (overwrite of 6M.) */
    .eunomia-icons > div {
        width: 12.5%;
        height: 150px;
        border: #f2f2f2 solid 0.5rem;
        padding: 1rem;
        display: inline-block;
    }
    .eunomia-icons > div:nth-child(odd) {
        border: #f2f2f2 solid 0.5rem;
    }
    .eunomia-icons > div:nth-child(even) {
        border: #f2f2f2 solid 0.5rem;
    }
    .eunomia-icons > div:first-child {
        border-left: none;
    }
    .eunomia-icons > div:last-child {
        border-right: none;
    }

    /* 7. PAGES                                 */
    /* 7A. GENERAL PAGE STYLES                  */
    .page-header {
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
    .page-header .page-title {
        margin-bottom: 0;
        width: 30%;
        font-size: 30px;
    }
    .page-header .page-description {
        border-left: 3px solid #c7c6c8;
        padding-left: 10%;
        width: 70%;
    }


    /* 7B. HOME PAGE                            */
    .home .home-intro.bg-grey {
        background-color: white;
    }
    .home .home-intro h3 {
        font-size: 1.6em;
        line-height: 1.2em;
        letter-spacing: 1px;
        text-align: center;
    }


    /* 7C. HOME CASE STUDIES LAYOUT             */
    .case-study.with-image {
        height: 350px;
    }    

    /* 7E. TEAM PAGE                            */
    .page-template-our-people .search {
        max-width: 100%;
    }
    .page-template-our-people .search-label {
        flex-basis: 30%;
        margin-right: 0;
    }
    .page-template-our-people .search-fields {
        flex-basis: 70%;
    }


    /* 7F. TEAM SINGLE PAGE              */
    .team-item {
        width: calc(100% / 4);
    }
    .team-single-header-copy-wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: -50px; 
        background: #ffffff; /* Old browsers */
        background: -moz-linear-gradient(top, fffff 20%, #f3f3f4 20%, #f3f3f4 100%); /* FF3.6-15 */
        background: -webkit-linear-gradient(top, #ffffff 20%,#f3f3f4 20%,#f3f3f4 100%); /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to bottom, #ffffff 20%,#f3f3f4 20%, #f3f3f4 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f3f3f4',GradientType=0 ); /* IE6-9 */
    } 
    .team-single-header-body .page-title {
        margin-bottom: 0;
    }
    .team-media {
        background: transparent;
    }
    .team-single-header-subtitle {
        padding: 20px 60px;
    }

    .team-single-header-content {
        align-self: center;
        padding-left: 60px;
    }
    .team-single-header .team-image{
        width: auto;
        max-height: 360px;
    }


    /* 7H. REPORTS PAGE                         */
    /* .reports-page .article-report-date, 
    .single-reports-page .article-report-date {
        font-size: 24px;
    } */

    /* 7I. SERVICE PAGE                         */
    .service-page .service-title {
        font-size: 18px;
    }
    .service-single .page-description {
        margin-left: 0px;
    }

    /* 7J. SERVICE SINGLE PAGE                  */
    .service-single .page-header .service-inner {
        width: 30%;
    }

    .service-single .container-fluid {
        padding-bottom: 3rem !important;
    } 

    .combined-rep-title {
        display: block;
    }

    .service-single .combined-cs-rep li.article img.wide-cs {
        height: 181px;
        width: auto;
    }



    /* 7K. NEWS SINGLE PAGE                     */
    /* .news-single .sidebar .sidebar-block:first-child{
        padding-top: 0;
    }
    .news-single .sidebar .sidebar-block:first-child h4{
        border-top: none;
        padding-top: 0;
        margin-top: 0;
    } */


    /* 8. FOOTER                         */
    footer .social-media .btn-lg {
        padding: 0.5rem;
        font-size: 2rem;
    }
}

/* 20B.2 MED DEVICES - min 820px             */
@media (min-width: 820px) { 

    /* 4B. SLIDERS NAVIGATION                    */
    .slider .flex-direction-nav {
        padding: 0 2%;
    } 
    .slider .flex-nav-prev a, .slider .flex-nav-next a {
        height: 50px;
    }
    .slider .flex-nav-prev a::before, .slider .flex-nav-next a::before {
        font-size: 50px;
        line-height: 50px;
    }
}


/* 20C. LARGE DEVICES - min 992px           */
@media (min-width: 992px) { 

    /* 4B. SLIDERS NAVIGATION                    */
    .slider .flex-direction-nav {
        padding: 0;
    } 
    .slider .flex-nav-prev a, .slider .flex-nav-next a {
        height: 40px;
    }
    .slider .flex-nav-prev a::before, .slider .flex-nav-next a::before {
        font-size: 40px;
        line-height: 40px;
    }

    
    /* 6M. SERVICE LIST COMPONENT               */
    .service-icon {
        height: 65%;
        padding-bottom: 12px;
    }
    .service-inner .svg {
        width: 100px;
        height: 100px;
    }
    .service-page .service-title {
        font-size: 24px;
    }
    .service-hover {
        bottom: 0;
        padding: 0;
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
    }
    .service-hover .service-title {
        font-size: 18px;
    }
    .service-hover .service-description {
        font-size: 15px;
    } 
    .service-hover-inner {
        padding: 15px;
    }


    /* 6N. LARGE SCREEN 8 WIDE SERVICES (overwrite of 6M.) */
    .large-screen-8-wide .service-list li, .large-screen-8-wide .service-list .contact .btn {
        font-size: 14px;
    }
    .large-screen-8-wide .service-list li {
        width: calc(100% / 8);
    }
    .large-screen-8-wide .service-icon {
        padding-bottom: 6px;
    }
    .large-screen-8-wide .service-inner {
        padding-top: 0px;
    }
    .large-screen-8-wide .service-inner .svg {
        width: 40px;
        height: 40px;
    } 

    /* 7J. SERVICE SINGLE PAGE  */

    .service-single .combined-cs-rep li.article img.wide-cs {
        height: 253px;
        width: auto;
    }

    /* 7M. TOOLS PAGE ELEMENTS */

     .tools-grid .item {
        width: 30%;
    }

     .tools-grid .item:nth-child(even){
        margin-right: 20px;
    }

     .tools-grid .item:nth-child(3n){
        margin-right: 0px;
    }


    /* 7C.2 HOME BLOG LAYOUT                    */
    .home-blog-container .content ul {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        margin-left: -15px;
        margin-right: -15px;
    }
    .home-blog-container .content ul li {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;

        padding-left: 15px;
        padding-right: 15px;
    }
    /* 7E. TEAM PAGE                            */
    .page-template-our-people .search {
        max-width: 80%;
    }
    /* .page-template-our-people .search-label {
        flex-basis: 30%;
    }
    .page-template-our-people .search-fields {
        flex-basis: 70%; */
    /*}*/

    /* 7I. SERVICE PAGE                         */

    /* COMMENTED OUT 16-10-18 - SERVICE ICONS NOW WRAP TO TWO ON SMALLER SCREENS */
    /*.service-page .service-list li {
        width: calc(100% / 4);
    }*/

    /* 8. FOOTER                         */
    footer .social-media .btn-lg {
        padding: 0.5rem;
        font-size: 2.5rem;
    } 

}

/* 20C.2 MED DEVICES - min 1100px             */
@media (min-width: 1100px) { 

    /* 4B. SLIDERS NAVIGATION                    */
    .slider .flex-direction-nav {
        padding: 0 0.5%;
    } 
    .slider .flex-nav-prev a, .slider .flex-nav-next a {
        height: 50px;
    }
    .slider .flex-nav-prev a::before, .slider .flex-nav-next a::before {
        font-size: 50px;
        line-height: 50px;
    }
}



/* 20D. X LARGE DEVICES - min 1200px        */
@media (min-width: 1200px) {

    /* 4. SLIDERS                         */
    .single-slide h2 {
        width: 30%;
    }
    .single-slide p {
        width: 70%;
    }

    /* 4B. SLIDERS NAVIGATION                    */
    .slider .flex-direction-nav {
        padding: 0 1%;
    } 

    /* 6H. SEARCH FORM COMPONENTS               */
 
    .search-input {
        width: 77%;
    }

    .search-left {
        width:68%;
    }

    .search-right {
        margin-top: 0px;
    }


    /* 6M. SERVICE LIST COMPONENT               */
    .service-hover .service-title {
        font-size: 24px;
    }
    .service-hover .service-description {
        font-size: 18px;
    } 

    /* 6N. LARGE SCREEN 8 WIDE SERVICES (overwrite of 6M.) */
    .large-screen-8-wide .service-inner {
        padding-top: 10px;
    }
    .large-screen-8-wide .service-inner .svg {
        width: 50px;
        height: 50px;
    }

     /* 7J. SERVICE SINGLE PAGE  */

    .service-single .combined-cs-rep li.article img.wide-cs {
        height: 305px;
        width: auto;
    }

    /* 8. FOOTER                         */
    footer .social-media .btn-lg {
        padding: 0.5rem 1rem;
        font-size: 3rem;
    }

}


/* 20E.2 X LARGE DEVICES - min 1300px        */
@media (min-width: 1300px) {

    /* 4B. SLIDERS NAVIGATION                    */
    .slider .flex-direction-nav {
        padding: 0 02%;
    } 
}
