/* =====================================
        Services Diagram 
   ===================================== */
.service_text > a:hover {
    text-decoration: none;
}

#services_we_provide {
    text-align: center;
    text-shadow: none;
    font-size: 56px;
    /*font-weight: bold;*/
    margin-top: 25px;
    /*letter-spacing: 10px;*/
}
#watch_box {
    position: relative;
}
.exploded_watch {
    display: block;
    margin: 175px auto 100px;
}
.service_callout {
    position: absolute;
}
.service_num {
    background: #6a6a6a;
    color: #fff;
    z-index: 10;
    position: absolute;
    font-size: 20px;
    font-weight: bold;
    width: 28px;
    height: 28px;
    text-align: center;
    padding: 2px;
    box-sizing: border-box;
/*    border-radius: 15px;*/
}
.service_text {
    text-transform: uppercase;
    position: absolute;
    left: 35px;
    width: 200px;
    font-weight: 600;
    margin-top: 5px;
    line-height: 130%;
    letter-spacing: 1px;
    cursor: pointer;
}
.service_text a {
    color: rgba(71, 69, 69, 0.5);
}
.h_line, .v_line {
    background: #6a6a6a;
    position: absolute;
    pointer-events: none;
}
.h_line {
    height: 3px;
}
.v_line {
    width: 3px;
}
.dot {
    background: #6a6a6a;
    width: 10px;
    height: 10px;
    position: absolute;
    border-radius: 5px;
    pointer-events: none;
}

/* Hover States*/
.service_text:hover a,
.hovered > .service_text > a {
    color: #d22640;
}
.service_text:hover + .service_num,
.service_text:hover + .service_num + .h_line, 
.service_text:hover + .service_num + .h_line + .v_line, 
.service_text:hover + .service_num + .h_line + .v_line + .dot,
.hovered > .service_text + .service_num,
.hovered > .service_text + .service_num + .h_line,
.hovered > .service_text + .service_num + .h_line + .v_line,
.hovered > .service_text + .service_num + .h_line + .v_line + .dot
{
    background: #d22640;
}

/* 1. Crystal Replacement */
#crystal_replacement {
    right: 345px;
    top: -80px;
}
#crystal_replacement .h_line {
    width: 285px;
    left: -284px;
    top: 13px;
}
#crystal_replacement .v_line {
    height: 100px;
    top: 13px;
    left: -285px;
}
#crystal_replacement .dot {
    left: -289px;
    top: 112px;
}

/* 2. Band Repair */
#band_repair {
    right: 250px;
    top: 25px;
}
#band_repair .h_line {
    width: 120px;
    left: -119px;
    top: 13px;
}
#band_repair .v_line {
    height: 140px;
    top: 13px;
    left: -120px;
}
#band_repair .dot {
    left: -124px;
    top: 150px;
}

/* 3. Exterior Detailing & Polishing */
#exterior_detail {
    left: 110px;
    top: 130px;
}
#exterior_detail .service_text {
    top: -8px;
}
#exterior_detail .h_line {
    width: 225px;
    left: 13px;
    top: 152px;
}
#exterior_detail .v_line {
    height: 130px;
    top: 25px;
    left: 13px;
}
#exterior_detail .dot {
    left: 237px;
    top: 149px;
}

/* 4. Dial Repair */
#dial_repair {
    right: 240px;
    top: 310px;
}
#dial_repair .h_line {
    width: 350px;
    right: -13px;
    top: -88px;
}
#dial_repair .v_line {
    height: 90px;
    top: -88px;
    left: 13px;
}
#dial_repair .dot {
    right: 335px;
    top: -91px;
}

/* 5. Cleaning & Overhaul / Movement Replacement */
#cleaning {
    right: 370px;
    bottom: 280px;
}
#cleaning .service_text {
    top: -8px;
}
#cleaning .h_line {
    width: 110px;
    right: -13px;
    top: 13px;
}
#cleaning .v_line {
    display: none;
}
#cleaning .dot {
    right: 96px;
    bottom: -20px;
}

/* 6. Stem & Crown Repair */
#stem_crown_repair {
      left: 120px;
      bottom: 185px;
}
#stem_crown_repair .h_line {
    width: 550px;
    left: 13px;
    top: 41px;
}
#stem_crown_repair .v_line {
    height: 16px;
    top: 25px;
    left: 13px;
}
#stem_crown_repair .dot {
    left: 560px;
    top: 38px;
}

/* 7. Water Pressure Testing & Gasket Replacement */
#water_pressure {
    left: 120px;
    bottom: 55px;
}
#water_pressure .service_text {
    width: 250px;
    top: -8px;
}
#water_pressure .h_line {
    width: 440px;
    left: 13px;
    top: -44px;
}
#water_pressure .v_line {
    height: 45px;
    top: -44px;
    left: 13px;
}
#water_pressure .dot {
    left: 450px;
    top: -47px;
}

/* 8. Battery Replacement */
#battery_replacement {
    right: 340px;
    bottom: 10px;
}
#battery_replacement .h_line {
    width: 190px;
    right: 0px;
    top: 13px;
}
#battery_replacement .v_line {
    height: 90px;
    bottom: -13px;
    right: 187px;
}
#battery_replacement .dot {
    right: 184px;
    bottom: 75px;
}


/* =====================================
        Media Queries 
   ===================================== */
@media only screen and (min-width: 960px) and (max-width: 1199px) {
    #watch_box {
        -webkit-transform: scale(0.8);
        -moz-transform: scale(0.8);
        transform: scale(0.8);
        top: -100px;
        margin-bottom: -175px;
    }
    
    /* Callout positions */
    #crystal_replacement {
        right: 225px;
    }
    #band_repair {
        right: 145px;
        top: 10px;
    }
    #exterior_detail {
        left: 5px;
        top: 110px;
    }
    #dial_repair {
        right: 120px;
        top: 295px;
    }
    #cleaning {
        right: 255px;
        bottom: 265px;
    }
    #stem_crown_repair {
        left: -5px;
        bottom: 180px;
    }
    #water_pressure {
        left: -5px;
    }
    #battery_replacement {
        right: 225px;
        bottom: 0px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 959px) {
    #services_we_provide {
        font-size: 40px;
    }
    
    #watch_box {
        -webkit-transform: scale(0.7);
        -moz-transform: scale(0.7);
        transform: scale(0.7);
        top: -150px;
        margin-bottom: -225px;
    }
    
    /* Callout positions */
    #crystal_replacement {
        right: 115px;
    }
    #band_repair {
        right: 90px;
        top: -20px;
    }
    #exterior_detail {
        left: -45px;
        top: 55px;
    }
    #dial_repair {
        right: 30px;
        top: 250px;
    }
    #cleaning {
        right: 185px;
        bottom: 210px;
    }
    #stem_crown_repair {
        left: -120px;
        bottom: 150px;
    }
    #water_pressure {
        left: -100px;
        bottom: 35px;
    }
    #battery_replacement {
        right: 140px;
        bottom: -15px;
    }
}

@media only screen and (min-width: 480px) and (max-width: 767px) {
    #services_we_provide {
        font-size: 30px;
    }
    
    #watch_box {
        -webkit-transform: scale(0.6);
        -moz-transform: scale(0.6);
        transform: scale(0.6);
        top: -150px;
        margin-bottom: -225px;
    }
    
    /* Callout positions */
    #crystal_replacement {
        right: 105px;
        top: -90px;
    }
    #crystal_replacement .h_line {
        width: 125px;
        left: -125px;
    }
    #crystal_replacement .v_line {
        left: -125px;
    }
    #crystal_replacement .dot {
        left: -128px;
        top: 110px;
    }
    
    #band_repair {
        right: 15px;
        top: -20px;
    }
    #band_repair .h_line {
        width: 100px;
        left: -100px;
    }
    #band_repair .v_line {
        left: -100px;
        height: 80px;
    }
    #band_repair .dot {
        left: -103px;
        top: 90px;
    }
    
    #exterior_detail {
        left: -45px;
        top: -35px;
    }
    #exterior_detail .h_line {
        width: 140px;
    }
    #exterior_detail .dot {
        left: 150px;
    }
    
    #dial_repair {
        right: 15px;
        top: 80px;
    }
    #dial_repair .h_line {
        width: 200px;
        top: 13px;
    }
    #dial_repair .v_line {
        display: none;
    }
    #dial_repair .dot {
        right: 185px;
        top: 10px;
    }
    
    #cleaning {
        right: 80px;
        bottom: 125px;
    }
    #cleaning .h_line {
        width: 90px;
    }
    #cleaning .dot {
        right: 75px;
    }
    
    #stem_crown_repair {
        left: -120px;
        bottom: 100px;
    }
    #stem_crown_repair .h_line {
        width: 360px;
    }
    #stem_crown_repair .dot {
        left: 370px;   
    }
    
    #water_pressure {
        left: -120px;
        bottom: 0px;
    }
    #water_pressure .h_line {
        width: 308px;
    }
    #water_pressure .dot {
        left: 315px;
    }
    
    #battery_replacement {
        right: 105px;
        bottom: -45px;
    }
    #battery_replacement .h_line {
        width: 80px;
    }
    #battery_replacement .v_line {
        right: 77px;
        bottom: -15px;
    }
    #battery_replacement .dot {
        right: 73px;
        bottom: 73px;
    }
}

@media only screen and (max-width: 479px) {
    #services_we_provide {
            font-size: 30px;
    }
    
    #watch_box {
        top: -150px;
        margin-bottom: -225px;
    }
    
    .service_callout {
        display: none;
    }
}