@import url('https://fonts.googleapis.com/css?family=Roboto');
@import url('https://fonts.googleapis.com/css?family=Fira+Sans');

/*
    ifa rot: #dd251d
*/


* {
    box-sizing: border-box;
}

body,h1,h2,h3,h4,h5,h6,p,span,form,table {
    margin:0px;
    padding:0px;
}

@page { margin: 0px; }

h3 {
    margin-top:20px;
    margin-bottom:10px;
}

a {
    text-decoration:none;
    color:inherit;
}

body {
    background-color:rgb(240,240,240);
    font-family: 'Fira Sans', sans-serif;
}

header {
    height:50px;
    width:100%;
    background-color:white;
    box-shadow:0px -3px 10px rgba(0,0,0,0.5);
    padding-right:10px;
    z-index:1;
    position:fixed;
    line-height:50px;
}

header .right {
    float:right;
    height:50px;
}

header .left {
    float:left;
    height:50px;
}

header:after {
    content:'';
    clear:both;
}

/*
    Header menu
*/

header ul {
    list-style-type:none;
    margin:0px;
    padding:0px;
}

header ul li {
    float:left;
    line-height:50px;
}

header ul a {
    text-decoration: none;
    width:100%;
    height:50px;
    line-height:50px;
    padding-left:10px;
    padding-right:10px;
    -webkit-transition: 0.2s; /* Safari */
    transition: 0.2s;
    overflow:hidden;
    display:block;
    color:rgb(150,150,150);
}

header:after {
    clear:both;
}

header ul a:hover {
    background-color:rgb(245,245,245);
}

header .title {
    height:50px;
    font-size:30px;
    padding-left:12px;
    cursor:pointer;
    color:rgb(150,150,150);
}

/*
    Menu
*/

.menu {
    width:0px;
    height:100%;
    background-color:#2f2f2f;
    z-index:3;
    position:fixed;
    top:50px;
    -webkit-transition: 0.3s; /* Safari */
    transition: 0.3s;
    box-shadow:2px 0px 5px rgba(0,0,0,0.5);
    overflow:hidden;
}

.menu .mainmenu {
    list-style-type:none;
    margin:0px;
    padding:0px;
}

.menu .mainmenu .active {
    background-color: #dd251d
}

.menu .mainmenu a {
    text-decoration: none;
    width:100%;
    display:block;
    color:white;
    height:40px;
    line-height:40px;
    padding-left:10px;
    -webkit-transition: 0.2s; /* Safari */
    transition: 0.2s;
    overflow:hidden;
}

.menu .mainmenu a:hover {
    background-color: #dd251d
}


/*
    Submenu
*/

.mainmenu .expanded {
    display:block;
    max-height:600px !important;
}

.mainmenu li > .submenu {
    overflow: hidden;
    max-height: 0;
    -webkit-transition: all 3.0s ease-out;
    -webkit-transition: all 0.5s ease-in;
    list-style: none;
    padding: 0;
    margin: 0;
    background-color:#393939;
}

.mainmenu li > .submenu a {
    padding-left:20px;
}

/*
    Submenu in submenu
*/

.mainmenu li > .submenu .submenu a {
    padding-left:40px;
    background-color:#585858;
}

.mainmenu li > .submenu .submenu a:hover {
    background-color: #dd251d
}

/*
    span badge
*/

.badge {
    display: inline-block;
    padding: .25em .4em;
    font-size: 75%;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25rem;
    color: #fff;
    background-color: #dc3545;
}

/*
    Content area
*/

.content {
    width:100%;
    position:relative;
    padding-left:10px;
    padding-top:60px;
    padding-right:10px;
    padding-bottom:10px;
    -webkit-transition: 0.2s; /* Safari */
    transition: 0.2s;
}

.content-fullwidth {
    padding-left:10px;
}

.content h1 {
    border-bottom:2px solid rgba(0,0,0,0.1);
    margin-bottom:15px;
}

.content h2 {
    margin-bottom:10px;
}

.content h4 {
    margin-bottom:10px;
}

.content p {
    margin-bottom:10px;
}

/*
    Content area content
*/

.content-mainbox {
    width:100%;
    min-height:50px;
    background-color:#fff;
    box-shadow:0px 0px 8px -1px;
    border-radius:5px;
    margin:auto;
    padding:20px;
    margin-bottom:20px;
}

.text-centered {
    text-align:center;
}

.text-right {
    text-align:right;
}

/*
    Content area row col design
*/

.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom:20px;
}

.col-10 {
    width:100%;
}

.col-9 {
    width:90%;
}

.col-8 {
    width:80%;
}

.col-7 {
    width:70%;
}

.col-6 {
    width:60%;
}

.col-5 {
    width:50%;
}

.col-4 {
    width:40%;
}

.col-3 {
    width:30%;
}

.col-3-33 {
    width:33.33%;
}

.col-2 {
    width:20%;
}

.col-1 {
    width:10%;
}

/*
    Content area info boxes
*/

.box-area {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    flex-shrink: 0;
    justify-content: space-around;
    margin-bottom:20px;
}

.box {
    width:300px;
    min-width:300px;
    height:110px;
    background-color:#dd251d;
    box-shadow: 0px 0px 10px -3px rgb(0,0,0);
    border-radius:5px;
    overflow:hidden;
    margin:10px;
}

.box .box-icon {
    width:100px;
    height:110px;
    color: white;
    font-size: 50px;
    text-align: center;
    line-height: 100px;
    float: left;
    border-right: 1px solid #bf0e0e;
}

.box .box-title {
    width:200px;
    height:55px;
    float: right;
    color: white;
    padding: 5px;
    border-bottom: 1px solid #bf0e0e;
    font-size: 20px;
}

.box .box-info {
    width: 200px;
    height: 55px;
    float: right;
    color: white;
    padding: 5px;
}

.box:after {
    clear:both;
}

/*
    Forms
*/

.form-styled {
    height:30px;
    padding-left:10px;
    padding-right:10px;
    border-radius:5px;
    border:1px solid rgba(0,0,0,0.3);
}

.form-styled:focus {
    box-shadow:0px 0px 5px 0px grey;
    outline:none;
}

.form-styled:disabled {
    cursor:text;
    background-color:rgb(245,245,245);
    color:black;
}

.form-stretch {
    width:100%;
}

/*
    Alerts

    Green
        Color: #097507
        Background: #c8ffc7
        Border: 1px solid #9cf99a

    Red
        Color: #961111
        Border: #f28181
        Background: #ffc0c0

    Blue
        Color: #135a83
        Background: #c0e8ff
        Border: #98d3f5

*/

.alert {
    width:100%;
    min-height:30px;
    border-radius:5px;
    border:1px solid #000;
    margin-top:5px;
    margin-bottom:10px;
    line-height: 30px;
    padding-left:10px;
    padding-right:10px;
}

.alert-success {
    color: #097507;
    background-color: #c8ffc7;
    border-color: #9cf99a;

}

.alert-failed {
    color: #961111;
    background-color: #ffc0c0;
    border-color: #f28181;
}

.alert-info {
    color: #135a83;
    background-color: #c0e8ff;
    border-color: #98d3f5;
}

/*
    Buttons
*/

.btn {
    height:30px;
    border-radius:10px;
    border:1px solid rgb(230,230,230);
    background-color:white;
    cursor:pointer;
    border-radius:5px;
    padding-left:10px;
    padding-right:10px;
    -webkit-appearance: none;
}

.btn-red {
    background-color:#dd251d;
    border-color: #900000;
    color:white;
}

.btn-red:hover {
    background-color:#c11f18;
}

.btn-block {
    width:100%;
}

.btn-right {
    float:right;
}

/*
    Table
*/

table {
	width:100% !important;
}

thead tr th {
	text-align:left;
}
/*
.table-responsive {
    width:100%;
    overflow-x:auto;
}

table {
    width:100%;
    border-spacing:0px;
}

thead tr td{
    border-bottom: 1px solid rgba(0,0,0,0.3);
}

tr {
    height:40px;
}

.table-striped tbody tr:nth-child(even) {
    background-color:rgb(240,240,240);
}

.table-striped tbody tr:nth-child(odd) {
    background-color:rgb(230,230,230);
}

.table-striped tbody tr:nth-child(even):hover {
    background-color:rgb(250,250,250);
}

.table-striped tbody tr:nth-child(odd):hover {
    background-color:rgb(240,240,240);
}

.table-striped tbody tr td {
    border-bottom: 1px solid rgba(0,0,0,0.3);
}

table td {
    padding-left:5px;
    padding-right:5px;
    text-align:left;
}

table tbody td a {
    display:block;
}

table thead th {
    text-align:left;
}

table thead th a {
    display:inline;
}

*/

/*
    thin table
*/

.table-small tr {
    height:25px;
}

/*
    Comment area
*/

.comment {
    width:100%;
    display:flex;
    margin-bottom:10px;
}

.comment .comment-icon {
    border-radius:50%;
    width:50px;
    min-width:50px;
    height:50px;
    background-color:#b90a0a;
    line-height:50px;
    text-align:center;
    font-size:25px;
    color:rgba(255,255,255,1);
}

.comment .comment-text {
    width:100%;
    min-height:50px;
    background-color:rgb(240,240,240);
    border-radius:5px;
    padding:10px;
    margin-left:10px;
}

.comment .comment-input {
    background-color:rgb(240,240,240);
    border:none;
    outline: none;
    width:100%;
    font-family: 'Fira Sans', sans-serif;
    font-size:15px;
    resize:none;
}

/*
    Comment like list
*/

.listitem {
    width:100%;
    display:flex;
    margin-bottom:5px;
    min-height:50px;
}

.listitem .listitem-icon {
    border-top-left-radius:10px;
    border-bottom-left-radius:10px;
    width:50px;
    min-width:50px;
    background-color:#b90a0a;
    line-height:50px;
    text-align:center;
    font-size:25px;
    color:rgba(255,255,255,1);
}

.listitem .listitem-text {
    width:100%;
    background-color:rgb(240,240,240);
    border-top-right-radius:10px;
    border-bottom-right-radius:10px;
    padding:10px;
}

.listitem .listitem-additional {
    border-top-right-radius:10px;
    border-bottom-right-radius:10px;
    width:75px;
    min-width:75px;
    background-color:#b90a0a;
    line-height:50px;
    text-align:center;
    color:rgba(255,255,255,1);
}

/*
    Login area
*/

.login-container {
    width:400px;
    margin:auto;
    background-color:white;
    padding:20px;
    border-radius:5px;
    box-shadow:0px 0px 10px -2px;
    margin-top:20px;
}

.login-container h1 {
    text-align:center;
}

.login-logo {
    background-image:url("../img/ifaLogo.png");
    width:86px;
    height:100px;
    margin:auto;
    margin-top:80px;
    background-size:cover;
}

.pagination {
    white-space:nowrap;
    margin-top:10px;
}

.password-recover-info {
	color:rgb(150,150,150);
	font-size:0.8em;
}

.password-recover-info a {
	font-weight:bold;
}

/*
    text colors
*/

.text-darkgrey {
    color:#676464;
}

.text-red {
    color:#b90a0a;
}

.text-orange {
    color:orange;
}

.text-green {
    color:#2aa00c;
}

.text-gold {
    color:#af8203;
}

/*
    font awesome additions
*/

.fa-vc {
    line-height: inherit!important;
}

/*
    Media queries für responsive design
*/

@media only screen and (max-width: 599px) {
    .login-container {
        width:90%;
    }

    .content-mainbox {
        width:100%;
    }

    .col-9 {
        width:100%;
        margin-bottom:30px;
    }

    .col-8 {
        width:100%;
        margin-bottom:30px;
    }

    .col-7 {
        width:100%;
        margin-bottom:30px;
    }

    .col-6 {
        width:100%;
        margin-bottom:30px;
    }

    .col-5 {
        width:100%;
        margin-bottom:30px;
    }

    .col-4 {
        width:100%;
        margin-bottom:30px;
    }

    .col-3-33 {
        width:100%;
        margin-bottom:30px;
    }

    .col-3 {
        width:100%;
        margin-bottom:30px;
    }

    .col-2 {
        width:100%;
        margin-bottom:30px;
    }

    .col-1 {
        width:100%;
        margin-bottom:30px;
    }
}

@media only screen and (min-width: 600px ) and (max-width: 979px) {
    .content-mainbox {
        width:80%;
    }

    .col-9 {
        width:100%;
        margin-bottom:30px;
    }

    .col-8 {
        width:100%;
        margin-bottom:30px;
    }

    .col-7 {
        width:100%;
        margin-bottom:30px;
    }

    .col-6 {
        width:100%;
        margin-bottom:30px;
    }

    .col-5 {
        width:100%;
        margin-bottom:30px;
    }

    .col-4 {
        width:100%;
        margin-bottom:30px;
    }

    .col-3-33 {
        width:100%;
        margin-bottom:30px;
    }

    .col-3 {
        width:100%;
        margin-bottom:30px;
    }

    .col-2 {
        width:100%;
        margin-bottom:30px;
    }

    .col-1 {
        width:100%;
        margin-bottom:30px;
    }
}

@media only screen and (min-width: 980px ) {
    .content-mainbox {
        width:70%;
    }

}

@media only screen and (min-width: 1260px ) {
    .content-mainbox {
        width:50%;
    }
}

/*
	Spinner
*/

.spinner {
	position:fixed;
	width:100%;
	height:100%;
	background-color:white;
	display:block;
	z-index:999;
	color:white;
}

.pulse {
	position:absolute;
	background-image:url("/img/ifaLogo-pulse.png");
	width:70px;
	height:81px;
	top:50%;
	left:50%;
	margin-left:-35px;
	margin-top:-40px;
	
}