/**
 * ----------------------------------------
 * Element Classes ZOOMED
 * ----------------------------------------
 */
#fiegeversum * {
    font-family: 'Helvetica LT W04 Roman',
        Helvetica,
        sans-serif;
}

#fiegeversum .master-wrapping-container {
    background: transparent url('../assets/images/StaticBackground@2x.png') no-repeat scroll -70px -60px;
    height: 790px;
    width: 970px;
    background-size: 115%;
    position: relative;
    overflow: hidden;
    border: 2px solid transparent;
    left: calc(41% - 395px);
    margin: 40px 0;
}

#fiegeversum .zoom-wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    text-align: center;
}

#fiegeversum .line-wrapper-zoomed {
    position: absolute;
    width: 100%;
    height: 100%;
}

#fiegeversum .customer-icon {
    background: transparent url('../assets/svg/ico_kunde.svg') no-repeat scroll 50% 30%;
    position: absolute;
    width: 70px;
    height: 70px;
    background-size: contain;
    top: 275px;
    left: 30px;
}

#fiegeversum .arrow {
    background: transparent url('../assets/svg/arrow.svg') no-repeat scroll 50% 30%;
    position: absolute;
    width: 100px;
    height: 20px;
    top: 20px;
    background-size: contain;
    left: 70px;
}

#fiegeversum .line-wrapper-zoomed svg {
    width: 100%;
    height: 100%;
}

#fiegeversum .line-wrapper-zoomed svg line {
    /* opacity: 0.5; */
}

#fiegeversum .child-zoomed-outer {
    width: 630px;
    height: 630px;
    left: calc(50% - 315px);
    top: 61px;
    position: absolute;
    border-radius: 9999px;
    background: white;
}

#fiegeversum .spinner {
    position: absolute;
    width: 630px;
    height: 630px;
    top: 61px;
    left: calc(50% - 312px);
    background: transparent url('../assets/svg/outercircle.svg') no-repeat scroll 0 0;
    animation: spin 10s linear 0s infinite normal none;
    z-index: 0;
}

/* child bubble in zoomed view */
#fiegeversum .child-zoomed {
    height: 600px;
    width: 600px;
    left: 11px;
    top: 10px;
    z-index: 100;
    border-radius: 9999px;
    position: absolute;
}

#fiegeversum .child-zoomed>div {
    left: calc(50% - 165px);
    top: 130px;
    width: 330px;
    height: 330px;
    border: 2px solid #b82237;
    border-radius: 9999px;
    position: absolute;
}

#fiegeversum .logo-zoomed {
    top: 128px;
    left: calc(50% - 75px);
    width: 150px;
    height: 60px;
    background: transparent url('../assets/svg/logo_fiege_lm_v2.svg') no-repeat scroll 50% 30%;
    background-size: 100%;
    position: absolute;
}

#fiegeversum .info-box {
    position: absolute;
    left: 470px;
    text-align: left;
    color: red;
    width: 170px;
    line-height: 18px;
    height: 600px;
    top: -100px;
    color: #b82237;
    font-size: 16px;
    font-weight: normal;
}

#fiegeversum .info-box>div {
    opacity: 0;
    height: 100px;
}

#fiegeversum .info-box .info-item-active {
    opacity: 1;
}

#fiegeversum .border-box {
    border: 1px solid red;
    width: 300px;
    height: 300px;
    position: absolute;
}

#fiegeversum .border-box-top {
    border: none;
    border-top: 2px dotted #b82237;
    border-left: 2px dotted #b82237;
}

#fiegeversum .border-box-bottom {
    border: none;
    border-bottom: 2px dotted #b82237;
    border-left: 2px dotted #b82237;
}

/* zoomed in single link target wrap */
#fiegeversum .link-bubble {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
        0 2px 4px -1px rgba(0, 0, 0, 0.06);
    position: absolute;
    border: 2px solid #b82237;
    color: #b82237;
    font-weight: bold;
    width: 115px;
    height: 115px;
    font-size: 10px;
    border-radius: 9999px;
    background: white;
    cursor: pointer;
    text-transform: uppercase;
}

#fiegeversum .link-bubble.media {
    background: white url(../assets/svg/icon_media-and-mail.svg) no-repeat scroll 40px 55px;
    background-size: 30px 30px;
}

#fiegeversum .link-bubble.media.active {
    color: white;
    background: #b82237 url('../assets/svg/icon_media-and-mail_white.svg') no-repeat scroll 40px 55px;
    background-size: 30px 30px;
}

#fiegeversum .link-bubble.logistics {
    background: white url('../assets/svg/icon_parcel.svg') no-repeat scroll 40px 55px;
    background-size: 30px 30px;
}

#fiegeversum .link-bubble.logistics.active {
    color: white;
    background: #b82237 url('../assets/svg/icon_parcel_white.svg') no-repeat scroll 40px 55px;
    background-size: 30px 30px;
}

#fiegeversum .link-bubble.waste {
    background: white url('../assets/svg/icon_waste-control.svg') no-repeat scroll 40px 55px;
    background-size: 30px 30px;
}

#fiegeversum .link-bubble.waste.active {
    color: white;
    background: #b82237 url('../assets/svg/icon_waste-control_white.svg') no-repeat scroll 40px 55px;
    background-size: 30px 30px;
}

#fiegeversum .link-bubble.transport {
    background: white url('../assets/svg/icon_transport-solutions.svg') no-repeat scroll 40px 55px;
    background-size: 30px 30px;
}

#fiegeversum .link-bubble.transport.active {
    color: white;
    background: #b82237 url('../assets/svg/icon_transport-solutions_white.svg') no-repeat scroll 40px 55px;
    background-size: 30px 30px;
}

#fiegeversum .link-bubble>a {
    top: 20%;
    left: calc(50% - 35px);
    position: relative;
    width: 70px;
    display: block;
    line-height: 10px;
    color: #b82237;
    padding-bottom: 50px;
    font-size: 11px;
    line-height: 11px;
    text-decoration: none;
}

#fiegeversum .link-bubble>br {
    display: none;
}

#fiegeversum .link-bubble.active>a {
    color: white;
}

#fiegeversum .hover-effect {
    width: 115px;
    height: 115px;
    position: absolute;
    border-radius: 9999px;
    border: 2px solid transparent;
    cursor: pointer;
    background-color: transparent;
}

#fiegeversum .hover-effect-active {
    border-color: transparent;
    animation: animate--scale-border 1.5s ease-in-out infinite both;
}

/**
 * ----------------------------------------
 * Animation Classes
 *
 * @keyframes duration | timing-function | delay | iteration-count | direction | fill-mode | play-state | name
 * animation: 3s ease-in 1s 2 reverse both paused slidein;
 * ----------------------------------------
 */

/**
 * ----------------------------------------
 * animation vibrate-1
 * ----------------------------------------
 */
@keyframes vibrate-1 {
    0% {
        transform: rotate(0deg) translate(-5px) rotate(0deg);
    }

    50% {
        transform: rotate(360deg) translate(5px) rotate(-360deg);
    }

    100% {
        transform: rotate(720deg) translate(-5px) rotate(-720deg);
    }
}

/**
 * ----------------------------------------
 * animation vibrate-2
 * ----------------------------------------
 */
@keyframes vibrate-2 {
    0% {
        transform: rotate(0deg) translate(3px) rotate(0deg);
    }

    50% {
        transform: rotate(180deg) translate(-3px) rotate(-180deg);
    }

    100% {
        transform: rotate(360deg) translate(3px) rotate(-360deg);
    }
}

/**
 * ----------------------------------------
 * animation animate--scale-border
 * ----------------------------------------
 */
@keyframes animate--scale-border {
    0% {
        transform: scale(1);
        border-color: transparent;
    }

    1% {
        transform: scale(1);
        border-color: #F1D2D7;
    }

    100% {
        transform: scale(1.3);
        border-color: transparent;
    }
}

/**
    * ----------------------------------------
    * animation fade-bg
    * ----------------------------------------
    */
@keyframes animate--fade-bg {
    0% {
        background-color: white;
        color: #b82237;
        background-image: url('../assets/svg/engineering.svg');
    }

    100% {
        background-color: #b82237;
        color: white;
        background-image: url('../assets/svg/engineering-white.svg');
    }
}

/**
    * ----------------------------------------
    * animation fade-bg
    * ----------------------------------------
    */
@keyframes animate--fade-bg-media {
    0% {
        background-color: white;
        color: #b82237;
        background-image: url('../assets/svg/icon_media-and-mail.svg');

    }

    100% {
        background-color: #b82237;
        color: white;
        background-image: url('../assets/svg/icon_media-and-mail_white.svg');
    }
}


/**
    * ----------------------------------------
    * animation fade-bg
    * ----------------------------------------
    */
@keyframes animate--fade-bg-transport {
    0% {
        background-color: white;
        color: #b82237;
        background-image: url('../assets/svg/icon_transport-solutions.svg');
    }

    100% {
        background-color: #b82237;
        color: white;
        background-image: url('../assets/svg/icon_transport-solutions_white.svg');
    }
}

/**
    * ----------------------------------------
    * animation fade-bg
    * ----------------------------------------
    */
@keyframes animate--fade-bg-waste {
    0% {
        background-color: white;
        color: #b82237;
        background-image: url('../assets/svg/icon_waste-control.svg');
    }

    100% {
        background-color: #b82237;
        color: white;
        background-image: url('../assets/svg/icon_waste-control_white.svg');
    }
}

/**
    * ----------------------------------------
    * animation fade-bg
    * ----------------------------------------
    */
@keyframes animate--fade-bg-logistics {
    0% {
        background-color: white;
        color: #b82237;
        background-image: url('../assets/svg/icon_parcel.svg');
    }

    100% {
        background-color: #b82237;
        color: white;
        background-image: url('../assets/svg/icon_parcel_white.svg');
    }
}

/**
 * ----------------------------------------
 * animation opacity-hide
 * ----------------------------------------
 */
@keyframes animate--opacity-hide {
    0% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

/**
 * ----------------------------------------
 * animation opacity-show zoomed container
 * ----------------------------------------
 */
@keyframes animate--opacity-show {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/**
 * ----------------------------------------
 * animation opacity-show zoomed container
 * ----------------------------------------
 */
@keyframes animate--opacity-lines {
    0% {
        opacity: 0.2;
    }

    10% {
        opacity: 1;
    }

    20% {
        opacity: 0.2;
    }

    100% {
        opacity: 0.2
    }
}

/**
    * ----------------------------------------
    * animation opacity-hide
    * ----------------------------------------
    */
@keyframes animate--opacity-hide-linear {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}


/**
    * ----------------------------------------
    * animation opacity-show
    * ----------------------------------------
    */
@keyframes animate--opacity-show-linear {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/**
    * ----------------------------------------
    * animation spin
    * ----------------------------------------
    */
@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/**
 * ----------------------------------------
 * ANIMATIONS FOR WOBBLING
 * ----------------------------------------
 */
.vibrate-1-1 {
    animation: vibrate-1 4.5s linear infinite both;
}

.vibrate-1-2 {
    animation: vibrate-1 4.3s linear infinite reverse both;
}

.vibrate-1-3 {
    animation: vibrate-1 4.7s linear infinite alternate both;
}

.vibrate-1-4 {
    animation: vibrate-1 4.6s linear infinite both;
}

.vibrate-2-1 {
    animation: vibrate-2 3.5s linear infinite both;
}

.vibrate-2-2 {
    animation: vibrate-2 3.3s linear infinite reverse both;
}

.vibrate-2-3 {
    animation: vibrate-2 3.7s linear infinite alternate both;
}

.vibrate-2-4 {
    animation: vibrate-2 3.6s linear infinite both;
}

/**
 * ----------------------------------------
 * LINE BLINK EFFECT
 * ----------------------------------------
 */
.fade-line {
    animation: animate--opacity-lines 5s ease-in-out 0s infinite normal none;
}

.fade-in {
    animation: animate--opacity-show 0.6s linear normal both;
}

/* MOBILE */
@media (max-width: 991px) {
    #fiegeversum .master-wrapping-container {
        background: none;
        height: 490px;
        width: 100%;
        left: auto;
    }

    #fiegeversum .child-zoomed-outer {
        top: -70px;
    }    

    #fiegeversum .zoom-wrapper {
        width: 320px;
        height: 100%;
        position: absolute;
        text-align: center;
        left: calc(47% - 160px);
    }

    #fiegeversum .info-box,
    #fiegeversum .customer-icon,
    #fiegeversum .spinner {
        display: none;
    }
}