//
// Utilities
// --------------------------------------------------

// Layout
.push-5 {
    .push-generate(5px);
}

.push-10 {
    .push-generate(10px);
}

.push-15 {
    .push-generate(15px);
}

.push-20 {
    .push-generate(20px);
}

.push-30 {
    .push-generate(30px);
}

.push-50 {
    .push-generate(50px);
}

.push-100 {
    .push-generate(100px);
}

.push-150 {
    .push-generate(150px);
}

.pulldown {
    position: relative;
    top: 50px;

    @media screen and (min-width: @screen-md-min) {
        top: 150px;
    }
}

.remove-margin {
    margin: 0 !important;

    &-t { margin-top: 0 !important; }
    &-r { margin-right: 0 !important; }
    &-b { margin-bottom: 0 !important; }
    &-l { margin-left: 0 !important; }
}

.remove-padding {
    padding: 0 !important;

    &-t { padding-top: 0 !important; }
    &-r { padding-right: 0 !important; }
    &-b { padding-bottom: 0 !important; }
    &-l { padding-left: 0 !important; }
}

// Vertical center align
.align-v {
    .vertical-align();

    &&-fwidth {
        width: 100%;
    }
}

// Border
.border {
    border: 1px solid #e9e9e9;

    &-t { border-top: 1px solid #e9e9e9; }
    &-r { border-right: 1px solid #e9e9e9; }
    &-b { border-bottom: 1px solid #e9e9e9; }
    &-l { border-left: 1px solid #e9e9e9; }
}

.border-white-op {
    border: 1px solid rgba(255,255,255,.1);

    &-t { border-top: 1px solid rgba(255,255,255,.1); }
    &-r { border-right: 1px solid rgba(255,255,255,.1); }
    &-b { border-bottom: 1px solid rgba(255,255,255,.1); }
    &-l { border-left: 1px solid rgba(255,255,255,.1); }
}

.border-black-op {
    border: 1px solid rgba(0,0,0,.1);

    &-t { border-top: 1px solid rgba(0,0,0,.1); }
    &-r { border-right: 1px solid rgba(0,0,0,.1); }
    &-b { border-bottom: 1px solid rgba(0,0,0,.1); }
    &-l { border-left: 1px solid rgba(0,0,0,.1); }
}

// Item
.item {
    display: inline-block;
    width: 60px;
    height: 60px;
    text-align: center;
    font-size: 28px;
    font-weight: 300;
    line-height: 60px;

    .si:before {
        position: relative;
        top: 1px;
    }

    a& {
        &:hover,
        &:focus {
            opacity: .6;
        }
    }

    &&-circle {
        border-radius: 50%;
    }

    &&-rounded {
        border-radius: 3px;
    }

    &&-rounded-big {
        border-radius: 24px;

        &.item-2x {
            border-radius: 35px;
        }
    }

    &.item-2x {
        width: 100px;
        height: 100px;
        line-height: 100px;

        .si:before {
            position: relative;
            top: 3px;
        }
    }
}

// Helpers
.overflow-hidden {
    overflow: hidden;
}

.visibility-hidden {
    visibility: hidden;
}