/*
Theme Name: Punkt
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: total-theme

gulp --gulpfile wp-content/themes/punkt/gulpfile.js
*/



html {
    margin: 0;
    padding: 0;
    height: 100%;
    box-sizing: border-box;
    font-size: 14px;

    font-weight: 400;
    line-height: 1.5;
}



*,
*::before,
*::after {
    box-sizing: inherit;
}



body {
    position: relative;
    margin: 0;
    padding: 0;
    min-height: 100%;
    background: rgb(255, 255, 255) url() no-repeat fixed center center / cover;
    color: black;
    font-size: 100%;
    overflow-x: hidden;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column;
    font-family: 'Montserrat', sans-serif;
}



.wrapper{
    max-width: 870px;
    width:100%;
    margin: 0 auto;
    /*padding-left:40px;*/
}



img {
    max-width: 100%;
}



.Partners {
    margin-top: 2rem;
}



.SiteLogo {
    width: 80px;
}



.Image__title{
    font-weight:800;
}



/** custom headers
*/



h1{font-weight:400;font-size:3.2em;text-align:center;}



h2{font-weight:400;font-size:2em;text-align:left;}



h3{font-weight:800;font-size:2em;text-align:left;}



@media only screen and (max-width: 680px) {
    /*main#content {*/
    /*padding-left: 30px;*/
    /*padding-right: 30px;*/
    /*height: auto;*/
    /*}*/

}



aside {
    width: 160px;
}



#content {
    /*margin-left: 160px;*/
    padding-left: 160px;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    /*max-width: 710px;*/
    max-width: 870px;
}



#content .HeaderContent{
    display: none;
}



#header .Header__wrapper--mobile{
    display: none;
}



.DefaultListItem img {width:100%;}



.DefaultListItem a {
    color: black;
}



.ListImagePlaceholder {
    width: 100%;
    background-color: rgb(255, 255, 255);
    background-repeat:no-repeat;
    background-position: center;
    background-size: cover;
}



.ListImagePlaceholder::after {
    padding-top: 100%;
    content: "";
    display: block;
}



.mobile-show{
    display: none;
}



.MobileMenuItem{
    background:white;
    text-transform: uppercase;
    display:inline-block;
    padding:.25rem .5rem;
    border:black 3px solid;
    color:black;
    font-size:15px;
}



.MobileTopMenu .menu-link{
    width:120px;
    height:42px;
    float: left;
    position: relative;
}



.menu-icon {
    position: absolute;
    width: 20px;
    height: 14px;
    margin: auto;
    left: 0;
    top: 0;
    /*right: 0;*/
    bottom: 1px;
}



.menu-line {
    background-color: #333;
    height: 2px;
    width: 100%;
    border-radius: 2px;
    position: absolute;
    left: 0;
    transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}



.menu-line-1 { top: 0; }



.menu-line-2 {
    top: 0;
    bottom: 0;
    margin: auto;
}



.menu-line-3 { bottom: 0; }



.menu.open .menu-icon{
    -webkit-transform: scale(1.5);
        -ms-transform: scale(1.5);
            transform: scale(1.5);
}



.menu.open .menu-line-1 {
    -webkit-transform: translateY(7px) translateY(-50%) rotate(-135deg);
        -ms-transform: translateY(7px) translateY(-50%) rotate(-135deg);
            transform: translateY(7px) translateY(-50%) rotate(-135deg);
}



.menu.open .menu-line-2 {
    opacity: 0;
}



.menu.open .menu-line-3 {
    -webkit-transform: translateY(-7px) translateY(50%) rotate(135deg);
        -ms-transform: translateY(-7px) translateY(50%) rotate(135deg);
            transform: translateY(-7px) translateY(50%) rotate(135deg);
}



.menu-overlay {
    background-color: #fff;
    color: #333;
    height: 100%;
    width: 100%;
    position: fixed;
    opacity: 0;
    visibility: hidden;
    text-align: center;
    transition: opacity 0.2s ease-in-out;
    z-index: 1001;
}



.menu-overlay.open {
    opacity: 1;
    visibility: visible;
    transition-delay: 0.03s;
}



@media only screen and (max-width: 768px) {
    #wpadminbar{
        position: fixed;
    }

    .HeaderMessages, .header-content-wrapper, .mobile-hide {
        display: none;
    }

    /*.header-content-wrapper.single-project{*/
        /*display: block;*/
    /*}*/

    #content {
        margin-left: 0;
        padding-left: 0;
        margin-top:70px;
    }

    #content .HeaderContent, .mobile-show {
        display: block;
    }

    #header .Header__wrapper {
        /*display: none;*/
    }

    .Header__wrapper--mobile {
        display: block;}

    #header{
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        padding:0 !important;
        z-index: 100;
    }


    .Header__sidebar-wrapper{
        opacity: 0;
        visibility: hidden;
        height:0 !important;
        transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        padding: 0 15px;
    }

    .menu.open + .Header__sidebar-wrapper{
        opacity: 1;
        visibility: visible;
        height:auto !important;
    }

    .Header__wrapper.toggled{
        padding: 0 !important;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .Header__sidebar-wrapper, .Header__wrapper.toggled .Header__sidebar-wrapper{
        margin:0 !important;
        width:100% !important;
        float:none;
        clear:both;
    }


    .SiteLogo--mobile{
        -webkit-align-self: center;
            -ms-flex-item-align: center;
                align-self: center;
        width: 50px;
    }
    .MobileTopMenu{
        text-align: center;
        display: block;
        padding: 5px 15px;
    }

    .MobileMenuRight{
        float: right;
        width: 120px;
        padding-top:3px;
        text-align: right;
    }

    .MobileMenuRight .MobileMenuItem:first-of-type{
        margin-right: 20px;
    }
    .MobileMenuLeft .MobileMenuItem:last-of-type{
        margin-left: 20px;
    }

    .logged-in.admin-bar #header {
        top:46px;
    }
    
    .whiteBG-on-mobile{
        background: white;
    }
}



.NewsColumn {
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
}



.NewsListItem{
    margin-bottom: 2rem;
}



.NewsListItem img {
    width: 100%;
}



.NewsListItem h2 {
    text-align: center;
}



.NewsListItem p {
    text-align: center;
}



.home {
    position: relative;
}



.home #content {
    height: 100%;
    width: 100%;
    /*position: absolute;*/
}



.flex-rectangle, .ProjectListItem {
    width: 100%;
    position: relative;
}



.flex-rectangle:before, .ProjectListItem:before {
    content: "";
    display: block;
    padding-top: 56%;
}



.ProjectListItem {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom: 2rem;
}



.ProjectListItem__title {
    position: absolute;
    top: 50%;
    /*transform: perspective(1px) translateY(-50%);*/
    -webkit-transform: perspective(1px) translate(-50%,-50%);
            transform: perspective(1px) translate(-50%,-50%);
    left: 50%;
    background: white;
    padding: .5rem 1rem;
    border: 3px solid black;
    max-width: 70%;
    text-align: center;
}



.ProjectListItem__link,
.ProjectListItem__link:hover{
    color: black;
}



.SingleProject__title{
    /*background: white;*/
    /*padding: .5rem 1rem;*/
    /*border: 3px solid black;*/
    display: inline-block;
}



.SingleProject__image-row{
    margin-bottom:12px;
}



.SlickSlider {
    height: 100%;
}



.SingleProject__images+.col-md-6{
    padding-left:1rem;
}



.SingleProject__images{
    padding-right:1rem;
}



.SingleProject__images img{
    margin-bottom: 2rem;
    width: 100%;
}



.SingleProjectText {
    position: fixed;
    /*width: 100%;*/
    bottom: 0;
    z-index: 999;
    background: white;
    left:0;
    right: 0;
    padding: 0 60px;
}



.SingleProjectText__content {
    width: 560px;
    max-width:100%;
    /*height:0;*/
    /*transform: scaleY(0);*/
    /*transform-origin: bottom;*/
    max-height: 0;
    /*transition: transform 0.26s ease;*/
    transition: max-height 0.25s ease-out;
    overflow: hidden;
}



.SingleProjectText__plus{
    font-weight: bold;
}



.ImageNumber{
    float:right;
}



.SingleProjectText:hover .SingleProjectText__plus {
    display: none;
}



.SingleProjectText:hover .SingleProjectText__content {
    /*height:auto;*/
    /*transform: scaleY(1);*/
    max-height: 500px;
    transition: max-height 0.35s ease-in;
}



.ProjectSlide img {
    width: auto;
    max-height: 100%;
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}



.slick-initialized .ProjectSlide {
    height: 100%;
}



.SliderContainer {
    position: relative;
    width: 100%;
    margin: 0 auto;
    height: 100%;
}



.slick-track, .slick-list {
    height: 100%;
}



.slick-slide > div {
    height: 100%;
}



.slick-slide {
    opacity: 0;
    transition: opacity .8s ease-in-out;
    height: 100%;
}



.slick-slide.slick-active {
    opacity: 1;
    transition: opacity .8s ease-in-out;
}



.slick-cloned.slick-center {
    opacity: 1;
    transition: opacity .8s ease-in-out;
}



/*.slick-slide:not(.slick-current)+.slick-slide:not(.slick-active){*/



/*opacity: 1;*/



/*transition: opacity .8s ease-in-out;*/



/*background: red;*/



/*}*/



.slick-arrow {
    width: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 500;
    cursor: pointer;
}



.slick-arrow.slick-previous {
    left: 0;
    right: 50%;
}



.slick-arrow.slick-next {
    left: 50%;
    right: 0;
}



@media only screen and (max-width: 768px) {
    .SingleProject__image-row{
        margin-bottom:30px;
    }

}



@media only screen and (max-width: 680px) {
    .SingleProjectText {
        padding:0;
        position: relative;
        bottom: auto;
        left: auto;
        width: 100%;
        z-index: 1;
    }

    .ImageNumber{display: none;}

    .SingleProjectText__plus{
        display: none !important;
    }

    .SingleProjectText__content{
        height: auto;
        max-height: none;
    }
}



.ProjectSquare {
    width: 20%;
    /*height: 300px;*/
    float: left;
    position: relative;
    padding: 1rem;
}



.ProjectSquare img {
    width: 100%;
}



.ProjectSquare__text {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: white;
    opacity: 0;
    transition: opacity .2s ease-in-out;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
}



.ProjectSquare__title {
    text-align: center;
}



.ProjectSquare__text:hover {
    opacity: 1;
}



.ProjectsContainer{margin:0 -1rem;}



/*.ProjectsContainer{*/



/*padding-left: 60px;*/



/*padding-right: 60px;*/



/*}*/



@media only screen and (max-width: 1000px) {
    .ProjectSquare {
        width: 25%;
    }
}



@media only screen and (max-width: 680px) {
    .ProjectSquare {
        width: 50%;
    }
}



@media only screen and (max-width: 480px) {
    .ProjectSquare {
        width: 100%;
    }
}



#header {
    /*margin-bottom: 2rem;*/
    /*padding-top: 40px;*/
    /*padding-left: 40px;*/
}



#header ul.menu {
    padding: 2rem 0;
    margin: 0;
    list-style: none;
    padding-left: 10px;
}



#header ul.menu li {
    padding: .5rem 0;
    text-transform: uppercase;
}



#header ul.menu li a {
    color: black;
}



#header ul.menu li.current-menu-item a {
    text-decoration: underline;
}



#header #top{
    padding-left:160px;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
}



#header #top .menu-item,.FooterMenu__item{
    /*height:2rem;*/
    background:white;
    border:3px solid black;
    padding:0.25rem 0.5rem;;

}



.menu-top-container{
    min-height:80px;
}



.Header__wrapper {
    padding-left: 0;
    transition: all 0.5s ease;
}



.Header__wrapper.toggled {
    padding-left: 250px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}



.Header__wrapper .header-content-wrapper {

}



.Header__wrapper .header-content-wrapper .container-fluid {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
}



.HeaderMessages {
    height: 100%;
    padding: 2rem;
}



.HeaderMessage {
    position: relative;
    font-size: 25px;
    padding: 1rem 3rem;
    text-align: center;
}



.HeaderMessage div {
    height: auto;
    position: absolute;
    top: 50%;
    -webkit-transform: perspective(1px) translateY(-50%);
            transform: perspective(1px) translateY(-50%);
    padding: 0 40px;
    left: 0;
    right: 0;
    text-align: center;

}



.Header__sidebar-wrapper {
    position: relative;
    float: left;
    width: 0;
    height: 100%;
    transition: all 0.5s ease;
    /*margin-left: -120px;*/
    margin-left: -160px;
}



.Header__wrapper.toggled .Header__sidebar-wrapper {
    width: 250px;
}



.Header__content {
    width: 100%;
    position: absolute;
    padding: 15px;
}



.Header__wrapper.toggled .Header__content {
    position: absolute;
    margin-right: -160px;
}



.header-content-wrapper .HeaderContent{
    padding:2rem 3rem;
    text-align: left;
    height:100%;
    position: relative;
}



.HeaderContent h1{
    margin:0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 0;
    right: 0;
}



#header .menu-top-container ul{
    padding:0 5rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
}



#header .menu-top-container ul li{
    display:inline-block;

}



/* Sidebar Styles */



.sidebar-nav {
}



.sidebar-nav li {
    text-indent: 20px;
    line-height: 40px;
}



.sidebar-nav li a {
    color: black;
    display: block;
    text-decoration: none;
}



.sidebar-nav li a:hover {
    text-decoration: underline;

}



.sidebar-nav li a:active, .sidebar-nav li a:focus {
    text-decoration: none;
}



.sidebar-nav > .sidebar-brand {
}



.sidebar-nav > .sidebar-brand a {
}



.sidebar-nav > .sidebar-brand a:hover {

}



.header-content-wrapper {
    width: 710px;
    text-align: center;
    max-width: 100%;
}



.SingleProject__subtitle {
    text-align: left;
}



.slick-prev {
    left: 0;
    text-align: left;
}



.slick-next {
    text-align: right;
}



.slick-prev i,
.slick-prev img {
    left: 0;
}



.slick-next i,
.slick-next img {
    right: 0;
}



.slick-prev i, .slick-next i,
.slick-prev img, .slick-next img {
    font-size: 25px;
    position: absolute;
    top: 50%;
    /*transform: perspective(1px) translateY(-50%);*/
    -webkit-transform: perspective(1px) translateY(-50%);
            transform: perspective(1px) translateY(-50%);
}



.top-menu-mobile{
    display: none;
}



/*.top-menu-mobile li{*/



/*display: block;*/



/*}*/



#header .menu-top-container .top-menu-mobile{

}



#header .menu-top-container .top-menu-mobile ul{
    display: block;padding:5px 15px;
}



#header .menu-top-container .top-menu-mobile ul li {
    display: block;
}



@media (max-width: 768px) {
    #header #top.menu{
        display:none;
    }


    .menu-top-container{
        min-height:60px;
    }

    .top-menu-mobile.open{
        display: block;
    }

    #content{
        min-width: 100%;
    }
}



@media (min-width: 769px) {


    .Header__wrapper {
        padding-left: 0;
    }

    .Header__wrapper.toggled {
        /*padding-left: 120px;*/
        padding-left: 160px;
    }

    .Header__wrapper-wrapper {
        width: 0;
    }

    .Header__wrapper.toggled .Header__sidebar-wrapper {
        /*width: 120px;*/
        width: 160px;

    }

    .Header__content {
        padding: 20px;
        position: relative;
    }

    .Header__wrapper.toggled .Header__content {
        position: relative;
        margin-right: 0;
    }



}



#footer .SiteLogo {
    width: 70px;
}



#footer {
    height: 160px;
    padding: 40px;
}



#footer a {
    color: black;
}



.FooterMenu {
    max-width: 850px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    /*justify-content: space-between;*/
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    padding-top: 10px;
    justify-items: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    /*padding-left: 160px;*/
}



.FooterMenu__item {
    display: inline-block;
    background: white;
    border: 3px solid black;
    padding: 0.25rem 0.5rem;
    text-transform: uppercase;
}



@media only screen and (max-width: 768px) {
    #footer {
        padding: 5px 15px;
        height: auto;
    }

    .MobileMenuLeft {
        float: left;
        width: 120px;
        padding-top: 3px;
        text-align: left;
    }

    .MobileFooterMenu {
        text-align: center;
        display: block;
        /*padding: 5px 15px;*/
    }

}



.PersonListItem{
    margin-bottom: 2rem;
}



.PersonListItem img{
    width:50%;
    margin-right: 1rem;
    float: left;
}



.Partners__logo{
    width: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}



.Partners__logo:before{
    content: "";
    display: block;
    padding-top: 100%;
}




