

* {
    margin: 0;
    padding: 0;
}

#categories {
    overflow: hidden;
    width: 100%;
    margin-left: -30%;
    cursor: pointer;
}

#categories2 {
    overflow: hidden;
    width: 80%;
    margin-left: -35%;
    margin-top: 3%;
    cursor: pointer;
}

.clr:after {
    content: "";
    display: block;
    clear: both;
}

#categories li {
    position: relative;
    list-style-type: none;
    width: 27.85714285714286%;
    /* = (100-2.5) / 3.5 */
    padding-bottom: 32.16760145166612%;
    /* =  width /0.866 */
    float: left;
    overflow: hidden;
    visibility: hidden;

    -webkit-transform: rotate(-60deg) skewY(30deg);
    -ms-transform: rotate(-60deg) skewY(30deg);
    transform: rotate(-60deg) skewY(30deg);
}

#categories li:nth-child(3n+2) {
    margin: 0 1%;
}

#categories li:nth-child(6n+4) {
    margin-left: 0.5%;
}

#categories li:nth-child(6n+4),
#categories li:nth-child(6n+5),
#categories li:nth-child(6n+6) {
    margin-top: -6.9285714285%;
    margin-bottom: -6.9285714285%;

    -webkit-transform: translateX(50%) rotate(-60deg) skewY(30deg);
    -ms-transform: translateX(50%) rotate(-60deg) skewY(30deg);
    transform: translateX(50%) rotate(-60deg) skewY(30deg);
}

#categories li:nth-child(6n+4):last-child,
#categories li:nth-child(6n+5):last-child,
#categories li:nth-child(6n+6):last-child {
    margin-bottom: 0%;
}

#categories li * {
    position: absolute;
    visibility: visible;
}

#categories li>div {
    width: 100%;
    height: 100%;
    text-align: center;
    color: #fff;
    overflow: hidden;

    -webkit-transform: skewY(-30deg) rotate(60deg);
    -ms-transform: skewY(-30deg) rotate(60deg);
    transform: skewY(-30deg) rotate(60deg);

    -webkit-backface-visibility: hidden;

}

/* HEX CONTENT */
#categories li img {
    left: -100%;
    right: -100%;
    width: auto;
    height: 100%;
    margin: 0 auto;
}

#categories div h1,
#categories div p {
    width: 90%;
    padding: 0 5%;
    background-color: #008080;
    background-color: rgba(0, 128, 128, 0.8);
    font-family: 'Raleway', sans-serif;

    -webkit-transition: top .2s ease-out, bottom .2s ease-out, .2s padding .2s ease-out;
    -ms-transition: top .2s ease-out, bottom .2s ease-out, .2s padding .2s ease-out;
    transition: top .2s ease-out, bottom .2s ease-out, .2s padding .2s ease-out;
}

#categories li h1 {
    bottom: 110%;
    font-style: italic;
    font-weight: normal;
    font-size: 1.5em;
    padding-top: 100%;
    padding-bottom: 100%;
}

#categories li h1:after {
    content: '';
    display: block;
    position: absolute;
    bottom: -1px;
    left: 45%;
    width: 10%;
    text-align: center;
    z-index: 1;
    border-bottom: 2px solid #fff;
}

#categories li p {
    padding-top: 50%;
    top: 110%;
    padding-bottom: 50%;
}


/* HOVER EFFECT  */

#categories li div:hover h1 {
    bottom: 50%;
    padding-bottom: 10%;
}

#categories li div:hover p {
    top: 50%;
    padding-top: 10%;
}

#categories2 li {
    position: relative;
    list-style-type: none;
    width: 27.85714285714286%;
    /* = (100-2.5) / 3.5 */
    padding-bottom: 32.16760145166612%;
    /* =  width /0.866 */
    float: left;
    overflow: hidden;
    visibility: hidden;

    -webkit-transform: rotate(-60deg) skewY(30deg);
    -ms-transform: rotate(-60deg) skewY(30deg);
    transform: rotate(-60deg) skewY(30deg);
}

#categories2 li:nth-child(3n+2) {
    margin: 0 1%;
}

#categories2 li:nth-child(6n+4) {
    margin-left: 0.5%;
}

#categories2 li:nth-child(6n+4),
#categories2 li:nth-child(6n+5),
#categories2 li:nth-child(6n+6) {
    margin-top: -6.9285714285%;
    margin-bottom: -6.9285714285%;

    -webkit-transform: translateX(50%) rotate(-60deg) skewY(30deg);
    -ms-transform: translateX(50%) rotate(-60deg) skewY(30deg);
    transform: translateX(50%) rotate(-60deg) skewY(30deg);
}

#categories2 li:nth-child(6n+4):last-child,
#categories2 li:nth-child(6n+5):last-child,
#categories2 li:nth-child(6n+6):last-child {
    margin-bottom: 0%;
}

#categories2 li * {
    position: absolute;
    visibility: visible;
}

#categories2 li>div {
    width: 100%;
    height: 100%;
    text-align: center;
    color: #fff;
    overflow: hidden;

    -webkit-transform: skewY(-30deg) rotate(60deg);
    -ms-transform: skewY(-30deg) rotate(60deg);
    transform: skewY(-30deg) rotate(60deg);

    -webkit-backface-visibility: hidden;

}

/* HEX CONTENT */
#categories2 li img {
    left: -100%;
    right: -100%;
    width: auto;
    height: 100%;
    margin: 0 auto;
}

#categories2 div h1,
#categories2 div p {
    width: 90%;
    padding: 0 5%;
    background-color: #008080;
    background-color: rgba(0, 128, 128, 0.8);
    font-family: 'Raleway', sans-serif;
    color: #fff;
    -webkit-transition: top .2s ease-out, bottom .2s ease-out, .2s padding .2s ease-out;
    -ms-transition: top .2s ease-out, bottom .2s ease-out, .2s padding .2s ease-out;
    transition: top .2s ease-out, bottom .2s ease-out, .2s padding .2s ease-out;
}

#categories2 li h1 {
    bottom: 110%;
    font-style: italic;
    font-weight: normal;
    font-size: 1.5em;
    padding-top: 100%;
    padding-bottom: 100%;
}

#categories2 li h1:after {
    content: '';
    display: block;
    position: absolute;
    bottom: -1px;
    left: 45%;
    width: 10%;
    text-align: center;
    z-index: 1;
    border-bottom: 2px solid #fff;
}

#categories2 li p {
    padding-top: 50%;
    top: 110%;
    padding-bottom: 50%;
}


/* HOVER EFFECT  */

#categories2 li div:hover h1 {
    bottom: 50%;
    padding-bottom: 10%;
}

#categories2 li div:hover p {
    top: 50%;
    padding-top: 10%;
}

#fork {
    position: fixed;
    top: 0;
    left: 0;
    color: #000;
    text-decoration: none;
    border: 1px solid #000;
    padding: .5em .7em;
    margin: 1%;
    transition: color .5s;
    overflow: hidden;
}

#fork:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 130%;
    height: 100%;
    background: #000;
    z-index: -1;
    transform-origin: 0 0;
    transform: translateX(-100%) skewX(-45deg);
    transition: transform .5s;
}

#fork:hover {
    color: #fff;
}

#fork:hover:before {
    transform: translateX(0) skewX(-45deg);
}



.flex-container {
    display: flex;
    width: 80%;
    height: 90vh;
}

.column-a,
.column-b {
    flex: 1;
    padding: 20px;
    box-sizing: border-box;
    /* Para que el padding no afecte el ancho total */
}
