.checkboxWrapper .checkbox {
    display: table-cell;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    text-align: center;
    margin: 10% 0;
}

.checkboxWrapper label {
    display: inline-block;
    color: #fafafa;
    cursor: pointer;
    position: relative;
}

.checkboxWrapper a {
    text-decoration: none;
    color: #F2F3F5;
    cursor: pointer;
}

.checkboxWrapper a:hover {
    text-decoration: underline;
    color: #F2F3F5;
    cursor: pointer;
}

.checkboxWrapper label span {
    display: inline-block;
    position: relative;
    background-color: transparent;
    width: 25px;
    height: 25px;
    transform-origin: center;
    border: 2px solid #fafafa;
    border-radius: 30%;
    vertical-align: middle;
    margin-right: 10px;
    transition: background-color 150ms 200ms, transform 350ms cubic-bezier(0.78, -1.22, 0.17, 1.89);
}

.checkboxWrapper label span:before {
    content: "";
    width: 0px;
    height: 2px;
    border-radius: 2px;
    background: #fafafa;
    position: absolute;
    transform: rotate(45deg);
    top: 13px;
    left: 9px;
    transition: width 50ms ease 50ms;
    transform-origin: 0% 0%;
}

.checkboxWrapper label span:after {
    content: "";
    width: 0;
    height: 2px;
    border-radius: 2px;
    background: #fafafa;
    position: absolute;
    transform: rotate(305deg);
    top: 16px;
    left: 10px;
    transition: width 50ms ease;
    transform-origin: 0% 0%;
}

.checkboxWrapper label:hover span:before {
    width: 5px;
    transition: width 100ms ease;
}

.checkboxWrapper label:hover span:after {
    width: 10px;
    transition: width 150ms ease 100ms;
}

.checkboxWrapper input[type=checkbox] {
    display: none;
}

.checkboxWrapper input[type=checkbox]:checked+label span {
    background-color: #3b6969;
    transform: scale(1.25);
}

.checkboxWrapper input[type=checkbox]:checked+label span:after {
    width: 10px;
    background: #fff;
    transition: width 150ms ease 100ms;
}

.checkboxWrapper input[type=checkbox]:checked+label span:before {
    width: 5px;
    background: #fff;
    transition: width 150ms ease 100ms;
}

.checkboxWrapper input[type=checkbox]:checked+label:hover span {
    background-color: #3b6969;
    transform: scale(1.25);
}

.checkboxWrapper input[type=checkbox]:checked+label:hover span:after {
    width: 10px;
    background: #fff;
    transition: width 150ms ease 100ms;
}

.checkboxWrapper input[type=checkbox]:checked+label:hover span:before {
    width: 5px;
    background: #fff;
    transition: width 150ms ease 100ms;
}

@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
    .checkboxWrapper a {
        font-size: 14px;
        text-decoration: underline;
        text-decoration-color: #FAFAFA;
    }

}