@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');

:root {
    --card-shadow: 0px 5px 12px rgba(0,0,0,0.3);
    --overlay-background: rgba(0,0,0,0.7);
    --white-back: #ececec;
    --app-theme: #990000;
}
main {
    min-height: 70vh;
}

.query-list {

}

.query-list-item {
    margin: 1em;
}

.query-details {
    border: 1px solid #ccc;
    padding: 0.5em 0;
}

.query-details-info {
    padding: 0 0.5em;
}

.query-details-controls {
    padding: 0 0.5em;
    min-width: 50px;
}



.form-group label {
    font-weight: bold;
}

.form-control.error {
    border-color: #CC0000;
}

.error > .Select-control {
    border-color: #CC0000;
}

.validation-error {
    color: #CC0000;
    border-color:#CC0000;
}

.page-wrapper {
    margin: 0;
}

.form-control-inline {
    min-width: 0;
    width: auto;
    display: inline;
}

.tree ul {
    margin-left: 0px;
}

.tree li {
    list-style-type: none;
    margin-top: 5px;
    position: relative;
    font-weight: bold;
    margin-left: -10px;
    margin-bottom: 0px;
}

.phraseHeader {
    margin: -10px;
    border-bottom: 1px solid #aaa;
    margin-bottom: 5px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    padding: 5px;
    background-color: #eff1f6;
    height: 40px;
}

.phraseContainer {
    margin-top: 5px;
    border: 1px solid #aaa;
    border-radius: 3px;
    padding: 10px;
    background-color: #fbfbfb;
    color: #837d93;
}

div.root {
    position: relative;
    padding-left: 40px;
    margin: 0px;
}

.grey {
    color: #CFD5E3
}

    .grey:hover {
        color: #aa0000
    }

div.root::before {
    content: "";
    position: absolute;
    height: 16px;
    left: 30px;
    border-bottom: 1px solid #afafaf;
    width: 30px;
}


div.root::after {
    content: "";
    position: absolute;
    width: 80px;
    left: 30px;
    top: 15px;
    border-left: 1px solid #afafaf;
    height: 100%;
}

button.addSubPhrase {
    width: 20px;
    height: 20px;
    padding: 1px 4px;
    position: absolute;
    top: 7px;
    left: -36px;
    z-index: 1;
}

button.addPhrase {
    margin-top: 1px;
    position: relative;
    left: 16px;
}

.tree li::before {
    content: "";
    position: absolute;
    top: -7px;
    left: -28px;
    border-left: 1px solid #afafaf;
    border-bottom: 1px solid #afafaf;
    border-radius: 0 0 0 0px;
    width: 24px;
    height: 23px;
}

.phraseItem {
    line-height: 1.5em;
    font-size: 14px;
    padding: 5px 0px;
}

    .phraseItem > a:visited {
        color: #337ab7;
    }

    .phraseItem > a:active {
        color: #337ab7
    }

.phraseInfo {
    width: 300px;
}

.tree li::after {
    position: absolute;
    content: "";
    top: 10px;
    left: -28px;
    border-left: 1px solid #afafaf;
    border-radius: 0px 0 0 0;
    width: 15px;
    height: 100%;
}

.tree li:last-child::after {
    display: none;
}

.tree li:last-child:before {
    border-radius: 0 0 0 5px;
}

ul.tree > li:first-child::before {
    display: none;
}

ul.tree > li:first-child::after {
    border-radius: 5px 0 0 0;
}


.my_modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
}

.modal-main {
    position: fixed;
    background: white;
    width: 80%;
    height: auto;
    top: 50%;
    left: 50%;
    padding: 10px;
    transform: translate(-50%,-50%);
}

.display-block {
    display: block;
}

.display-none {
    display: none;
}

.rulesGroupContainer, .queryBuilder .ruleContainer {
    position: relative;
    margin: 4px 0;
    border-radius: 5px;
    padding: 5px;
    border: none;
    background: rgba(223, 227, 236, 0.9);
    width: 100%;
}

    .ruleContainer .ruleFilterContainer,
    .ruleContainer .ruleOperatorContainer,
    .ruleContainer .ruleValueContainer,  .errorContainer {
        /*display: inline-block;*/
        margin: 0 5px 0 0;
        vertical-align: middle;
        color: #222;
    }
    .ruleContainer .ruleValueContainer {
        max-height: 48px;
    }

.rulesList .rule_error {
    background: rgba(222,111,111,0.9);
}
.rulesGroupContainer {
    padding: 10px;
    padding-bottom: 6px;
    border: none;
    background: rgba(239, 241, 246, 0.5);
}

.phraseItem.rulesGroupContainer {
    border: 1px solid #ccc;
}

.rulesGroupHeader {
    margin-bottom: 10px;
}


.groupConditions > .active {
    font-weight: bold;
    background-color:cornflowerblue;
}

.queryBuilder .rulesList {
    list-style: none;
    padding: 0 0 0 15px;
    margin: 0;
}

.queryBuilder .ruleContainer {
    padding-left: 10px;
}

.queryBuilder .ruleValueContainer {
    border-left: 1px solid #DDD;
    padding-left: 5px;
}



    .queryBuilder .ruleValueContainer label {
        margin-bottom: 0;
        font-weight: normal;
    }

        .queryBuilder .ruleValueContainer label.block {
            display: block;
        }



.queryBuilder .errorContainer {
    display: inline-block !important;
    cursor: help;
    color: #F00;
}

.queryBuilder .hasError {
    background-color: #322;
    border-color: #800;
}

.queryBuilder .rulesList > *::before, .queryBuilder .rulesList > *::after {
    content: '';
    position: absolute;
    left: -10px;
    width: 10px;
    height: calc(50% + 4px);
    border-color: #ccc;
    border-style: solid;
    z-index: 1;
}

.queryBuilder .rulesList > *::before {
    top: -4px;
    border-width: 0 0 2px 2px;
}

.queryBuilder .rulesList > *::after {
    top: 50%;
    border-width: 0 0 0 2px;
}

.queryBuilder .rulesList > *:first-child::before {
    top: -12px;
    height: calc(50% + 14px);
}

.queryBuilder .rulesList > *:last-child::before {
    border-radius: 0 0 0 4px;
}

.queryBuilder .rulesList > *:last-child::after {
    display: none;
}

.popup li:before {
    display: none;
}

.panel-default {
    border-color: #ddd;
}

.panel {
    margin: 20px 0px;
    background-color: #fff;
    border: 1px solid;
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(0,0,0,.05);
    padding: 10px;
}

.card {
    padding: 0 !important; /* override Razden CSS */
}

.link-like-button {
    background: none !important;
    border: none;
    padding: 0 !important;
    /*optional*/
    font-family: arial, sans-serif;
    /*input has OS specific font-family*/
    color: #069;
    text-decoration: underline;
    cursor: pointer;
}


label > span {
    display: block;
    font-size: small;
    font-weight: lighter;
    color: #444;
}
.form-control {
	max-width: 100%;
}
.datasetChooser {
	display:flex;
	max-width:100%;
	flex-wrap:wrap;
	justify-content: space-around;
	align-content: flex-start;
	flex-flow: row wrap;
}
.datasetList {
  
}
.q-box2 {
    border: solid 1px #000;
    cursor: pointer;
    padding: 5px;
    background-color:lightgrey;
    padding-left: 10px;
    border-radius: 5px;
    box-shadow: var(--card-shadow);
    transition: background-color 0.5s ease;
}
.q-box {
	border: solid 1px #000;
    cursor: pointer;
    padding: 5px;
    background-color: antiquewhite;
    padding-left:10px;
    margin-bottom: 1em;
    min-width: 20%;
	max-width: 30%;
	border-radius: 5px;
    box-shadow: var(--card-shadow);
	transition: background-color 0.5s ease;
}
    
.q-box h3 {
	    font-size: 1.2rem;
      
       
}
.q-box2 h3 {
    font-size: 1.0rem;
    color:#337ab7;
    margin:0;
    padding: 0;
}
.q-box:hover {
	background: ivory;
}
.q-box2:hover {
    background: ivory;
}
.q-box2.selected {
    background-color:cornflowerblue;
}
.q-box2.selected h3 {
    color:white;
}
.query_window {
    min-width: 400px;
    padding: 5px 30px 15px 15px;
    background-color: var(--white-back);
    border-radius: 5px;
    box-shadow: var(--card-shadow);
    border: solid 1px #ccc;
}

.app-paper {
    min-width: 400px;
    padding: 30px 15px;
    margin: 20px 0px;
    background-color: var(--white-back);
    border-radius: 5px;
    box-shadow: var(--card-shadow);
    display:flex;
	justify-content: space-between;
}
.app-paper h3 {
	width: 100%;
	flex: 2 100%;
    font-size: 1.0rem;
	display:block;
}
#field-box.app-paper {
	display: block;
}
.app-paper div,.app-paper p {
	flex: 1 98%;
	margin: 0 .25rem .25rem .25rem;
}
.checkbox-list {
    display: flex;
    font-size: 24px;
    gap: 5px;
    padding: 20px 0;
    flex-wrap:wrap;
    width:100%;
}
.check-item input {
    display:none;
}
.check-item span{
    padding: 7px 14px;
    border: 1px solid rgba(0,0,0,0.3);
    border-radius: 30px;
    font-size:14px;
    text-align:center;
    background-color:#fff;
}
.check-item input[type='checkbox']:checked ~ span {
    color: var(--white-back);
    background-color: var(--app-theme);
   
}
.tooltipsc {
    position: relative;
    display: inline-block;
}

    /* Tooltip text */
    .tooltipsc .tooltiptextsc {
        visibility: hidden;
        width: 120px;
        background-color: black;
        color: #fff;
        text-align: center;
        padding: 5px 0;
        border-radius: 6px;
        top: 110%;
        left: 120%;
        margin-left: -60px;
        /* Position the tooltip text - see examples below! */
        position: absolute;
        z-index: 1;
        padding:2px;
    }
.tooltipsc .tooltiptextsc::after {
    content: " ";
    position: absolute;
    bottom: 100%; /* At the top of the tooltip */
    left: 5%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent black transparent;
}
    /* Show the tooltip text when you mouse over the tooltip container */
    .tooltipsc:hover .tooltiptextsc {
        visibility: visible;
    }
