.al-imagemagnify {
    display: inline-block;
    position: relative;
    overflow: visible;
}
.al-imagemagnify-container,
.al-imagemagnify,
.al-imagemagnify-container img,
.al-imagemagnify-background {
    user-drag: none; 
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}
.al-imagemagnify-area {
    position: absolute;
    width: 150px;
    height: 150px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 100%;
    border: 2px solid black;
    background: white;
    overflow: hidden;
    z-index: 11;
}
.al-imagemagnify-area:active,
.al-imagemagnify-area *:active {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}
.al-imagemagnify-area .al-imagemagnify-background {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
}
.al-square > .al-imagemagnify .al-imagemagnify-area {
    border-radius: 0;
}
.al-imagemagnify-highlight {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    width: 150%;
    height: 0;
    padding-bottom: 150%;
    background: rgba(255,255,255,0.2);
    transform: rotate(53deg) translate(60%, -70%);
    transform-origin: 100% 0%;
}
.al-highlight .al-imagemagnify-highlight {
    display: block;
}
.al-imagemagnify-container.al-click-move .al-imagemagnify {
    cursor: crosshair;
}
.al-imagemagnify-text {
    position: absolute;
    top: 50%;
    font-size: 20px;
    text-align: center;
    width: 100%;
    padding: 0 5px;
    transform: translate(0, -50%);
    opacity: 1;
    transition: opacity 0.5s;
}
.al-imagemagnify-text-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    transition: opacity 0.5s;
}
.al-move-transition {
    transition: top 1s, left 1s, background-position 1s;
    transition-timing-function: ease;
}
.al-move-linear.al-auto-move .al-move-transition {
    transition-timing-function: linear;
}
.al-opacity-transition {
    transition: all 0.5s;
}

.al-imagemagnify-attached {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}
.al-imagemagnify-attached .al-imagemagnify,
.al-imagemagnify-attached .al-imagemagnify > img {
    width: 100%;
}