﻿.grid * {
    box-sizing: border-box;
}

.grid {
    width: 100%;
}

    .heading, .grid .content .descbox, .grid .content .descbox:before {
        -webkit-transition: 0.2s cubic-bezier(0.694, 0.0482, 0.335, 1);
        transition: 0.2s cubic-bezier(0.694, 0.0482, 0.335, 1);
    }

    .grid h4 {
        width: auto;
        font-weight: 500;
        font-size: 2rem;
        text-rendering: optimizeLegibility;
        padding: 0;
        background: #497c9a;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        display: flex;
        align-items: center;
    }

    .grid .content h4 {
        color: #fff;
        height: 40px;
        width: 0;
        position: absolute;
        overflow: hidden;
    }

.heading + .descbox {
    position: relative;
}

.descbox {
    font-size: 1.5rem;
    margin: 0 0 .9em;
}   

.grid .grid-item .overlay .content {
    position: absolute;
    width: 100%;
    z-index: 2;
    bottom: 120px;
    right: 0;
    direction: rtl;
    text-align: right;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    color: #000;
}

.grid .grid-item.custom .overlay .content {
    display: flex;
    text-align: center;
    justify-content: center;
}

.grid .grid-item .overlay .content h4:before {
    content: '';
    height: 2px;
    position: absolute;
    background: #583064;
    transition: all 0.3s ease-out;
}

.grid .grid-item:hover .overlay .content {
    color: #fff;
    text-shadow: none;
    height: auto;
}

.grid .grid-item:hover .content h4 {
    padding: 0 10px;
    width: auto;
    overflow: initial;
}

.grid .grid-item.showtitle .content h4 {
    padding: 0 10px;
    width: auto;
    overflow: initial;
}
/*syntax position*/
.grid .content.lt h4, .grid .content.lb h4, .grid .content.lc h4 {
    left: -50%;
}

.grid .content.rt h4, .grid .content.rb h4, .grid .content.rc h4 {
    right: -50%;
}

.grid .grid-item.custom .overlay .content.rt {
    bottom: unset;
    top: 20px;
    left: unset;
    right: -50%;
}

.grid .grid-item.custom .overlay .content.rc {
    bottom: unset;
    top: calc(50% - 40px);
    left: unset;
    right: -50%;
}

.grid .grid-item.custom .overlay .content.lt {
    bottom: unset;
    top: 20px;
    left: -50%;
    right: unset;
}

.grid .grid-item.custom .overlay .content.lc {
    bottom: unset;
    top: 50%;
    left: -50%;
    right: unset;
}

.grid .grid-item.custom .overlay .content.rb {
    bottom: 40px;
    top: unset;
    left: unset;
    right: -50%;
}

.grid .grid-item.custom .overlay .content.lb {
    top: unset;
    bottom: 40px;
    left: -50%;
    right: unset;
}

.grid .grid-item .overlay .content.lt h4:before, .grid .grid-item .overlay .content.lb h4:before, .grid .grid-item .overlay .content.lc h4:before {
    right: 0;
    left: 100%;
    top: 50%;
}

.grid .grid-item.showtitle .overlay .content.lt h4:before, .grid .grid-item.showtitle .overlay .content.lb h4:before, .grid .grid-item.showtitle .overlay .content.lc h4:before {
    right: -200%;
    left: 100%;
    top: 50%;
}

.grid .grid-item .overlay .content.rt h4:before, .grid .grid-item .overlay .content.rb h4:before, .grid .grid-item .overlay .content.rc h4:before {
    left: 0;
    right: 100%;
    top: 50%;
}

.grid .grid-item.showtitle .overlay .content.rt h4:before, .grid .grid-item.showtitle .overlay .content.rb h4:before, .grid .grid-item.showtitle .overlay .content.rc h4:before {
    left: -200%;
    right: 100%;
    top: 50%;
}

.grid .grid-item:hover .content.lt h4, .grid .grid-item:hover .content.lb h4, .grid .grid-item:hover .content.lc h4, .grid .grid-item.showtitle .content.lt h4, .grid .grid-item.showtitle .content.lb h4, .grid .grid-item.showtitle .content.lc h4 {
    left: 10%;
}

.grid .grid-item:hover .content.rt h4, .grid .grid-item:hover .content.rb h4, .grid .grid-item:hover .content.rc h4, .grid .grid-item.showtitle .content.rt h4, .grid .grid-item.showtitle .content.rb h4, .grid .grid-item.showtitle .content.rc h4 {
    right: 10%;
}

.grid .grid-item:hover .overlay .content.lt h4:before, .grid .grid-item:hover .overlay .content.lb h4:before, .grid .grid-item:hover .overlay .content.lc h4:before, .grid .grid-item.showtitle .overlay .content.lt h4:before, .grid .grid-item.showtitle .overlay .content.lb h4:before, .grid .grid-item.showtitle .overlay .content.lc h4:before {
    right: -200%;
}

.grid .grid-item:hover .overlay .content.rt h4:before, .grid .grid-item:hover .overlay .content.rb h4:before, .grid .grid-item:hover .overlay .content.rc h4:before, .grid .grid-item.showtitle .overlay .content.rt h4:before, .grid .grid-item.showtitle .overlay .content.rb h4:before, .grid .grid-item.showtitle .overlay .content.rc h4:before {
    left: -200%;
}

/* clear fix */
.grid:after {
    content: '';
    display: block;
    clear: both;
}

.grid .overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
    -webkit-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
    backface-visibility: hidden;
}

.grid .grid-item:hover .overlay {
    background-color: #00e58129;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}

    .grid .grid-item:hover .overlay .content, .grid .grid-item.showtitle .overlay .content {
        display: flex;
    }

        .grid .grid-item:hover .overlay .content.lt, .grid .grid-item.showtitle .overlay .content.lt {
            bottom: unset;
            top: 20px;
            left: -50%;
            right: unset;
        }
/* ---- .grid-item ---- */

.grid-item {
    float: left;
    width: 100px;
    height: 100px;
}

    .grid-item img {
        width: 100%;
    }

.grid-item--width3 {
    width: 625px;
}

.grid-item--height3 {
    height: 616px;
}

.grid-item--width2 {
    width: 310px;
}

.grid-item--height2 {
    height: 408.5px;
}

.grid-item--width {
    width: 152.5px;
}

.grid-item--height {
    height: 202px;
}

.grid-item.custom img {
    width: auto !important;
    height: auto !important;
    left: 0;
    top: 0;
}

.grid-item.custom {
    width: auto !important;
    height: auto !important;
    display: flex;
    position: relative;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
    overflow:hidden;
}

section.org {
    width: calc(100% - 14vw);
    margin: 36px 9vw 0 0;
    overflow: hidden;
    z-index: 2;
    display: none;
}
.grid .grid-item img {  
    transition: all .2s ease-in-out;
}
.grid .grid-item:hover .img__text--header {
    width: 100%;
    text-align: center;
    position: absolute;
    bottom: 50%;
    color: #497c9a;
    background: transparent;
}
.grid .grid-item:hover h2 {
    color: #808080;
}
.grid .grid-item:hover .img__summary--container {
    opacity: 1;
    bottom: 30%;
}
.grid .grid-item:hover img {
    filter: blur(2px) brightness(60%);
}

.grid-item-circle {
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
}
.overlay-frame {
    position: absolute;
    background: #fff;
    width: 100%;
    height: 100%;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
}
/*.grid-item--width3 { width: Calc(50% - 4px); }
.grid-item--height3 { height:Calc(100% - 4px); }
.grid-item--width2 { width: Calc(30% - 4px); }
.grid-item--height2 { height:Calc(30% - 4px);}
.grid-item--width { width: Calc(20% - 4px); }
.grid-item--height {height:Calc(30% - 4px); }*/
