/*
    This file is part of Workout Manager

    Workout Manager is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Workout Manager is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with Workout Manager. If not, see <http://www.gnu.org/licenses/>.
*/

/**************************************************************
 *
 * This file contains custom classes and styles
 *
 **************************************************************/

/**************************************************************
 * Font definitions
 **************************************************************/

/* font-face kit by Fonts2u - http://www.fonts2u.com */
@font-face {
    font-family: "Open Sans Light";
    src: url("/static/fonts/OpenSans-Light.eot?") format("eot"),
    url("/static/fonts/OpenSans-Light.woff") format("woff"),
    url("/static/fonts/OpenSans-Light.ttf") format("truetype"),
    url("/static/fonts/OpenSans-Light.svg#OpenSans-Light") format("svg");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "Open Sans";
    src: url("/static/fonts/OpenSans-Regular.eot?") format("eot"),
    url("/static/fonts/OpenSans-Regular.woff") format("woff"),
    url("/static/fonts/OpenSans-Regular.ttf") format("truetype"),
    url("/static/fonts/OpenSans-Regular.svg#OpenSans") format("svg");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "Open Sans Bold";
    src: url("/static/fonts/OpenSans-Bold.eot?") format("eot"),
    url("/static/fonts/OpenSans-Bold.woff") format("woff"),
    url("/static/fonts/OpenSans-Bold.ttf") format("truetype"),
    url("/static/fonts/OpenSans-Bold.svg#OpenSans-Bold") format("svg");
    font-weight: normal;
    font-style: normal;
}


/* sticky footer */

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 5rem !important; /* Margin bottom by footer height */
}

footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 4rem; /* Set the fixed height of the footer here */
}


/*
 * Images in links are vertically aligned
 */
a img {
    vertical-align: middle;
}

/*
 * "invisible" elements, simply hidden (they still take all the space)
 */
.invisible {
    display: none;
}

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


/*
 * Set the sizes for the background where the muscles are shown on the exercise view page
 */
div.muscle-background {
    width: 150px;
    height: 276px;
    background-size: 150px;
    background-repeat: no-repeat;
}

/*
 * Set an additional padding to the generated DIV on the edit set page
 */
#exercise-search-log {
    padding-left: 1em;
}


/**************************************************************
 * Mouse hover options
 **************************************************************/

/*
 * Hide the edit options (edit, delete) on tables, only show them when the mouse is over the row
 */
.editoptions {
    visibility: hidden;
}

ul:hover .editoptions,
tr:hover .editoptions,
tbody tr:hover td .editoptions {
    visibility: visible;
}

/*
 * Deactivate the default background color on hover
 */
.editoptions a:hover,
.ui-tabs-nav a:hover,
.ui-tabs-nav a:focus,
.ajax-exercise-select a:hover,
.no-hover a:hover,
.no-hover:hover {
    background-color: transparent;
}


/*
 * Make more space for the page title
 */
#page-title {
    margin-top: 0.5em;
}

/*
 * Links in warning boxes get a different style, the default blue doesn't match
 * well with orange
 */
div.warning a,
div.success a,
div.info a,
div.success a:hover,
div.success a:active,
div.warning a:hover,
div.warning a:active,
div.info a:hover,
div.info a:active {
    color: black;
    text-decoration: underline;
    background-color: transparent;
}

/**************************************************************
 * Autocompleter
 **************************************************************/

/*
 * Category heading for the ajax autocompleter
 */
.ui-autocomplete-category {
    margin: 0;
    text-align: center;
    zoom: 1;
    width: 100%;
    font-weight: bold;
    background-color: #d3d7cf;
    border-bottom: 1px solid #888a85;
}

/*
 * Give the result list from the autocompleter a maximum size
 */
.ui-autocomplete {
    max-height: 500px;
    max-width: 500px;
    overflow-y: auto;
    overflow-x: hidden; /* prevent horizontal scrollbar */
}

/*
 * Give odd child's a different background colour (thanks CSS3!)
 */
.ui-autocomplete li.ui-menu-item:nth-child(odd) {
    background: #eeeeec;
}

/**************************************************************
 * extra-bold fonts
 **************************************************************/

.extra-bold {
    font-family: "Open Sans Bold", Arial, Helvetica, sans-serif;
    font-weight: 300;
}


/**************************************************************
 * Styling for the SVG elements on the weight chart
 **************************************************************/

.axis path,
.axis line {
    fill: none;
    stroke: #000;
    shape-rendering: crispEdges;
}

.area {
    fill: lightsteelblue;
}

.line {
    fill: none;
    stroke: steelblue;
    stroke-width: 1.5px;
}

.dot {
    fill: white;
    stroke: steelblue;
    stroke-width: 1.5px;
}

circle {
    cursor: pointer;
}

circle:hover {
    fill: #204a87;
    stroke: #204a87;
}

.brush .extent {
    stroke: #fff;
    fill-opacity: 0.125;
    shape-rendering: crispEdges;
}

/* Color series from d3.scale.category10() */
circle.color-1f77b4:hover {
    fill: #1f77b4;
}

circle.color-ff7f0e:hover {
    fill: #ff7f0e;
}

circle.color-2ca02c:hover {
    fill: #2ca02c;
}

circle.color-d62728:hover {
    fill: #d62728;
}

circle.color-9467bd:hover {
    fill: #9467bd;
}

circle.color-8c564b:hover {
    fill: #8c564b;
}

circle.color-e377c2:hover {
    fill: #e377c2;
}

circle.color-7f7f7f:hover {
    fill: #7f7f7f;
}

circle.color-bcbd22:hover {
    fill: #bcbd22;
}

circle.color-17becf:hover {
    fill: #17becf;
}

/**************************************************************
 * Weight log calendar
 **************************************************************/
table.month td {
    width: 14.285%;
    height: 4em;
    text-align: center;
}

table.month th.month {
    text-align: center;
    background-color: #eeeeec;
}

table.month a.calendar-link {
    height: 100%;
    line-height: 1;
}

table.month td.session-bad {
    background-color: #f2dede;
}

table.month td.session-bad:hover {
    background-color: #c9302c;
}

table.month td.session-neutral {
    background-color: #f5f5f5;
}

table.month td.session-neutral:hover {
    background-color: #babdb6;
}

table.month td.session-good {
    background-color: #dff0d8;
}

table.month td.session-good:hover {
    background-color: #449d44;
}

/*
 * Autocompleter
 */
.autocomplete-wrapper {
    margin: 44px auto 44px;
    max-width: 600px;
}

.autocomplete-wrapper label {
    display: block;
    margin-bottom: 0.75em;
    color: #3f4e5e;
    font-size: 1.25em;
}

.autocomplete-wrapper .text-field {
    padding: 0 15px;
    width: 100%;
    height: 40px;
    border: 1px solid #cbd3dd;
    font-size: 1.125em;
}

.autocomplete-wrapper ::-webkit-input-placeholder,
.autocomplete-wrapper ::-moz-placeholder,
.autocomplete-wrapper :-moz-placeholder,
.autocomplete-wrapper :-ms-input-placeholder {
    color: #cbd3dd;
    font-style: italic;
    font-size: 18px;
}

.autocomplete-suggestions {
    overflow: auto;
    border: 1px solid #cbd3dd;
    background: #fff;
}

.autocomplete-suggestion {
    overflow: hidden;
    padding: 5px 15px 5px 22px;
    white-space: nowrap;
}

.autocomplete-selected {
    background: #f0f0f0;
}

.autocomplete-suggestions strong {
    color: #3465a4;
    font-weight: bold;
}

.autocomplete-group {
    background-color: #d3d7cf;
    padding-left: 13px;
}

.autocomplete-group strong {
    color: black;
    font-weight: bold;
}

.dt-container {
    margin-bottom: 1.5rem;
}