.instrument {
    width: 250px;
    height: 250px;
    position: relative;
    display: inline-block;
    overflow: hidden;
}

/* The box containing any element of an indicator */
.instrument .box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Default transformations */
.instrument.attitude .roll {
    transform: rotate(0deg);
    transition: transform 3s ease-in-out;
}

.instrument.attitude .roll .pitch {
    top: 0;
    transition: top 3s ease-in-out;
}

.instrument.heading .yaw {
    transform: rotate(0deg);
    transition: transform 3s ease-in-out;
}

.instrument.vertical-speed .vertical-speed {
    transform: rotate(0deg);
    transition: transform 5s ease-in-out;
}

.instrument.speed .airspeed {
    transform: rotate(90deg);
    transition: transform 5s ease-in-out;
}

.instrument.altimeter .pressure {
    transform: rotate(40deg);
    transition: transform 3s ease-in-out;
}

.instrument.altimeter .needle {
    transform: rotate(90deg);
    transition: transform 3s ease-in-out;
}

.instrument.altimeter .small-needle {
    transform: rotate(90deg);
    transition: transform 3s ease-in-out;
}

/* Coordinator/Turn Coordinator transitions */
.instrument.turn-coordinator .turn {
    transition: transform 1.5s ease-in-out;
}

/* Add transition to all rotating elements within instruments */
.instrument * {
    transition: transform 3s ease-in-out, top 3s ease-in-out;
}

/* Override for specific indicators - airspeed and vertical speed slower */
.instrument.speed .airspeed {
    transition: transform 5s ease-in-out !important;
}

.instrument.vertical-speed .vertical-speed {
    transition: transform 5s ease-in-out !important;
}

/* Override for coordinator - faster */
.instrument.turn-coordinator .turn {
    transition: transform 1.5s ease-in-out !important;
}

.indicators .hidden {
    display: none;
}
