h2,
h3 {
    font-family: 'Satisfy', cursive;
    text-align: center;
    font-weight: normal;
    width: 90%;
    margin-left: 5%;
}

.line {
    width: 100%;
    margin: auto;
}

.homeMainDiv {
    position: relative;
    margin-left: auto;
    margin-right: auto;
}

.jigsaw1,
.jigsaw2,
.jigsaw3,
.jigsaw4 {
    margin: 0;
    position: relative;
    -webkit-border-radius: .5em;
    -moz-border-radius: .5em;
    border-radius: .5em;
    cursor: pointer;
    color: white;
}

.jigsaw1,
.jigsaw3 {
    float: left;
}

.jigsaw2,
.jigsaw4 {
    float: right;
}

.jigsaw1,
.jigsaw1 span,
.jigsaw1 .r,
.jigsaw2 .l {
    background-color: #a4a7a6;
}

.jigsaw2,
.jigsaw2 span,
.jigsaw2 .b,
.jigsaw4 .t {
    background-color: #818382;
}

.jigsaw3,
.jigsaw3 span,
.jigsaw3 .t {
    background-color: #5e5e5e;
}

.jigsaw4,
.jigsaw4 span,
.jigsaw4 .l {
    background-color: black;
}

.text {
    display: block;
    position: relative;
    text-align: center;
    background: transparent !important;
}

/* hover */
.jigsaw1:hover,
.jigsaw1:hover .r,
.link1:hover+.link2 .l,

.jigsaw2:hover,
.jigsaw2:hover .b,
.link2:hover~.link4 .t,


.jigsaw3:hover,
.jigsaw3:hover span,
.jigsaw3:hover .t,

.jigsaw4:hover,
.jigsaw4:hover .l {
    background-color: white;
    color: black;
}


@media all and (min-width:500px) {
    h2 {
        margin-top: 100px;
        margin-bottom: 50px;
        font-size: 30px;
    }

    h3 {
        margin-bottom: 50px;
        font-size: 24px;
    }

    .line {
        height: 20em;
    }

    .homeMainDiv {
        width: 20em;
        min-width: 20em;
        min-height: 20em;
    }

    .jigsaw1,
    .jigsaw2,
    .jigsaw3,
    .jigsaw4 {
        width: 10em;
        height: 10em;
    }

    .text {
        font-size: 1.2em;
        padding-top: 3.5em;
    }

    /* dots */
    .t,
    .b,
    .l,
    .r {
        width: 2.6em;
        height: 2.6em;
        position: absolute;
        -webkit-border-radius: 4em;
        -moz-border-radius: 4em;
        border-radius: 4em;
    }

    /* jigsaw1 */
    .jigsaw1 .r {
        top: 3.7em;
        left: 9.5em;
    }

    .jigsaw1 .b {
        top: 7.9em;
        left: 3.7em;
    }

    /* jigsaw2 */
    .jigsaw2 .b {
        top: 9.5em;
        left: 3.7em;
    }

    .jigsaw2 .l {
        top: 3.7em;
        left: -.5em;
    }

    /* jigsaw3 */
    .jigsaw3 .t {
        top: -2.1em;
        left: 3.7em;
    }

    .jigsaw3 .r {
        top: 3.7em;
        left: 7.9em;
    }

    /* jigsaw4 */
    .jigsaw4 .l {
        top: 3.7em;
        left: -2.1em;
    }

    .jigsaw4 .t {
        top: -0.5em;
        left: 3.7em;
    }
}


@media all and (max-width:500px) {
    h2 {
        margin-top: 30px;

    }

    h3 {
        margin-bottom: 20px;
    }

    .line {
        height: 12em;
    }

    .homeMainDiv {
        width: 16em;
        min-width: 16em;
        min-height: 16em;
    }

    .jigsaw1,
    .jigsaw2,
    .jigsaw3,
    .jigsaw4 {
        width: 8em;
        height: 8em;
    }

    .text {
        font-size: 1em;
        padding-top: 3.4em;
    }


    /* dots */
    .t,
    .b,
    .l,
    .r {
        width: 2em;
        height: 2em;
        position: absolute;
        -webkit-border-radius: 4em;
        -moz-border-radius: 4em;
        border-radius: 4em;
    }

    /* jigsaw1 */
    .jigsaw1 .r {
        top: 4em;
        left: 5.8em;
    }

    .jigsaw1 .b {
        top: 7.9em;
        left: 3.7em;
    }


    /* jigsaw2 */
    .jigsaw2 .b {
        top: 5.5em;
        left: 3em;
    }

    .jigsaw2 .l {
        top: 3em;
        left: -.5em;
    }


    /* jigsaw3 */
    .jigsaw3 .t {
        top: -1.5em;
        left: 3em;
    }

    .jigsaw3 .r {
        top: 3em;
        left: 4.5em;
    }


    /* jigsaw4 */
    .jigsaw4 .l {
        top: 3em;
        left: -1.5em;
    }

    .jigsaw4 .t {
        top: -0.5em;
        left: 3em;
    }

}