/** IFB-UI **/
:root
{
    --blue: #3E8FCD;
    --orange: #ECA331;
    --disabled-orange: #BC8351;
    --text-color: #222;
}

/* Basic container */
.ifbui-container
{
    border: 1px var(--blue) solid;
    border-radius: 5px;
    margin: auto; 
    margin-top: 10px;    
    position: relative;            
}

.ifbui-container p
{
    font-size: 18px;
    color: var(--text-color);
    font-family: Hind, sans-serif;
    line-height: 20px;
}

/* Container footer and header, to be placed within 
   an .ifbui-container element */
.ifbui-container > .ifbui-header,
.ifbui-container > .ifbui-footer
{
    background-color: var(--blue);
    padding: 10px;
    height: 40px;
    min-height: 40px;
    background: linear-gradient(180deg, rgba(79,163,227,1) 0%, rgba(78,162,227,1) 24%, rgba(41,143,221,1) 55%, rgba(39,142,221,1) 100%);
}

.ifbui-container > .ifbui-footer
{
    min-height: 40px;
    height:40px;    
}

.ifbui-container > .ifbui-footer > button.button-left
{
    float: left;
    margin-right: 10px;
}

.ifbui-container > .ifbui-footer > button.button-begin-group
{
    border-top-right-radius: 0px;
    border-top-left-radius: 0px;
    border-bottom-right-radius: 0px;
    margin-right: 0px;    
}

.ifbui-container > .ifbui-footer > button.button-middle-group
{
    margin-left: 0px;
    border-left: 0px;
    margin-right: 0px;    
    border-radius: 0px;    
}

.ifbui-container > .ifbui-footer > button.button-end-group
{
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    border-top-right-radius: 0px;
    margin-left: 0px;
    border-left: 0px;
}

.ifbui-container > .ifbui-footer > button.button-end-group,
.ifbui-container > .ifbui-footer > button.button-middle-group,
.ifbui-container > .ifbui-footer > button.button-begin-group
{
    margin-top:-10px;
    border-top-color: var(--blue);
    outline: none; 
}

.ifbui-container > .ifbui-footer > button.group-active,
.ifbui-container > .ifbui-footer > button.group-active:hover,
.ifbui-button-active,
.ifbui-button-active:hover
{    
    color: var(--text-color);
    border-top-color: white;
    background-image: linear-gradient(to bottom, #fff  0%, #eee 100%);
}

.ifbui-container > .ifbui-footer > button.button-right
{
    float: right;
    margin-left: 10px;
}

/* Container title */
.ifbui-container > .ifbui-header > h2
{
    font-family: Gafata, sans-serif;
    line-height: 40px;
    font-size: 24px;
    text-transform: uppercase;
    padding: 0px 0px 0px 10px;
    margin: 0;
    color: white;
    letter-spacing: 0.05em;
    display: inline-block;
    font-weight: bold;
}

.ifbui-container > .ifbui-header > button.button-right
{
    float: right;
    margin-right: 10px;
    min-width: 40px;
    text-align: center;
    display: inline-block;
}

.ifbui-container > .ifbui-header > button > i
{
    margin-right: 0px;
}

.ifbui-button
{            
    color: white;
    border: 1px white solid;
    border-radius: 5px;
    font-family: Hind, sans-serif;
    padding: 9px;
    font-size: 18px;
    line-height: 18px;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: bold;    
    transition: .5s;
    background-color: var(--orange);
    cursor: pointer;
    vertical-align: middle;
    min-width: 80px;
    background-image: linear-gradient(to right, var(--orange)  0%, #F09010  100%);
    box-shadow: 0px 0px 1px #eee;
}

.ifbui-button-yes
{    
}

.ifbui-button-no
{
    background-color: #ec8531;
}


.ifbui-button > i
{
    font-size: 90%;
    margin-right: 5px;
}

.ifbui-button:hover
{
    color: black;
    background-color: white;  
    background-image: linear-gradient(to right, #f8f8e8  0%, #eee 100%);
    box-shadow: 0px 0px 1px #eee;    
    transition: .5s;
}

.ifbui-button:disabled, .ifbui-button:disabled:hover
{
    color: #888; /*var(--disabled-orange); */   
    background-color: var(--orange);
    border-color: white;
    background-image: linear-gradient(to right, #bbb 0%, #ccc 100%);
    box-shadow: 0px 0px 1px #eee;
    
}

.ifbui-big-button
{
    cursor: pointer;
    line-height: 38px;
    font-size: 24px;
    padding: 0px 10px 0px 10px;
    border-radius: 5px;
    margin: 0;
    display: inline-block;
    color: white;
    background-color: var(--orange);
    border: 1px white solid;
    transition: .25s;  
    background-image: linear-gradient(to right, var(--orange)  0%, #F09010  100%);
    box-shadow: 0px 0px 1px #eee;
}

.ifbui-big-button:hover
{
    color: black;
    background-color: white;    
    transition: .25s;    
    background-image: linear-gradient(to right, #f8f8e8  0%, #eee 100%);
    box-shadow: 0px 0px 1px #eee;    
}

/* Panel (similar to container, but normally for container sub-elements) */
.ifbui-panel
{
    border:1px var(--blue) solid;
    padding: 10px;
    margin: 10px;
    border-radius: 5px;
    background-color: white;
    position: relative;
}

.ifbui-panel-no-margin
{
    margin: 0px;
}

.ifbui-panel > h3
{
    font-family: Gafata, sans-serif;
    text-transform: uppercase;
    color: var(--blue);
    font-size: 24px;
    letter-spacing: .05em;
    margin: -10px -10px 0px -10px;
    padding: 5px 10px 5px 10px;            
    font-weight: bold;            
}

/* Modal overlay */
.ifbui-modal-overlay
{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    border-radius: 5px;
    background-color: rgba(0,0,0,.25);
    display: none;
    cursor: pointer;
}

/* overlay for regular modal popups */
.ifbui-modal-overlay > .ifbui-modal-overlay-container
{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);    
    border-radius: 5px;
    background-color: white;
    display: inline-block;    
}

/* overlay for transparent modal popups */
.ifbui-modal-overlay > .ifbui-modal-overlay-container-transparent
{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);    
    border-radius: 5px;    
    display: inline-block;    
}

/* content wrapper for big messages */
.ifbui-container > .ifbui-big-message
{
    max-width: 400px;
    display: inline-block;    
    font-family: Hind, sans-serif;
    font-size: 24px;
    color: var(--text-color);
    margin: auto;
    text-align: center;
    display: block;
    padding: 10px;
    line-height: 100%;
}

/* content wrapper for big centered icons */
.ifbui-container > i
{
    display:block;
    font-size:64px;
    text-align: center;
    margin-bottom: 10px;
    color:var(--orange);
}

.ifbui-container > .if-modal-overlay-dump
{
    max-width: 400px;
    display: inline-block;    
    font-family: monospace;
    font-size: 14px;
    line-height: 100%;
    color: var(--text-color);
    margin: auto;
    text-align: center;
    margin-top: 10px;
    border: 1px #eee solid;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    padding: 10px;
    background-color:#e8e8e8;
    display: block;
}

.ifbui-container > .ifbui-message-icon
{    
    font-family: Hind;
    font-size: 18px;
    display: inline-block;
    color: var(--text-color);
    max-width: 380px;
    padding: 30px 10px;
}

.ifbui-container > .ifbui-message-icon > i
{
    vertical-align: middle;
    display: inline-block;
    margin-right: 20px;
    margin-left: 20px;
    font-size: 40px;
    color: var(--orange);
}

.ifbui-container > .ifbui-message-icon > div
{
    vertical-align: middle;
    display: inline-block;           
    font-family: Hind, sans-serif;
    font-size: 24px;
    color: var(--text-color);
    line-height: 100%;
    margin-right: 10px;
    max-width: 240px;
}

/* form content wrapper */
.ifbui-container > .ifbui-form-content
{
    padding: 10px;
}

.ifbui-container > .ifbui-form-content > .ifbui-form-row
{
    padding: 5px 0;
}

.ifbui-container > .ifbui-form-content > .ifbui-form-row-text > label
{
    width: 100px;
    font-family: Hind;
    font-size: 18px;
    display: inline-block;
    text-align: right;
    margin-right: 10px;
    color: var(--text-color);
}

.ifbui-container > .ifbui-form-content > .ifbui-form-row-text > label:after
{
    content: ":";
}

.ifbui-container > .ifbui-form-content > .ifbui-form-row-text > input
{
    width: 240px;
    display: inline-block;            
    font-family: Hind, sans-serif;
    font-size: 18px;
    line-height: 18px;
    border: 0;
    padding: 4px;
    border-bottom: 1px #888 solid;
    margin-right: 10px;
    background-color: #f8f8ff;
}

.ifbui-container > .ifbui-form-content > .ifbui-form-row > .ifbui-form-validation:before
{
    display:block;    
    transform: rotate(45deg);
    width: 10px;
    height: 10px;
    content: ' ';
    font-size: 0px;
    position: absolute;
    top: -9px;
    left: 80%;
    background-color: white;
    border-left: 3px var(--orange) solid;
    border-top: 3px var(--orange) solid;
}

.ifbui-container > .ifbui-form-content > .ifbui-form-row > .ifbui-form-validation
{    
    position:relative;
    display: block;            
    font-family: Hind, sans-serif;
    font-size: 18px;
    line-height: 18px;
    font-weight: bold;
    letter-spacing: .05em;
    border: 0;
    margin-top:10px;
    padding: 4px;    
    margin-right: 10px;
    color:var(--orange);
    border: 3px var(--orange) solid;
    border-radius: 5px;
    margin-left: 110px;
    padding: 10px 10px 5px 10px;
    width: 200px;
}

/** IF BIG LIST **/
.ifbl
{
    width: 938px;
}

/*-------------------- Header --------------------*/
.ifbui-container > .ifbui-header > div.search,
.ifbl > .ifbl-header > div.search
{
    background-color: white;
    padding: 5px;
    border-radius: 5px;
    display: inline-block;
    text-align: left;
    vertical-align: top;
    float: right;
}

.ifbui-container > .ifbui-header > div.search > input:focus,
.ifbl > .ifbl-header > div.search > input:focus{ border: none; outline-color: transparent !important;}

.ifbui-container > .ifbui-header > div.search > input,
.ifbl > .ifbl-header > div.search > input
{
    border: 0;
    padding: 5px;            
    font-size: 16px;
    line-height: 20px;
    vertical-align: top;
    font-family: Hind, sans-serif;
}

.ifbui-container > .ifbui-header > div.search > i,
.ifbl > .ifbl-header > div.search > i
{
    background-color: white;
    color: var(--orange);
    border: 0;
    padding: 5px 10px 5px 10px;

    font-size: 16px;
    line-height: 20px;   
    vertical-align: top;            
}


/*-------------------- List Header --------------------*/
.ifbl > .ifbl-list-header
{
    background-color: #eee;
    height: 40px;
}

.ifbl > .ifbl-list-header
{
    background-color: #eee;
    height: 40px;
    line-height: 40px;
}

.ifbl > .ifbl-list-header > .ifbl-column > input[type=checkbox]
{
    width: 32px;
    height: 24px;
    padding: 0px;
    margin: 0px;
    vertical-align: middle; 
    -moz-appearance:initial;    
}

.ifbl > .ifbl-list-header > .ifbl-column > input[type=checkbox]:after
{    
    font-family: "Font Awesome 5 Free", sans-serif;
    width: 32px;
    height: 24px;    
    font-size: 20px;
    content:"\f111";
    display: inline-block;
    background-color:#eee;
    text-align: center;    
}

.ifbl > .ifbl-list-header > .ifbl-column > input[type=checkbox]:checked:after
{
    font-family: "Font Awesome 5 Free", sans-serif;
    width: 32px;
    height: 24px;    
    display: inline-block;
    content:"\f058";    
    text-align: center;
}

.ifbl > .ifbl-list-header > .ifbl-column > .ifbl-text
{
    position: relative;
    display: inline-block;
    font-family: Hind, sans-serif;
    font-size: 20px;
    line-height: 20px;
    height: 20px;
    vertical-align: middle;
}

.ifbl > .ifbl-list-header > .ifbl-column
{   
    display: inline-block;
    height: 40px;
    border-right: 1px white solid;
    padding: 0px 5px;
    cursor: pointer;
}

/*-------------------- List body --------------------*/
.ifbl > .ifbl-list-body
{
    height: 480px;
    overflow-y: scroll;
    position: relative;
}

.ifbl > .ifbl-list-body > .ifbl-item
{
    height: 40px;    
    border-bottom: 1px #eee solid;
}

.ifbl > .ifbl-list-body > .ifbl-item:hover
{
    background-color:#ffd;
}
.ifbl > .ifbl-list-body > .ifbl-guard-item
{
    height: 40px;    
}

.ifbl > .ifbl-list-body > .ifbl-wait-item
{
    height: 40px;
    position: relative;
}


.ifbl > .ifbl-list-body > .ifbl-wait-item:after
{
    font-size: 24px;
    line-height: 40px;
    text-align: center;
    position: absolute;
    left: 50%;    
    display: inline-block;
    font-family: "Font Awesome 5 Free", sans-serif;
    color: var(--blue);
    content: "\f185";
    animation: ifbl-wait-item-spin 10s linear infinite;
}

@keyframes ifbl-wait-item-spin {
  0%, 100% { transform: translate(-500%,0%) rotate(0deg); color:var(--blue); }
  50% { transform: translate(450%, 0%) rotate(360deg); color:var(--orange); }
}

.ifbl > .ifbl-list-body > .ifbl-item > .ifbl-column > input[type=checkbox]
{
    width: 32px;
    height: 22px;
    padding: 0px;
    margin: 0px;
    vertical-align: top; 
    -moz-appearance:initial;    
}

.ifbl > .ifbl-list-body > .ifbl-item > .ifbl-column > input[type=checkbox]:after
{    
    font-family: "Font Awesome 5 Free", sans-serif;
    width: 32px;
    height: 24px;    
    font-size: 18px;
    content:"\f111";
    display: inline-block;
    background-color:white;
    text-align: center;    
}

.ifbl > .ifbl-list-body > .ifbl-item > .ifbl-column > input[type=checkbox]:checked:after
{
    font-family: "Font Awesome 5 Free", sans-serif;
    width: 32px;
    height: 24px;    
    display: inline-block;
    content:"\f058";    
    text-align: center;
}

.ifbl > .ifbl-list-body > .ifbl-item:hover > .ifbl-column > input[type=checkbox]:after
{
    background-color:#ffd;
}


.ifbl > .ifbl-list-body > .ifbl-item > .ifbl-column > .ifbl-text
{
    position: relative;
    display: inline-block;
    font-family: Hind, sans-serif;
    font-size: 20px;
    line-height: 20px;
    height: 20px;
    vertical-align: top;
    overflow: hidden;
}

.ifbl > .ifbl-list-body > .ifbl-item > .ifbl-column
{   
    display: inline-block;
    height: 30px;
    border-right: 1px #ddd solid;
    padding: 10px 5px 0px 5px;
    cursor: pointer;    
}

/*-------------------- Simple editor --------------------*/
.ifbl > .ifbl-overlay
{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    border-radius: 5px;
    background-color: rgba(0,0,0,.25);
    display: none;
}

.ifbl > .ifbl-overlay > .ifbl-overlay-content
{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);    
    border-radius: 5px;
    background-color: white;
    display: inline-block;
}

/*-------------------- Simple editor --------------------*/
.ifbd
{
    border: 1px white solid;
    border-radius: 5px;
}

.ifbd > .ifbd-caption
{
    background-color: var(--blue);
    padding: 10px; 
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.ifbd > .ifbd-caption > .ifbd-caption-title
{
    font-family: Gafata, sans-serif;
    line-height: 40px;
    font-size: 24px;
    text-transform: uppercase;
    padding: 0px 0px 0px 10px;
    margin: 0;
    color: white;
    letter-spacing: 0.05em;
    display: inline-block;
    font-weight: bold;
}

.ifbd > .ifbd-content
{            
    padding-bottom: 10px;
    margin-bottom: 10px;            
}

.ifbd > .ifbd-content > .ifbd-row
{
    padding: 5px;
}

.ifbd button
{
    color: white;
    border: 1px white solid;
    border-radius: 5px;
    font-family: Hind, sans-serif;
    padding: 9px;
    font-size: 18px;
    line-height: 18px;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: bold;            
    display: inline-block;
    width: 120px;
    margin: 0px auto 0px auto;
    transition: .5s;
    background-color: var(--orange);
    cursor: pointer;
}

.ifbd > .ifbd-content > .ifbd-row > label
{
    width: 80px;
    display: inline-block;
    text-align: right;
    font-family: Hind, sans-serif;
    font-size: 18px;
    margin-right: 5px;
}

.ifbd > .ifbd-content > .ifbd-row > input
{
    width: 240px;
    display: inline-block;            
    font-family: Hind, sans-serif;
    font-size: 18px;
    line-height: 18px;
    border: 0;
    border-bottom: 1px #888 solid;
    margin-right: 10px;
}

.ifbd > .ifbd-footer
{
    background-color: var(--blue);
    padding: 10px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;    
}

.ifbd .ifbd-left
{
    float: left;
}

.ifbd .ifbd-right
{
    float: right;
}

.ifbd .clearfix
{
    clear: both;
}

.ifbd .ifbd-validation
{
    color: var(--orange);
    text-align: right;
    font-family: Hind, sans-serif;
    font-size: 18px;
    line-height: 30px;
    text-shadow: 0px 0px 1px darkred;
}

/* FORM */
.ifbui-form div.data-row
{
    margin-bottom: 10px;
}

.ifbui-form div > label
{
    font-family: Hind, sans-serif;
    font-size: 20px;
    text-align: right;
    width: 140px;
    display: inline-block;
    margin-right: 5px;
    letter-spacing: -0.05em;
}

.ifbui-form div > label > i
{
    font-size: 18px;
    margin-right: 5px;
    vertical-align: middle;
}

.ifbui-form div > label:after
{
    content: ":";
}

.ifbui-form div.ifbui-radio > label.radio-label
{
    font-family: Hind, sans-serif;
    font-size: 20px;
    text-align: right;
    width: auto;
    padding-left: 5px;
    display: inline-block;
    margin-right: 20px;
}

.ifbui-form div.ifbui-radio > label.radio-label:after
{
    content:"";
}

.ifbui-form div.data-row > input
{
    font-family: Hind, sans-serif;
    font-size: 20px;
    border: 1px #ccc solid;
    border-radius: 5px;
    padding: 5px;     
}

.ifbui-form div.row50
{
    width: 400px;
    display: inline-block;
    margin-right: 10px;
}

.ifbui-form div.row100 > input[type=text]
{
    width: 655px;
}

a
{
    text-decoration: none;
}

a.ifbui-button
{
    display:inline-block;
}

.ifbui-header > a > i {
    padding-top: 6px;
    padding-bottom: 6px;
}