/* #region Page Formatting */

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Roboto';
}

@font-face {
    font-family: Roboto;
    src: url("../fonts/Roboto-Regular.ttf");
}

@font-face {
    font-family: Roboto;
    src: url("../fonts/Roboto-Light.ttf");
    font-weight: lighter;
}

@font-face {
    font-family: Roboto;
    src: url("../fonts/Roboto-Medium.ttf");
    font-weight: bold;
}

html,body {
    height: 100%;
    background: rgb(225, 225, 225);
    overflow-y: hidden;
}

::-webkit-scrollbar {
    width: 0.2rem;
    height: 10px;
}

::-webkit-scrollbar-thumb {
    background: royalblue;
	border-radius: 7px;
}

/* #endregion */

/* #region Default Clases - Framework */

.clear { clear: both; }
.container { padding: 0 2%; margin: 0 auto; }
.w100 { width: 100%; }
.w50 { width: 50%; }
.w33 { width: 33.3%; }
.left { float: left; }
.right { float: right; }

/* #endregion */

/* #region Login Page */

.box-login {
    max-width: 400px;
    width: 95%;
    padding: 40px 2%;
    background: white;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0px 1px 4px 0px rgba(0,0,0,0.4);
}

.box-login h2 {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: black;
}

.box-login input[type=text],
.box-login input[type=password] {
    width: 100%;
    height: 30px;
    border: 1px solid #ccc;
    padding: 0 8px;
    margin-top: 8px;
}

.box-login input[type=submit] {
    margin-top: 8px;
}

.form-group-login:nth-of-type(2) {
    position: relative;
    top: 10px;
}

.form-group-login label {
    font-size: 13px;
    font-weight: lighter;
    padding-right: 5px;
    color: black;
}

/* #endregion */

/* #region Menu */

aside.menu {
    overflow-x: hidden;
    overflow-y: auto;
    width: 250px;
    height: 100%;
    background: #242424;
    padding: 20px 0;
    position: fixed;
    left: 0;
    top: auto;
}

.menu-wraper { width: 250px; }

.box-user { text-align: center; }

.user-avatar {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    border: 3px solid #999;
    display: inline-block;
    text-align: left;
}

.user-avatar i {
    font-size: 50px;
    color: #999;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.user-image {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    border: 3px solid #999;
    display: inline-block;
    position: relative;
}

.user-image img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

.user-name { margin-top: 10px; }

.user-name p {
    color: white;
    font-size: 15px;
    font-weight: normal;
}

.menu-items { margin-top: 30px; }

.menu-items ul {
    width: 90%;
    margin: 0 auto;
    cursor: pointer;
    font-weight: bold;
    font-size: 17px;
    color: white;
    padding: 8px 0;
}

.menu-items ul li {
    list-style-type: none;
    margin-top: 5px;
    padding: 0 10px;
}

.menu-items ul li a {
    text-decoration: none;
    font-weight: lighter;
    font-size: 16px;
    color: white;
}

.menu-active {
    border-radius: 7px;
    background: royalblue;
}

.menu-items-line {
    width: 90%;
    margin: 0 auto;
    height: 3px;
    background: royalblue;
    border-radius: 7px;
}

/* .menu-items {} */

/* #endregion */

/* #region Header */

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 10px 0;
    background: royalblue;
    z-index: 1;
}

.menu-btn {
    position: relative;
    left: calc(250px - 2%);
    cursor: pointer;
    font-size: 16px;
    color: white;
}

.menu-btn > span {
    font-size: 16px;
    text-decoration: none;
}

.header-nav a {
    padding: 0 20px;
    position: relative;
    color: white;
    font-size: 16px;
    text-decoration: none;
}

.header-nav a > span {
    font-size: 16px;
    text-decoration: none;
}

/* #endregion */

/* #region Main Content */

.content {
    width: calc(100% - 250px);
    position: relative;
    left: 250px;
    padding: 20px;
    overflow-y: auto;
}

.content-wraper { min-height: 1px; }

.box-content {
    background: white;
    padding: 20px;
    margin-bottom: 20px;
}

/* #endregion */

/* #region Tables */

.wraper-table {
    overflow-x: auto;
}

table {
    text-align: center;
    font-weight: lighter;
    min-width: 900px;
    width: 100%;
    margin: 20px 0;
    border-collapse: collapse;
}

table thead tr th {
    padding: 8px;
    background: royalblue;
    color: white;
}

table tbody tr {
    border-bottom: 1px solid #727272;
    color: #242424;
}

table tbody td { padding: 8px; }

/* #endregion */

/* #region Forms */

.box-content form {
    margin: 20px 0;
}

.box-content form label {
    font-size: 17px;
    font-weight: lighter;
    color: black;
    display: block;
}

.box-content .form-group { margin: 15px 0; }

.box-content form input[type=text],
.box-content form input[type=password],
.box-content form input[type=datetime-local],
.box-content form input[type=date],
.box-content form input[type=number],
.box-content form .radio {
    margin-top: 8px;
    font-size: 16px;
    font-weight: normal;
    color: black;
    width: 100%;
    height: 40px;
    border: 1px solid #ccc;
    padding-left: 8px;
}

.box-content form .radio { padding: 8px; }
.box-content form .radio span { margin: 0 8px 0 3px; }

.box-content form textarea {
    margin-top: 8px;
    font-size: 16px;
    font-weight: normal;
    color: black;
    width: 100%;
    height: 150px;
    border: 1px solid #ccc;
    padding: 8px;
    resize: vertical;
}

.box-content form select {
    margin-top: 8px;
    font-size: 16px;
    font-weight: normal;
    color: black;
    width: 100%;
    height: 40px;
    border: 1px solid #ccc;
    padding-left: 8px;
}

.box-content form input[type=file] {
    margin-top: 8px;
    border: 1px solid #ccc;
    width: 100%;
    height: 40px;
    padding: 8px;
}

.box-content form input[type=submit],
.box-content form input[type=button] {
    width: 100px;
    height: 40px;
    cursor: pointer;
    margin-top: 8px;
    font-size: 16px;
    background: royalblue;
    color: white;
    border: 0;
}

/* #endregion */

/* #region Buttons */

.btn {
    height: 30px;
    cursor: pointer;
    font-size: 14px;
    background: royalblue;
    color: white;
    border: 0;
    padding: 0 15px;
    font-weight: bold;
}

a.btn {
    text-decoration: none;
    padding: 7px 7px;
    color: white;
    font-size: 13px;
}

div > a.btn.back { background: #999; }
a.btn.edit { background: #f4b03e; }
a.btn.delete { background: #e05c4e; }

/* #endregion */

/* #region Box Alert */

.box-alert {
    position: relative;
    width: 100%;
    padding: 8px 2%;
    text-align: center;
    color: white;
    font-size: 15px;
    margin-bottom: 30px;
}

.success { background: #5cb85c; }

.error { background: tomato; }

/* #endregion */

/* #region Responsive */
@media screen and (max-width: 768px) {
    .menu-btn {
        left: 0;
    }

    .content {
        width: 100%;
        left: 0;
    }
}

@media screen and (max-width: 400px) {
    aside.menu,
    .menu-wraper {
        width: 200px;
    }
}
/* #endregion */