.bl-main {
    color: white;
    width: 100%;
    height: 30%;
}

    .bl-main.active {
        position: absolute;
        height: 100%;
        overflow: hidden;
    }

    .bl-main > section {
        width: 100%;
        height: 30%;
    }

        .bl-main > section.active {
            position: absolute;
            height: 100%;
            overflow: hidden;
        }

        .bl-main > section:first-child {
            top: 0;
            left: 0;
        }

            .bl-main > section:first-child[data-bg="bg-primary"] {
                background: rgba(0,0,205, .26);
            }

            .bl-main > section:first-child[data-bg="bg-secondary"] {
                background: rgba( 192,192,192, .26);
            }

            .bl-main > section:first-child[data-bg="bg-success"] {
                background: rgba(173,255,47, .26);
            }

            .bl-main > section:first-child[data-bg="bg-danger"] {
                background: rgba(165,42,42, .26);
            }

            .bl-main > section:first-child[data-bg="bg-warning"] {
                background: rgba(240,230,140, .26);
            }

            .bl-main > section:first-child[data-bg="bg-info"] {
                background: rgba(64,224,208, .26);
            }

            .bl-main > section:first-child[data-bg="bg-light"] {
                background: rgba(255,250,250, .26);
                background: #f8f9fa;
            }

            .bl-main > section:first-child[data-bg="bg-dark"] {
                background: rgba(105,105,105, .26);
                background: #343a40;
            }

            .bl-main > section:first-child[data-bg="bg-white"] {
                background: rgba(255,255,255, .26);
            }

            .bl-main > section:first-child[data-bg="bg-transparent"] {
                background: transparent;
            }

.bl-ofg-hide {
    display: none !important;
}

.bl-ofg-oy {
    height: 75%;
    overflow-y: auto;
}

.bl-zoom2d {
    zoom: 60%;
}


.bl-zoom3d {
    zoom: 70%;
}

.bl-text-shadow {
    font-weight: 800;
    text-shadow: 0 1px #000000, 1px 0 #000000, -1px 0 #000000, 0 -1px #000000;
    -webkit-text-stroke: 0 1px #000000, 1px 0 #000000, -1px 0 red, 0 -1px #000000;
}

.bl-hr-zb {
    width: 100%;
    margin: 12px;
    margin-bottom: 36px;
    border: 0;
    height: 4px;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
}

.bl-hr-w300 {
    width: 300%;
}

.bl-unset {
    all: unset;
}

.bl-center {
    margin-left: 10px;
    margin-right: 10px;
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
    -webkit-transition: opacity 0.2s ease-in-out 0.5s;
    -moz-transition: opacity 0.2s ease-in-out 0.5s;
    transition: opacity 0.2s ease-in-out 0.5s;
}

.bl-slider {
    width: 700px;
    white-space: nowrap;
    overflow-x: scroll;
}

.bl-slider-100 {
    width: 98%;
    white-space: nowrap;
    overflow-x: scroll;
}

.bl-ulli {
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    padding: 0 10px;
    overflow: hidden;
    overflow-y: auto;
}

    .bl-ulli > ul {
        list-style: none;
        padding: 0;
        margin: 0;
        cursor: pointer;
    }

        .bl-ulli > ul li {
            display: inline-block;
            min-width: 20%;
            margin: 1%;
            padding-right: 12px;
        }

            .bl-ulli > ul li a {
                display: block;
                padding: 0;
                border: 8px solid rgba(0,0,0,0.1);
            }

                .bl-ulli > ul li a img {
                    display: block;
                    max-width: 100%;
                }




.bl-box {
    position: relative;
    width: 100%;
    height: 100%;
    cursor: pointer;
    opacity: 1;
    /* Centering with flexbox */
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

    .bl-box h2 {
        text-align: center;
        margin: 0;
        padding: 20px;
        width: 100%;
        font-size: 1.8em;
        letter-spacing: 2px;
        font-weight: 700;
        text-transform: uppercase;
    }

.bl-icon {
    font-family: 'icomoon';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    cursor: pointer;
    -webkit-font-smoothing: antialiased;
}

    .bl-icon:before {
        display: block;
        font-size: 1.5em;
        margin-bottom: 10px;
    }


.bl-icon-work:before {
    content: "";
}

.bl-main > section .bl-icon-close {
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
    z-index: 100;
    opacity: 0;
    pointer-events: none;
}

.bl-main > section .bl-icon-close {
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
    z-index: 100;
    opacity: 0;
    pointer-events: none;
}

.bl-icon-close:before {
    content: "";
}

.bl-content,
.bl-panel-items > div > div {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 20px;
    padding: 0 10px;
    overflow: hidden;
    overflow-y: auto;
}

    /* Custom content */

    .bl-content p {
        margin: 0 auto;
        padding-bottom: 15px;
        font-size: 1.7em;
        line-height: 1.8;
    }

    .bl-content h2 {
        font-size: 3em;
        font-weight: 300;
        margin: 0 0 20px 0;
    }

    .bl-content article {
        padding: 10px 20px 10px 0px;
    }

        .bl-content article h3 {
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            margin: 0 0 10px 0;
            padding-top: 20px;
            font-size: 1.4em;
        }

        .bl-content article a {
            color: rgba(0,0,0,0.2);
        }

    .bl-content > ul {
        list-style: none;
        padding: 0;
        margin: 0;
        cursor: pointer;
    }

        .bl-content > ul li {
            display: inline-block;
            width: 20%;
            margin: 1%;
        }

            .bl-content > ul li a {
                display: block;
                padding: 0;
                border: 8px solid rgba(0,0,0,0.1);
            }

                .bl-content > ul li a img {
                    display: block;
                    max-width: 100%;
                }

/* Panel Items */

.bl-panel-items,
.bl-panel-items > div {
    width: 100%;
    top: 0;
    left: 0;
}

    .bl-panel-items.active {
        height: 100%;
        position: absolute;
        display: inline;
    }

        .bl-panel-items.active > div {
            height: 100%;
            position: absolute;
        }

    .bl-panel-items > div > div {
        width: 90%;
        margin: 0 auto;
        opacity: 1;
        bottom: 45px;
        top: 15px;
        pointer-events: auto;
    }

        .bl-panel-items > div > div h3 {
            font-size: 2.4em;
            font-weight: 300;
            margin: 0 0 20px 0;
        }

        .bl-panel-items > div > div p {
            font-size: 1.3em;
        }

        .bl-panel-items > div > div img {
            float: left;
            margin: 0 8px 8px 0;
            max-width: 100%;
        }

.bl-panel-items {
    top: 100%;
    display: none;
    z-index: 9999;
}


    .bl-panel-items > div {
        z-index: 0;
        opacity: 0;
        -webkit-transform: translateY(0);
        -webkit-transition: -webkit-transform 0.5s ease-in-out, opacity 0s linear 0.5s;
        -moz-transform: translateY(0);
        -moz-transition: -moz-transform 0.5s ease-in-out, opacity 0s linear 0.5s;
        transform: translateY(0);
        transition: transform 0.5s ease-in-out, opacity 0s linear 0.5s;
        -ms-transform: translateY(0);
    }

    .bl-panel-items .bl-nav {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 9999;
        opacity: 0;
        -webkit-transition: opacity 0.2s ease-in-out 0.5s;
        -moz-transition: opacity 0.2s ease-in-out 0.5s;
        transition: opacity 0.2s ease-in-out 0.5s;
    }

    .bl-panel-items.bl-panel-items-show .bl-nav {
        margin-left: 18px;
        cursor: pointer;
    }

    .bl-panel-items .bl-nav .active {
        color: darksalmon;
    }

    .bl-panel-items .bl-nav .bl-span {
        font-weight: 900;
        font-size: larger;
        letter-spacing: 2px;
        text-transform: uppercase;
        line-height: 2em;
        cursor: pointer;
        margin-right: 2em;
    }

    .bl-panel-items.bl-panel-items-show .bl-nav {
        opacity: 1;
        top: -68px;
    }

    .bl-panel-items > .bl-show-work {
        z-index: 1000;
        opacity: 1;
        -webkit-transform: translateY(-100%);
        -webkit-transition: -webkit-transform 0.5s ease-in-out;
        -moz-transform: translateY(-100%);
        -moz-transition: -moz-transform 0.5s ease-in-out;
        transform: translateY(-100%);
        transition: transform 0.5s ease-in-out;
        -ms-transform: translateY(-100%);
    }

    .bl-panel-items > .bl-hide-current-work {
        opacity: 0;
        -webkit-transition: -webkit-transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
        -webkit-transform: translateY(-100%) scale(0.5);
        -moz-transition: -moz-transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
        -moz-transform: translateY(-100%) scale(0.5);
        transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
        transform: translateY(-100%) scale(0.5);
        -ms-transform: translateY(-100%) scale(0.5);
        z-index: 0;
    }

/* Transition classes and properties */
/* Separated for a better overview and control */

.bl-main > section {
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

    .bl-main > section.bl-expand {
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
    }

    .bl-main > section.bl-expand-top {
        z-index: 100;
    }

    .bl-main > section:first-child.bl-expand {
    }

.bl-main.bl-expand-item > section:not(.bl-expand),
.bl-main.bl-expand-item > section.bl-scale-down {
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0;
}

.bl-box {
    -webkit-transition: opacity 0.2s linear 0.5s;
    -moz-transition: opacity 0.2s linear 0.5s;
    transition: opacity 0.2s linear 0.5s;
}

section.bl-expand .bl-box {
    opacity: 0;
    -webkit-transition: opacity 0s linear;
    -moz-transition: opacity 0s linear;
    transition: opacity 0s linear;
}

.bl-box h2 {
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.bl-li-hover:hover {
    font-weight: 700;
    -webkit-transform: translate(-6px);
    -moz-transform: translate(-6px);
    -ms-transform: translate(-6px);
    transform: translateY(-6px);
    box-shadow: 0px 0px 12px 8px #67b3dd;
}

.bl-content,
.bl-icon-close {
    color: white;
    font-weight: 900;
    text-shadow: 0 1px #000000, 1px 0 #000000, -1px 0 #000000, 0 -1px #000000;
    -webkit-text-stroke: 0 1px #000000, 1px 0 #000000, -1px 0 red, 0 -1px #000000;
    -webkit-transition: opacity 0.1s linear 0s;
    -moz-transition: opacity 0.1s linear 0s;
    transition: opacity 0.1s linear 0s;
}

section.bl-expand .bl-content,
section.bl-expand .bl-icon-close {
    pointer-events: auto;
    opacity: 1;
    -webkit-transition: opacity 0.3s linear 0.5s;
    -moz-transition: opacity 0.3s linear 0.5s;
    transition: opacity 0.3s linear 0.5s;
}



@media screen and (max-width: 46.5em) {
    .bl-content,
    .bl-box {
        font-size: 75%;
    }

    .bl-expand .bl-box {
        height: 130px;
    }

    .bl-content > ul li {
        width: 40%;
    }

    .bl-ofg-oy {
        height: 65%;
        overflow-y: auto;
    }

    .bl-zoom2d {
        zoom: 70%;
    }

    .bl-zoom3d {
        zoom: 80%;
    }

    .bl-center {
        margin-left: -1.5em;
        margin-right: 6em;
        color: white;
        position: absolute;
        -webkit-transition: opacity 0.2s ease-in-out 0.5s;
        -moz-transition: opacity 0.2s ease-in-out 0.5s;
        transition: opacity 0.2s ease-in-out 0.5s;
    }

    .bl-slider {
        width: 23em;
        white-space: nowrap;
        overflow-x: scroll;
    }
}
