/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

* {
  box-sizing: border-box;
}

body {
	font-size: 1rem;
}

/* main nav */
.site-header {
    border-bottom: 4px solid #8D9194;
    height: 60px;
}
.inside-header .main-navigation {
    padding: 0 40px;
    margin-top: -25px;
}
.main-navigation .main-nav ul li a {
    line-height: 0px;
}
#menu-primary-nav li a {
	text-transform: uppercase;
}
.main-navigation ul ul {
    background-color: var(--base);
}
.mobile-menu-control-wrapper .menu-toggle, .mobile-menu-control-wrapper .menu-toggle:hover, .mobile-menu-control-wrapper .menu-toggle:focus, .has-inline-mobile-toggle #site-navigation.toggled {
    background-color: transparent;
}
.menu-toggle {
    padding: 0 20px;
    line-height: 30px;
}
.slideout-menu li a {
	  font-size: 20px;
    padding: 20px 0;
}
span.dropdown-menu-toggle {
	  margin-top: -5px;
}

/* hero */
.home .inner-hero-text {
  padding: 17%;
}
.inner-hero-text #inner-hero-content {
	  padding: 5%;
}
.inner-hero-text #inner-hero-content h2 {
	  text-transform: uppercase;
}
#home-hero-content {
    position: absolute;
    width: 580px;
    display: block;
    top: 170px;
    right: 20%;
}
#home-hero-content h2 {
    text-transform: uppercase;
    font-size: 2.5rem;
    border-bottom: 3px solid #CDCCCE;
    padding-bottom: 20px;
    text-align: right;
    font-weight: 700;
}
#home-hero-content div {
    text-align: right;
    font-size: 2rem;
    line-height: 2.5rem;
    font-weight: 400;
}

/*h1.entry-title {
    padding-left: 10px;
    color: #F9A351;
    font-size: 1.4rem;
    text-transform: uppercase;
    margin-top: 30px;
    border-left: solid 100px #F9A351;
    font-weight: 500;
    line-height: 30px;
}*/
h1.entry-title,
article h2 {
    padding-left: 10px;
    color: #F9A351;
    font-size: 1.4rem;
    text-transform: uppercase;
    margin-top: 30px;
    border-left: solid 88px #F9A351;
    font-weight: 500;
    line-height: 15px;
}
article h3 {
	  text-transform: uppercase;
	font-size: 1.2rem;
	font-weight: 700;
	border-bottom: solid #F9A351 3px;
	padding-bottom: 15px
}

/* rollover boxes */
.home-featured {
    margin-bottom: -10px;
    margin-top: 20px;
}
div.home-featured .vc_column_container {
	padding: 0 6px;
}
.home-featured .vc_column_container>.vc_column-inner {
    padding: 0;
}
.home-featured .project-item h3 {
    border-bottom: none;
}

.page-id-31 .client {
	  max-height: 280px;
	  margin-bottom: 10px;
	  display: flex;
}
.page-id-31 .client .image {
    position:relative;
}
.page-id-31 .client .text {
    left: 0;
    position:absolute;
    text-align:center;
    top: 180px;
    width: 100%
}
.page-id-31 .client .text h2 {
	  font-size: 1.2rem;
    border-left: none;
    color: #fff;
    font-weight: 700;
}
.page-id-31 .client .text p {
	  color: #fff;
}

/* Clients */
.client-box {
  margin: 0 auto;
  max-width: 600px;
  background-repeat: no-repeat !important;
	background-position: center !important;
	width: 100%;
}
.client-box .overlay {
  background: rgba(0, 0, 0, 0.5);
  min-height: 300px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.client-box .overlay:hover {
  /*background: #676D73;*/
}
.client-box .overlay .flexer {
  align-self: flex-end;
}
.client-box .overlay .flex-bottom {
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
  width: 100%;
}
.client-box .overlay .flex-bottom h3 {
  color: #fff;
  font-size: 1.5rem;
	border-bottom: none;
  font-weight: 500;
  margin: 0;
  text-align: center;
}
.client-box .overlay .flex-bottom .other-words {
  text-align: center;
  color: white;
  margin-top: 0x;
}
.client-box .overlay .flex-bottom .other-words a {
	  color: #fff;
	  text-decoration: none;
}

/* Projects */
.category-filters {
    padding: 0 15px 20px 15px;
}
a.filter-btn {
    margin: 2px;
	text-decoration: none;
	color: #000;
	text-transform: uppercase;
	font-size: 16px;
}
a.filter-btn:hover, a.filter-btn.active {
    color: #F9A351;
	text-decoration: underline;
}
.projects {
    margin-bottom: 30px !important;
}
.project-item {
  margin: 0 auto;
  max-width: 500px;
	background-position: center !important;
}
.project-item .overlay {
  background: rgba(0, 0, 0, 0.7); /*rgba(255, 255, 255, 0);*/
  min-height: 200px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home .project-item .overlay {
  background: rgba(0, 0, 0, 0.7);
}
.project-item .overlay:hover {
  /*background: #676D73;*/
  background: rgba(0, 0, 0, 0.7);
}
.project-item .overlay .flexer {
  align-self: center;
}
.project-item .overlay .flex-bottom {
  align-items: center;
  justify-content: center;
  width: 100%;
}
.project-item a {
	  text-decoration: none;
	  border-bottom: none;
	  color: #fff;
}
.project-item .overlay .flex-bottom h3 {
  color: rgba(255, 255, 255, 1);
  font-size: 1.2rem;
  font-weight: 500;
  margin: 0;
  text-align: center;
	margin: 0 20px;
}
.home .project-item .overlay .flex-bottom h3 {
  color: rgba(255, 255, 255, 1);
}
.project-item .overlay:hover .flex-bottom h3 {
  color: rgba(255, 255, 255, 1);
}
body.project-template-default .featured-image {
    display: none;
}

.separate-containers .site-main {
    margin: 0;
}
.inside-article {
    padding-top: 0;
}
.entry-content {
	  margin-top: -50px;
}
.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .separate-containers .paging-navigation {
    padding: 40px 40px 0 40px;
}
.certification .vc_single_image-wrapper {
    height: 150px;
    display: flex;
    align-items: center;
}

.inside-footer-widgets {}
.inside-footer-widgets h2 {
    border-left: none;
    text-decoration: underline;
	  color: #ffffff;
	  text-transform: uppercase;
	  font-size: 1.2rem;
	  margin-bottom: 0;
}
.inside-footer-widgets p {
	  line-height: 1.2rem;
}
.inside-footer-widgets a {
	  text-decoration: none;
}
.inside-footer-widgets ul li {
	  margin-bottom: 0;
}

/* BREAKPOINTS */

/*--- Mobile portrait ---*/
@media only screen and (min-width : 320px) and (max-width : 480px) {
	  .menu-toggle {
        padding: 0;
        line-height: 30px;
        margin-top: -70px;
    }
    #home-hero-content {
        position: absolute;
        width: 250px;
        display: block;
        top: 160px;
        right: 10%;
    }
    #home-hero-content h2 {
        font-size: 1rem;
    }
    .home .page-hero {
        margin-bottom: 25px;
        min-height: 245px;
    }
    #home-hero-content div {
        font-size: 1.5rem;
        line-height: 1.5rem;
        font-weight: 700;
    }
    #inner-hero-content h2 {
        font-size: 25px;
        padding-top: 30px;
    }
    .certification .vc_single_image-wrapper {
        text-align: center;
    }
}

/*--- Mobile landscape ---*/
@media only screen and (min-width : 480px) and (max-width : 595px) {
    #home-hero-content {
        position: absolute;
        width: 370px;
        display: block;
        top: 140px;
        right: 5%;
    }
    #home-hero-content h2 {
        text-transform: uppercase;
        font-size: 0.9rem;
        border-bottom: 3px solid #CDCCCE;
        padding-bottom: 10px;
        text-align: right;
    }
    #home-hero-content div {
        font-size: 1.5rem;
        line-height: 1.5rem;
    }
}

/*--- Small tablet portrait ---*/
@media only screen and (min-width : 595px) and (max-width : 690px) {}

/*--- Tablet portrait ---*/
@media only screen and (min-width : 690px) and (max-width : 800px) {
    #home-hero-content {
        position: absolute;
        width: 500px;
        display: block;
        top: 150px;
        right: 5%;
    }
    #home-hero-content div {
        font-size: 2rem;
        line-height: 2rem;
    }
}

/*--- Small tablet landscape ---*/
@media only screen and (min-width : 800px) and (max-width : 1024px) {
    .home .page-hero {
        margin-bottom: 0;
    }
    #home-hero-content {
        top: 150px;
        right: 10%;
    }
    #home-hero-content h2 {
        text-transform: uppercase;
        font-size: 1.5rem;
        border-bottom: 3px solid #CDCCCE;
        padding-bottom: 20px;
        text-align: right;
        font-weight: 500;
    }
    #home-hero-content div {
        font-size: 2rem;
        line-height: 2.5rem;
    }
    .home-featured .wpb_button, .wpb_content_element, ul.wpb_thumbnails-fluid>li {
        margin-bottom: 10px;
    }
}

/*--- Tablet landscape --- */
@media only screen and (min-width : 1024px) {
    .main-navigation ul ul {
        width: 275px;
		}
    .pad-left .vc_col-sm-5,
    .pad-left .vc_col-sm-4,
    .pad-left .vc_col-sm-3 {
        padding-left: 40px;
    }
}

/*--- Tablet landscape --- */
@media only screen and (min-width : 1024px) and (max-width : 1224px) {}

/*--- Large screens --- */
@media only screen and (min-width : 1225px) {}

