/* Prototypes */
.opacity(@value) {
    -webkit-opacity: @value;
     -khtml-opacity: @value;
       -moz-opacity: @value;
        -ms-opacity: @value;
         -o-opacity: @value;
            opacity: @value;
    @opperc: @value * 100;
    -ms-filter: ~"progid:DXImageTransform.Microsoft.Alpha(opacity=@{opperc})";
    filter: ~"alpha(opacity=@{opperc})";
}
.transform(...) {
    -webkit-transform: ~`"@{arguments}".replace(/[\[\]]/g, '')`;
       -moz-transform: ~`"@{arguments}".replace(/[\[\]]/g, '')`;
        -ms-transform: ~`"@{arguments}".replace(/[\[\]]/g, '')`;
         -o-transform: ~`"@{arguments}".replace(/[\[\]]/g, '')`;
            transform: ~`"@{arguments}".replace(/[\[\]]/g, '')`;
}
.transition-duration(@value) {
    -webkit-transition-duration: @value;
     -khtml-transition-duration: @value;
       -moz-transition-duration: @value;
        -ms-transition-duration: @value;
         -o-transition-duration: @value;
            transition-duration: @value;
}
.transition-delay(@value) {
    -webkit-transition-delay: @value;
     -khtml-transition-delay: @value;
       -moz-transition-delay: @value;
        -ms-transition-delay: @value;
         -o-transition-delay: @value;
            transition-delay: @value;
}
.transition-property(@property) {
    -webkit-transition-property: @property;
       -moz-transition-property: @property;
        -ms-transition-property: @property;
         -o-transition-property: @property;
            transition-property: @property;
}
.transition-timing-function(@timing-function) {
    -webkit-transition-timing-function: @timing-function;
       -moz-transition-timing-function: @timing-function;
        -ms-transition-timing-function: @timing-function;
         -o-transition-timing-function: @timing-function;
            transition-timing-function: @timing-function;
}

/* Counter styles */
.counter .count .value > span.reset {
    .opacity(0);
    .transform(translate(13px, -36px));
}
.counter .count .value > span.in {
    .opacity(1);
    .transform(translate(0, 0));
    .transition-duration(0.5s);
    .transition-timing-function(linear);
}
.counter .count .value > span.out {
    .opacity(0);
    .transform(translate(-13px, 36px));
    .transition-duration(0.5s);
    .transition-timing-function(linear);
}

/* Section styles */
.links li a {
    .opacity(0.15);
    .transition-duration(0.35s);
}
.links li.active a, .links li a:hover {
    .opacity(1);
}

/* Contact & Share overlay + content */
#contact-overlay, #share-overlay {
    .opacity(0);
    .transition-duration(1s);
}
#contact-form, #share-content {
    .opacity(0);
    .transition-duration(0.35s);
}
#contact-overlay.show, #contact-form.show, #share-overlay.show, #share-content.show {
    .opacity(1);
}

/* Medium resolution devices */
@media all and (max-width: 840px) {
    .counter .count .value > span.reset {
        .transform(translate(7px, -18px));
    }
    .counter .count .value > span.out {
        .transform(translate(-7px, 18px));
    }
}

/* Small resolution devices */
@media all and (max-width: 480px) {
    .counter .count .value > span.reset {
        .transform(translate(5px, -13px));
    }
    .counter .count .value > span.out {
        .transform(translate(-5px, 13px));
    }
}