/************ General Styling ********/
p, ol, ul {
	font-size: 1rem;
    font-family: var(--theme-font);
    font-size: 1.2em;
    color: var(--theme-text-color);
}
h1, h2, h3, h4, h5, h6 {
    font-family: var(--theme-heading-font);
}
h1 {
    font-size: 3rem;
}
.front:not(.block-system-main-block) h2{
    text-align: center;
    color: var(--theme-heading-color);
    position: relative;
    margin-bottom: 1.5rem;
    font-size: 2.5rem;
    text-transform: uppercase;
}
:not(.front) h2, .front .block-system-main-block h2{
    color: var(--theme-color2);
    font-size: 1.8rem;
    text-transform: none;
    line-height: normal;
}
h3 {
    font-size: 1.5rem;
}
.front #main .block {
    padding-top: 30px;
    padding-bottom: 30px;
}
.front #block-dscontractors-page-title {
    padding: 0 !important;
    padding-top: 30px !important;
}
tbody, tfoot, thead, table, td, th, tr {
    border: none !important;
    background: none !important;
}
a {
    color: var(--theme-color2);
    text-decoration: none;
    font-weight: bold;
}
a:focus, a:hover {
    color: #000;
}

/************ Menus *************/
.off-canvas {
    background-color: var(--theme-color);
}
#primary_menu {
    background-color: var(--theme-color);
    color: #fff;
}
#primary_menu>div {
    display: flex;
    justify-content: space-evenly;
    flex-flow: row nowrap;
    align-items: baseline;
}
#primary_menu .block-superfish {
    width: auto;
}
ul.sf-menu.menu {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
}
ul.sf-menu.menu ul {
    position: absolute;
    background: #070707;
    z-index: 999;
    display: none;
}
ul.sf-menu li:hover > ul, ul.sf-menu li.sfHover > ul {
    top: 56px;
}
ul.sf-menu.menu li {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-block;
}
ul.sf-menu.menu ul.menu li {
    display: block;
}
ul.sf-menu.menu li a, ul.sf-menu.menu li span {
    display: block;
    color: #fff;
    padding: 20px;
    cursor: pointer;
    font-family: 'LatoBold';
    transition: ease-in-out 0.2s;
    border: none;
}
ul.sf-menu.menu li a:hover {
    background: #e10000;
}

.footer-top ul.menu {
    margin: 20px 0;
    justify-content: start;
}
.footer-top ul.menu li:first-child a {
    padding-left: 0;
}
div.menu.project-portfolio {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    margin: 20px auto;
}
ul.project-portfolio a {
    display: block;
    color: #000;
    padding: 10px 0.8vw;
    cursor: pointer;
    font-family: 'LatoBold';
    font-size: 22px;
}
ul.project-portfolio a.is-active {
    color: var(--theme-color2);
}

/******** Header/Banner section *******/
#block-dscontractors-sitetopics p {
    line-height: 0.8;
    margin: 20px 0 0 0;
    color: var(--theme-tertiary-color);
    font-size: 2.5rem;
    font-family: var(--theme-heading-font);
}
#header_left {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
}
.logo-block {
    padding: 10px 10px 10px 0;
    margin: 20px 20px 20px 0;
    text-align: center;
}
#header_right {
    text-align: center;
}
#header_right input[type="search"], #primary_menu input[type="search"] {
    color: #929292;
    border-color: #929292;
    border-width: 2px;
    padding: 5px;
    height: 25px;
    width: 150px;
    margin-right: 5px;
}
#header_right input[type="submit"], #primary_menu input[type="submit"] {
    content: "";
    background: url("../images/search.png") top left no-repeat;
    background-size: contain;
    color: transparent;
    border: none;
    height: 24px;
    margin: 0;
}
#header_right .block-search, #primary_menu .block-search {
    justify-content: end;
    margin: 0;
}
#header_right .block-search, #header_right .block-search #search-block-form, 
#primary_menu .block-search, #primary_menu  .block-search #search-block-form {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
}
#header_right .block-search h2, #primary_menu .block-search h2 {
    color: #b9b9b9;
    font-size: 13pt;
    font-family: LatoBold;
    text-transform: capitalize;
    margin: 0 10px 0 0;
}

/******* Main Content and Content-related styling *********/
#block-dscontractors-content {
    padding: 0 !important;
}
.main-content h3 {
	/*color: var(--theme-color2);*/
    margin-bottom: 0;
    font-size: 1.4rem;
}
.front #main .content {
    overflow: auto;
}
.front-block h2::after{
    position: absolute;
    display: block;
    left: 50%;
    transform: translate(-50%, 0);
    background: #e10000;
    width: 50px;
    height: 2px;
    content: "";
}
.front article h2::after {
    background: none !important;
    transform: unset !important;
}
:not(.front) .page-title {
    text-transform: uppercase;
}
.project-portfolio .views-row {
    float: left !important;
    text-align: center;
    margin: 20px auto;
}
.project-portfolio a {
    color: var(--theme-color2);
    padding: 5px;
}
:not(.front) #main {
    margin-bottom: 20px;
}
.project-page .columns>div {
    margin: 5px auto;
}
.project-page .top-inner-right div div {
    display: inline;
}
.project-page hr {
    border-bottom: 3px solid #000;
}
.project-page .label {
    font-weight: bold;
    /*text-decoration: underline;*/
    background: none;
    color: #000;
    font-size: 16px;
    padding: 0;
    display: inline;
}
.project-title { 
    text-align: center;
}
.project-page .project-logo {
    text-align: center;
}
.project-page .project-logo img, .project-portfolio img{
    box-shadow: 3px 3px 10px #555;
}
.project-images .photoswipe-gallery {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}
.project-images img {
    padding: 5px;
}

/***** Front Page Services Section ******/
.front-service {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}
.dividebyfive{
    width: 20%;
    height: 17vw;
    margin-bottom: 1.875rem;
    overflow:hidden;
}
.red-box{
    background: var(--theme-color2);
    position: relative;
    height: 100%;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    transition: background ease-in-out 0.3s;
    text-decoration: none;
}
.red-box:hover {
    background: var(--theme-color2-hover);
}
.dividebyfive .image{
    overflow: hidden;
}
.dividebyfive img {
    transition: all ease-in-out 0.3s;
    width: 100%;
}
.dividebyfive:hover img {
    opacity: 0.6;
    transform: scale(1.2);
}
.dividebyfive h2{
    font-size: 3vw;
}
.dividebyfive h3{
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    font-size: 1.7rem;
}
.dividebyfive .article {
    color: #fff;
    font-family: var(--theme-heading-font);
    text-align: right;
    width: 80%;
}

/* Front Page Testimonials Section */
.testimonials-block { 
    background: #707070;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    color: #fff;
}
.testimonials-block h2 {
    color: #fff !important;
}
.testimonials-block .inner {
    width: 70%;
}
.testimonials-block .inner::before {
    content: "“";
    font-family: var(--theme-heading-font);
    font-size: 10vw;
    color: #fff;
    position: absolute;
    line-height: normal;
    margin-top: -3%;
    margin-left: -5%;
}
.testimonials-block .inner::after {
    content: "”";
    font-family: var(--theme-heading-font);
    font-size: 10vw;
    color: #fff;
    position: absolute;
    line-height: normal;
    margin-top: -6%;
    right: 10%;
}
.testimonials-block h2, .testimonials-block p {
    color: #fff;
}
.testimonials-block p {
    text-align: justify;
}
.testimonials-block .views-field-field-author {
    text-align: center;
}
.testimonials-block .more-link {
    padding-top: 10px;
    text-align: center;
}
.testimonials-block a {
    color: #fff;
}

/****** Front Page Experience Section *******/
.experience-block {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
}
.experience-block .inner {
    width: 70%;
}
.experience-block a {
    display: block;
    background: var(--theme-color2);
    text-decoration: none;
    transition: background ease-in-out 0.2s, color ease-in-out 0.2s;
    max-width: 300px;
    color: #fff;
    text-transform: uppercase;
    padding: 5px 15px;
    margin: 40px auto 0;
}
.experience-block a:hover {
    color: var(--theme-color2);
    background: #fff;
}

/******* Sidebar ******/
.sidebar h2 {
    font-size: 1.5rem;
    text-align: left;
}
.contact-map, .contact-image {
    margin: 10px auto;
}
#sidebar-first {
    border-right: 2px solid var(--theme-color2);
}

/****** Footer *******/
.site-footer {
    background: var(--theme-color);
    color: #fff;
}
.site-footer a {
    text-decoration: none;
}
.site-footer a:hover, .testimonials-block a:hover {
    color: var(--theme-color2-hover);
}
.site-footer h2 {
    font-size: 1.2rem !important;
    font-family: LatoBold;
    text-transform: capitalize;
    text-align: left !important;
    margin: 5px 0;
    margin-bottom: 5px;
    color: #fff !important;
}
.site-footer p, .site-footer span, .site-footer h2 {
    color: #fff;
    font-weight: bold;
}
.site-footer .footer-menu a {
    color: #fff;
}
.footer .columns {
    min-height: 130px;
}
.footer .social p {
    display: flex;
    flex-flow: row nowrap;
    justify-content: end;
}
.footer .social a {
    background: #fff;
    border-radius: 100%;
    width: 30px;
    height: 30px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    color: var(--theme-color);
    margin: 5px;
}
.client-login {
    text-align: right;    
}
.client-login a {
    background: transparent;
    border: solid 1px #fff;
    border-radius: 5px;
    margin: 20px 0;
    padding: 10px 40px;
    transition: background ease-in-out 0.2s, color ease-in-out 0.2s;
    text-decoration: none;
    font-size: 1rem;
}
.client-login a:hover {
    color: #070707;
    background: #fff;
}
#design-maintain a {
    text-decoration: underline;
}
#design-maintain {
    text-align: right;
}
#design-maintain, #copyright {
    font-size: 10pt;
}
/****** Media Queries *******/
@media only screen and (min-width:40em) {
    .header-container {
        display: flex;
        flex-flow: row nowrap;
        align-items: baseline;
    }
}
@media only screen and (max-width: 64em) and (min-width: 40em){
    .dividebyfive{
      width: 40%;
      height: 25vw;
      float: none;
    }
    /*.dividebyfive.columns:last-child{
      width: 100%;
      padding: 0 34.8%;
    }*/
    .dividebyfive h2{
      font-size: 3vw;
    }
    .dividebyfive h3{
      font-size: 4vw;
    }
    .footer .social p {
        justify-content: start;
    }
    .client-login {
        text-align: left;
    }
}
@media only screen and (max-width: 40em){
    #copyright, #design-maintain, .client-login, .footer, .footer h2 {
        text-align: center;
    }
    .footer .social p, .footer-top ul.menu {
        justify-content: center;
    }
    .footer .columns {
        min-height: unset;
    }
    .logo-block img {
        width: 200px;
    }
    :not(.front) .page-title, #block-dscontractors-sitetopics p {
        font-size: 1.4rem;
    }
    :not(.front) h2, .front .block-system-main-block h2, .front:not(.block-system-main-block) h2 {
        font-size: 1.3rem;
    }
    p, ol, ul {
        font-size: 1rem;
    }
    footer h2 {
        text-align: center !important;
    }
}
@media only screen and (min-width:400px) and (max-width: 40em){
    .dividebyfive {
        width: 55vw;
        height: 200px;
    }
}
@media only screen and (max-width:400px){
    .dividebyfive {
        width: 100%;
        height: 200px;
    }
}