table.testassertions ._istrue,
table.testassertions ._isfalse,
table.testassertions ._isunk {padding:0;}
table.testassertions ._istrue span,
table.testassertions ._isfalse span,
table.testassertions ._isunk span{display:block;text-align:center;color:white;font-size:2rem;padding:0.5rem;}
table.testassertions tr.guess:first-child:after{content:"<<<<";margin-top:0.5em;display:block;max-width:50%}
/*
table.testassertions tr.guess ._istrue span{background:orange;}
table.testassertions tr.guess ._isfalse span{background:orange;}
table.testassertions tr.guess ._isunk span{background:orange;}
*/

table.testassertions tr.true ._istrue span{background:green;}
table.testassertions tr.true ._isfalse span{background:transparent;}
table.testassertions tr.true ._isunk span{background:transparent;}

table.testassertions tr.false ._istrue span{background:transparent;}
table.testassertions tr.false ._isfalse span{background:red;}
table.testassertions tr.false ._isunk span{background:transparent;}

table.testassertions tr.unk ._istrue span{background:transparent;}
table.testassertions tr.unk ._isfalse span{background:transparent;}
table.testassertions tr.unk ._isunk span{background:gray;}

table.testassertions tr span:before{content:'';}
table.testassertions tr.guess span:before{content:'!';}
table.testassertions tr.true ._istrue span{background:green;}
table.testassertions tr.true ._istrue span:before{content:'☑';}
table.testassertions tr.false ._isfalse span{background:red;}
table.testassertions tr.false ._isfalse span:before{content:'☒';}
table.testassertions tr.unk ._isunk span{background:gray;}
table.testassertions tr.unk ._isunk span:before{content:'?';}

table.testassertions tr.guess td{background:rgba(128,128,128,0.25);
animation:blinkingBorder 1.2s infinite;
}
@keyframes blinkingBorder{
    0%{   box-shadow: inset 0px 0px 1px 2px red;   }
    50%{  box-shadow: inset 0px 0px 5px 2px red;   }
    100%{ box-shadow: inset 0px 0px 1px 2px red;   }
}
table.testassertions tr.true  td{background:rgba(128,255,128,0.25);}
table.testassertions tr.false td{background:rgba(255,128,128,0.25);}
table.testassertions tr.unk  td{background:rgba(128,128,128,0.25);}
table.testassertions th, table.testassertions td{border: 1px solid gray;}

.testauto td,.testauto th{padding:0 0.5rem;}
.testauto .assertion span{display:block;text-align:center;color:white;}
.testauto tr .assertion span{background:gray;}
.testauto tr.true .assertion span{background:green;}
.testauto tr.false .assertion span{background:red;}
.testauto tr.guess td{background:rgba(128,128,128,0.25)}
.testauto tr.true  td{background:rgba(128,255,128,0.25);}
.testauto tr.false td{background:rgba(255,128,128,0.25);}

table.testassertions, table.testauto{width:auto;}


/*geo selectores*/
/*
https://www.w3.org/TR/selectors-4/#elemental-selectors
[att~=val]
Represents an element with the att attribute whose value is a whitespace-separated
list of words, one of which is exactly "val". If "val" contains whitespace, it
will never represent anything (since the words are separated by spaces). Also if
"val" is the empty string, it will never represent anything.
*/



/*reglas negativas. */
body:not([data-geo-is~="ES-CT"]) .ES-CT {/*Se aplica en elementos marcados con ES-CT cuando el usuario no está en ES-CT (cataluña)*/}

body[data-geo-is~="XT-ESNOCAT"] .ES-CT {/*Se aplica en elementos marcados con ES-CT cuando el usuario está en XT-ESNOCAT -fuera de cataluña- Es squivalente a la anterior pero usando lógica positiva*/}



/*regas afirmativas*/
body[data-geo-is~="ES-CT"] .ES-CT {/*aplica a elementos con class ES-CT cuando el user está en cataluña*/}
body[data-geo-is~="ES"] .ES-AN {/*aplica a elementos con class ES-AN (andalucia) cuando el user está en españa*/}
body[data-geo-is~="ES"]:not([data-geo-is~="ES-AN"]) .ES-AN {/*aplica a elementos con class ES-AN (andalucia) cuando el user está en españa fuera de andalucía*/}

body[data-geo-is~="ES"]:not([data-geo-is~="ES-AN"]) .ES-AN,
body[data-geo-is~="ES"][data-geo-is~="ES-AN"][data-geo-is~="ES-CA"] .ES-AN{/*aplica a elementos con class ES-AN (andalucia) cuando el user está en españa fuera de andalucía, o en andalucia concretamente en cádiz*/}

/*
E[foo|="en"]	an E element whose foo attribute value is a hyphen-separated list of values beginning with en
*/
/*ocultar y mostrar: se usan con la ubicacion "real", aunque haya un ig=XX para sortear el acceso al contenido*/
.geo-hide{}
html[data-geo-place~="ES"] .geo-hide.ES {display:none}/*oculta elemento en españa*/
html[data-geo-place~="ES-CT"] .geo-hide.ES-CT {display:none}/*oculta elemento en cataluña*/
html[data-geo-place~="XT-ESNOCAT"] .geo-hide.XT-ESNOCAT {display:none}/*oculta elemento en españa escepto cataluña*/

.geo-show{display:none;}
html[data-geo-place~="ES"] .geo-show.ES {display:initial}/*muesta el elemento en españa*/
html[data-geo-place~="ES-CT"] .geo-show.ES-CT {display:initial}/*muesta el elemento en cataluña*/
html[data-geo-place~="XT-ESNOCAT"] .geo-show.XT-ESNOCAT {display:initial}/*muesta el elemento en españa escepto cataluña*/

.block-damm-geoservice{
    position: fixed;top: 30px;left: 120px;z-index: 10;width: 50%;
}

.geoselect-wrapper.is-active{display:inherit;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);width: 100%;z-index: 1000;}
.geoselect-wrapper{display:none;}
.geoselect-box{position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
background: white;
padding: 40px 60px 40px 30px;
width: auto;
}
.geoselect-wrapper .title-geo{text-align: center;}
.geoselect-box ul{list-style-type:none;padding:0; margin-left:30px;margin-top:25px;line-height:1.75;border-top:1px solid black;float:left;text-align: left;min-width: 130px;}
.geoselect-box ul li{padding:0;}
/*.geoselect-box ul li:not(:first-child){margin-left: 5px;}*/
.geoselect-box ul li:first-child{text-transform:uppercase;padding-right: 18px;}
.geoselect-box [data-siteselect],
.geoselect-box li[data-siteselect]{color:#ccc;}

.geoselect-box [data-siteselect]:not(.current),
.geoselect-box li[data-siteselect]:not(.current){cursor:pointer}

.geoselect-box ul li:before{content: none;}

span.icon_geoservice{  
    margin: 0 16px;
}
span.icon_geoservice:before {
    content: "";
    background-image: url(../img/geolocation-icon-dark.svg);
    width: 16px;
    height: 16px;
    position: absolute;
    background-repeat: no-repeat;
    cursor: pointer;
}

.geoselect-wrapper .icon-close {
    background: url(../img/close-ico.svg) no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    position: absolute;
    top: 20px;
    right: 30px;
    cursor: pointer;
}

.geoselect-box ul.wrapper_links.single_item {
    display: block;
    float: none;
    clear: both;
    border: none;
    text-align: center;
 /*   font-size: 110%; */
 /*   font-weight: bold;*/
}
.geoselect-box ul.wrapper_links.single_item li:first-child{text-transform:none}
.geoselect-box li.current:before{content:'_';position:initial;}

