@font-path: "../../fonts/";

/*
 * Bootstrap
 */
@import "../bootstrap/less/bootstrap.less";

// Bootstrap variables override
@font-size-h1:            floor((@font-size-base * 2.15)); // ~30px
@font-size-h2:            ceil((@font-size-base * 1.7)); // ~24px
@font-size-h3:            ceil((@font-size-base * 1.25)); // ~18px
@font-size-h4:            @font-size-base;
@font-size-h5:            ceil((@font-size-base * 0.85)); // ~12px
@font-size-h6:            ceil((@font-size-base * 0.7)); // ~10px

@icon-font-path: @font-path;

@border-radius-base: 0;
@border-radius-small: @border-radius-base;
@border-radius-large: @border-radius-base;


/*
 * FontAwesome
 */
@import "../fonts/font-awesome-4.0.3/less/font-awesome.less";

// variables override
@fa-font-path:        "@{font-path}font-awesome-4.0.3/fonts";

// Fixes
[class*="fa-"] {.fa;}
a[class*="fa-"]:hover {text-decoration:none;}


/*
 * YNH Fonts
 */
@import "fonts.less";
@ynh-font-path: @font-path;


/* Comments:
 *
 * 1. we need to rationalise the use of width and max widths. they seem to be
 * completely arbitrarily chosen. May not allow for a lot of flexibility…
 * especially on different screens size.
 *
 */

/* Fix bootstrap use of width. We prefer max-width. */
.container {
  @media (min-width: @screen-sm-min) {
    width: auto;
    max-width: @container-sm;
  }
  @media (min-width: @screen-md-min) {
    width: auto;
    max-width: @container-md;
  }
  @media (min-width: @screen-lg-min) {
    width: auto;
    max-width: @container-lg;
  }
}


html, body {
    width:100%;
}
html {
    /* Force vertical scrollbar to prevent centering jumps. */
    overflow-y: scroll;
}
body {
    &:extend(.container all);
    margin: auto;
    padding: 0 10px;
    @media (min-width: @screen-sm-min) {
        padding: 0 20px;
    }
}

button {
    &:extend(.btn);
}

.block {
    float:left;
    height: 100%;
    /*max-width: 750px;*/
    width: 50%;
    height: 100%;
    padding: 5px;
}

.move {
    transition: margin-left 0.2s ease-in-out;
}

.placehold {
    font-size: 0.0001em;
    color: transparent;
}

/*
 * The top heading of the doc
 *
 */

/*#masthead {
    .hidden-xs;
}*/
.page-header {
    .clearfix;
    .make-row(12);
    margin: 0 0 20px;
    padding-bottom: 20px;

    .homelink {
        margin-top: 20px;
    }

    .homelink {
        .make-xs-column(2);
        position: relative;
        display: block;

        &:before {
            .fa;
            /*.fa-chevron-left;*/
            content: "\f053";
            display: block;
            height: 1em;
            width: 1em;
            position: absolute;
            top: 50%;
            margin-top: -0.4em;
            left: 5px;
            opacity: 0;
            font-size: 1em;
            line-height: 1;
            color: @gray-light;
            transition: all 0.1s ease;

        }
        &:hover {
            &:before {
                opacity: 1;
                left: 0px;
            }
        }

    }

    .buttons {
        .pull-right;
        .make-sm-column(2);
        .make-sm-column-offset(8);
        padding: 17px 0 0;
        a {
            .btn;
            .btn-sm;
            display: block;
            margin: 3px 0;
        }
        .user-interface-btn {
            .btn-primary;
        }
        .logout-btn {
            .btn-default;
        }
    }
}


/*
 * The “slider”
 *
 */

#slider {
    .center-block;
    padding: 5px 5px 30px;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    text-align: left;
}

#slider-container {
    .clearfix;
    /*[RFC] why the max-width? */
    /*max-width: 1500px;*/
    /*width: 1500px; */
    width: 100%;
    height: 100%;
    min-height: 150px;
}

#slideBack, #slideTo, #main {
    .block;
}

/*
 * The main part of the app
 *
 */

#main {
    /*float: left;*/
    /*overflow: hidden;*/
    padding-left: 0;
    padding-right: 0;
}


/*
 * The pop up dialog
 *
 */

#modal {
    .modal;
    .fade;
    z-index: 2001; // more than pacman
    overflow-y: auto;

    & > div {
      .modal-dialog;
      & > div {
        .modal-content;
      }
    }

    header {
      .modal-header;

      .title {
        .modal-title;
        font-weight: bold;
        text-transform: uppercase;
        margin: 0;
      }
    }
    &.no-title header {display: none;}

    .content {
      .modal-body;
    }

    footer {
      .modal-footer;

      button {
        .btn;
        &#modal-cancel {.btn-link;}
        &#modal-confirm {.btn-primary;}
      }
    }
}
@media (min-width: 768px) {
  #modal > div > div {
    width: 600px;
    margin: 30px auto;
  }
}


/*
 * Various styles
 *
 */

body .form-control {
    padding: 6px;
}

.view-title {
    text-align: center;
    margin: 20px auto 0;
    @media (min-width: @screen-xs-min) {
        margin: -35px 120px 0 120px;
    }
}

// Preserve font-size in panel titles.
h1.panel-title {font-size: @font-size-h1;}
h2.panel-title {font-size: @font-size-h2;}
h3.panel-title {font-size: @font-size-h3;}
h4.panel-title {font-size: @font-size-h4;}
h5.panel-title {font-size: @font-size-h5;}
h6.panel-title {font-size: @font-size-h6;}

div.br {
    height: 30px;
}

@-webkit-keyframes pacmanlinearmove {
    from { background-position: 30% 15%; }
    to { background-position: 70% 15%; }
}
@-moz-keyframes pacmanlinearmove {
    from { background-position: 30% 15%; }
    to { background-position: 70% 15%; }
}
@-o-keyframes pacmanlinearmove {
    from { background-position: 30% 15%; }
    to { background-position: 70% 15%; }
}
@keyframes pacmanlinearmove {
    from { background-position: 30% 15%; }
    to { background-position: 70% 15%; }
}
.loader {
    display: block;
    z-index: 2000;
    text-align: center;
    background: rgba(255, 255, 255, 0.5) url(../img/ajax-loader.gif) center 15% no-repeat;
    animation: pacmanlinearmove 5s linear infinite;
}
.loader-content {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2000;
}
.loader-popup {
    margin: auto;
    height: 24px;
    width: 24px;
    background-position: center top;
}

.help-block {
    text-align: right;
}

th h3,
th h4 {
    margin-bottom: 5px;
    font-weight: bold;
}
th h4 {font-size: 16px;}
th h4 small {font-size: 12px;}


select option[default] {
    color: #999;
    font-style: italic;
}


a.list-group-item,
a.list-group-item-heading,
.list-group-item-heading a {
  color: #333;
}

.list-group-item .pull-right.fa-chevron-right {
    position: absolute;
    right: 1em;
    top: 50%;
    margin-top: -0.5em;
}

.panel > .list-group + .panel-footer {
  border-top: 0;
}


.dl-horizontal {
    dt,
    dd {
        min-height: 1.5em;
    }
}


.table-firewall .btn {visibility: hidden;}
.table-firewall td:hover .btn {visibility: visible;}

@media screen and (max-width: 767px) {
    .table-responsive {border: none;}
}

.actions-group {
  .pull-right;
}

.separator {
  .clearfix();
  margin-bottom: 25px;
}

label .list-group-item-text {
    font-weight:normal;
}



/** Breadcrumb **/
@breadcrumb-bg: none;
.btn-breadcrumb {
  .pull-left;
    &:extend(.breadcrumb all);
    // Bootstrap uses ul>li structure, we simply use <a>
    a {
        display: inline-block;
        color: @gray-light;
        & + a {
            &:before {
                display: inline-block;
                content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
                padding: 0 5px;
                color: @breadcrumb-color;
            }
        }
        &:hover,
        &:focus {
            color: @link-hover-color;
        }
    }
}



/** Beautiful checkbox/radio **/
input[type='checkbox'].nice-checkbox,
input[type='radio'].nice-radio {
    position: absolute;
    left: -9999px;

    & + label {cursor: pointer;}
    & + label:before {
        .fa;
        content: @fa-var-square-o;
        display: inline-block;
        width: 1em;
        height: 1em;
        line-height: 1;
        font-size: 1.5em;
        text-align: left;
        vertical-align: middle;
        position: relative;
    }

    &:hover + label:before {
        content: @fa-var-plus-square-o;
    }

    &:checked + label:before {
        content: @fa-var-check-square-o;
    }
    &:checked:hover + label:before {
        content: @fa-var-minus-square-o;
    }

    &[type='radio'] {
        & + label:before {
            content: @fa-var-circle-o;
        }
        &:checked + label:before {
            content: @fa-var-check-circle-o;
        }
    }
}



/** Flash messages **/
#flashMessage {
    max-height: 120px;
    overflow-y: auto;
    margin-bottom: 20px;
    &:empty {margin-bottom: 0;}

    button {display: none;}

   .alert-fail {
        .alert-danger();
    }

    .alert {
        margin-bottom: 0;
        & + .alert {margin-top: 15px;}

        p {
            margin: 0 auto;
            & + p {margin-top: 0.5em;}
        }
    }
    .alert-log {
        background-color: #eee;
        color: #333;

        // YNH custom
        font-family: Consolas,"Liberation Mono",Menlo,Courier,monospace;
        font-size: 12px;
    }
}

@media screen and (min-width: 640px) {
    #slider {
        #toggle-btn {display: none;}
        &.with-flashMessage {
            padding-top: 30px;
            #toggle-btn {display: block;}
        }
    }

    #flashMessage {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 2001; // above pacman
        max-height: 30px;
        opacity: 0.9;
        overflow: hidden;
        box-shadow: 0 0 1px rgba(0,0,0, 0.2);
        .transition(max-height 0.15s);
        &:hover,
        &:active,
        &:focus,
        &.open {
            opacity: 1;
            overflow-y: auto;
            height: auto;
            min-height: 30px;
            max-height: 70%;
            box-shadow: 0px 0 1px rgba(0,0,0, 0.5);
        }

        p {
            padding: 4px 10px;
            min-height: 30px;
            line-height: 22px;
        }

        .alert {
            // Override bootstrap defaults
            padding: 0 100px; // Space for buttons
            margin: 0;
            border: 0;
            border-radius: 0;
            & + .alert {margin-top: 0;}
        }

        button {
            .btn-xs;
            .btn-link;
            margin: 4px 10px;
            max-height: 22px;

            color: @text-color;
            &:hover,
            &:active,
            &:focus {text-decoration: none;}
        }

        #toggle-btn {
            float: left;
            .caret {
                .rotate(270deg);
                .transition(all 0.15s);
            }
        }
        &.open #toggle-btn {
            .caret {.rotate(360deg);}
        }

        #clear-btn {
            float: right;
            display: none;
        }
        &:hover,
        &:active,
        &:focus,
        &.open {
            #clear-btn {
                display: block
            }
        }

    }
}
