* {
    box-sizing: border-box;
}

body {
    height: 100dvh;
/*    width: 100vw;*/
    margin: 0px;
    border: 0px;
    
    font-family: Arial Narrow, Arial, sans-serif;
    /* font-weight: 100; */

    /* overflow: hidden; */
}

/*HASTA AQUI GENERAL-----------------------------------------------------------------------*/

/*ESTA PARTE ES DEL LOGIN---------------------------------------*/

.login-outer {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 15em;
    height: 17em;
    margin-top: -11em;
    /*set to a negative number 1/2 of your height*/
    margin-left: -9em;
    /*set to a negative number 1/2 of your width*/
}

.login-outer > h1 {
    padding: 1rem;
    font-size: 1.8rem;
    text-align: center;
    margin: 0;
}

.login {
    padding: 15px;
}

.login > .inputs > div {
    margin: 8px 0 0 0;
}

.login > .actions {
    margin: 30px 0 0 0;
}

.login input[type="text"],
.login input[type="password"] {
    border: 1px solid #43617b;
    padding: 0.3rem;
    border-radius: 0.3rem;
    font-size: 110%;
    width: 100%;
}

button#login {
    font-size: 110%;
    border: none;
    width: 100%;
    background: #43617b;
    color: #f2f2f2;
    padding: 8px;
    border-radius: 0.3rem;
}

button#login:hover {
    background-color: #2d4152;
    color: #d39a17;
}
/*ESTA PARTE ES formularios modales--------------------------------------------------*/
.modal-form {
    position: fixed;
    top: 50%;
    left: 50%;
    margin-top: -11em;
    /*set to a negative number 1/2 of your height*/
    margin-left: -9em;
    /*set to a negative number 1/2 of your width*/
}
.modal-form > h2,
div.h2 {
    padding: 0.5rem;
    font-size: 1.4rem;
    text-align: left;
    margin: 0;
    margin: 0;
}


div#dialog_form div.form-group {
    margin: 8px;
}
div#dialog_form div.form-group>div {
    margin: 2px;
}
div#dialog_form div.form-group>div>button {
    width: 80%;
    min-height: 40px;
    margin: 10px;
}


/*ESTA PARTE ES PARA LA PAGINA DE TRABAJO--------------------------------*/

/*----------------------------------------------------------------*/

/*EMPEZAMOS CON EL GRID-------------------------------*/

div.grid_cont {
    height: 100%;
    width: 100%;

    display: grid;

    grid-template-columns: 1fr;
    grid-template-rows: 40px 200px max-content 1fr 20px;
    grid-row-gap: 4px;
    grid-template-areas:
    "header"
    "nav"
    "datos_exp"
    "conjuntoTabs"
    "visor";
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    /* overflow: auto; */
}
@media screen and (min-width: 1500px) {
    div.grid_cont {
        grid-template-columns: 20px 1fr 15px;
        grid-template-rows: 40px max-content 1fr;
        grid-column-gap: 4px;
        grid-row-gap: 4px;
        grid-template-areas:
        "nav header header"
        "nav datos_exp visor"
        "nav conjuntoTabs visor";
    }
}

nav#nav {
    grid-area: nav;
    
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
nav#nav>div#botonesTabsNav {

    min-height: 40px;

    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    
    display: none;
}
nav#nav>div#contenidoTabsNav {
    height: calc(100% - 40px);
    min-height: 20px;

    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    
    display: none;
}

/*
nav#nav>div#visor {

    min-height: 20px;

    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    
    display: none;
}
*/
nav#nav>div#contenidoTabsNav>div.tabcontent>div.tbl_nav {
    height: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
    -ms-overflow-style: none;  /* IE and Edge */
      scrollbar-width: none;  /* Firefox */
}
nav#nav>div#contenidoTabsNav>div.tabcontent>div.tbl_nav::-webkit-scrollbar {
    display: none; /* Hide scrollbar for Chrome, Safari and Opera */
}

header#head {
    grid-area: header;
}
div#datos_exp {
    grid-area: datos_exp;
    min-width: 970px;
}  
div#conjuntoTabs {
    grid-area: conjuntoTabs;
    min-width: 970px;
}
div#botonesTabs {
    height: 30px;
}

div#visor {
    grid-area: visor;
    /* max-width: 1200px; */
}
div#visor>* {
    display:none;
}
div#visor>div#botonesVisor {
    height: 30px;
    width: 100%;
}
div#visor>div#botonesVisor>div.wr_icons {
    width: 100%;
}
div#visor>div#iMarco {
    width: 100%;
    height: calc(100% - 33px);
    border: none;
    margin: 0px;
    position : relative;

    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
div#visor>div#iMarco>svg {
    display: inline-block;
    position: relative;
    top: 0; 
    left: 0;
}

div#visor>div#resizer {
/*    display: none;*/
    width: 2px; 
    height: calc(100% - 66px); 
    background: #364e63; 
    position:relative; 
    left: -1px; 
    bottom: calc(100% - 33px);
    cursor: e-resize;
}
div#visor>div#iMarco>div.img_inVs {
    flex: 0 1 auto;
}




/*ZONA NAV EXP*/
div#botonesTabsNav {
    display: inline-flex;
    flex-flow: row nowrap;
}
div#botonesTabsNav>div.wr_icons {
    flex: 0 0 40px;
}
div#botonesTabsNav>button.tab {
    flex: 1 1 auto;
}


/*HASTA AQUI LAS GENERALES PARA EL LAYOUT DE LA PAG--------------*/
/*la barra del usuario*/
div.navbar{
   list-style-type: none;
   margin: 0;
   padding: 0;
   overflow: hidden;
}
div.navbar svg {
    margin:0px;
}
div.navbar>div {
   padding: 5px 10px;
}
div.navbar>div.izq {
    float: left;
    text-align: center;
}
div.navbar>div.der {
    float: right;
    text-align: center;
}
div#dialog_form>div.modal-form>div>div.icono,
div#dialog_form_2>div.modal-form>div>div.icono{
    margin: 10px 0px 0px 0px;
}
   /*TABS*/
/* Style the tab */

div.tabs {
    display: flex;
    /*overflow: hidden;*/
    border: 1px solid #ccc;
}

/* Style the buttons inside the tab */

div.tabs button {
    flex: 1 1 auto;
    font-family: Arial, sans-serif;
    font-weight: bold;
    /*    background-color: inherit;*/
    color: inherit;
    border: none;
    cursor: pointer;
    padding: 5px 5px 10px 5px;
    transition: 0.3s;
}

/* Style the tab content */
/*para tabs*/

.tabcontent {
    height: 100%;
    display: none;
} 


.tabcontent.active {
    display: block;
}
/*para tabs de sttings*/
.tabcontent_stt {
    display: none;
    /* overflow-y: auto; */
} 


.tabcontent_stt.active {
    display: block;
}
div#contenidoTabs {
    height: calc(100% - 40px);
    /* overflow: auto; */
}


/*----------------------------------------------------------------------------------------------------------------*/

/*elementos*/
/*botones de nav*/
.flx-fila-nav,
.flx-col-nav {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
    align-items: stretch;
    align-content: flex-start;
}
.flx-fila-nav {
    flex-direction: row;
}
.flx-col-nav {
    flex-direction: column;
}
.flx-fila-nav > *{
/*    flex: 1 1 auto;*/
}
.flx-fila-nav label,legend {
    text-align: center;
}
.flx-col-nav > div {
    margin: 0px 0px 2px 0px;
/*    flex: 1 1 20%;*/
}
.flx-col-nav * {
    
    display: block;
/*    flex: 1 1 20%;*/
}
.sz-1d5,
.sz-2d5 {
    position: relative;
/*    width: 100%;*/
    min-height: 1px;
}

.sz-1d5 {
    flex: 1 1 20%;
}
.sz-2d5 {
    flex: 1 1 40%;
}
div.flx-ct > label {
    flex: 1 1 max-content;
    align-self: flex-end;
} 
div.flx-ct > div.counter {
    flex: 0 0 max-content;
    align-self: flex-end;
}
div.flx-ct > div.counter.alertLong {
    color: #bd1d1d;
}

/*elementos del formulario*/

.flx-ct {
    display: flex;
    flex-wrap: wrap;
/*    width: 100%;*/
    align-items: flex-start;
/*        align-items: stretch;*/
}

.flx-ct > *,
.flx-col > * {
    flex: 1 1 auto;
}
th.topth > * {
	display: inline;
	min-width: 10px;
}
/*
span.topthCentral {
	float:left;
}
*/
.icon_left {
	float: left;
	
}
.icon_right {
	float: right;
	padding-left: 5px;
	
}
/*
th.topth {
	display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}
th.topth > div {
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;
}
th.topth > div.topthLeftIcon {
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
}
th.topth > div.topthCentral {
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    -webkit-flex: 20 1 auto;
    -ms-flex: 20 1 auto;
    flex: 20 1 auto;
}
th.topth > div.topthRightIcon {
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
}
*/

.flx-ct.married {
    flex-wrap: nowrap;
}
.flx-ct.married.aLaDerecha {
    justify-content: flex-end;
}
.flx-ct.married.aLaDerecha > div {
    display: contents;
}
.flx-col {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex-wrap: nowrap;
    justify-content: flex-start;
}
.form-btn-group {
    display: flex;
    flex-wrap: nowrap;
    align-self: flex-end;
}
.form-btn-group>* {
    flex: 1 1 auto;
    padding: 2px;
    
}
.form-group {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 2px;
    min-width: 0px;
/*    width: 100%;*/
}
div.form-group.noPadd {
    padding: 0px;
}
.form-group>* {
    flex: 1 1 100%;
}

.form-group.oculto,
.form-group.oculto > * {
    display: none;
}

.chckBx-group {
    align-self: flex-end;
}
.form-group > label {
    padding: 0 0 0 2px;
    margin: 0;
    font-size: .9em;
    white-space: nowrap;
    min-width: 0px;
}

.form-group > .input-line {
    display: flex;
    flex-wrap: nowrap;
    min-width: 0px;
}

.form-group > .input-line > input,
.form-group > .input-line > select,
.form-group > .input-line > textarea {
    flex: 1 1 auto;
    line-height: 1.5;
    padding: 2px;
    font-size: 1em;
    min-width: 0px;
}
.form-group > .input-line > div.input-line-prepend,
.form-group > .input-line > div.input-line-midpend,
.form-group > .input-line > div.input-line-append {
    display: flex;
    flex: 0;
}
.form-group > .input-line > .form-control:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.form-group > .input-line > .form-control:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
/* .form-group > .input-line > .input-line-prepend,
.form-group > .input-line > .input-line-prepend>*:not(:last-child),
.form-group > .input-line > .input-line-midpend {
    margin-right: -1px;
} */
.form-group > .input-line > .input-line-prepend > button {
    border-bottom-right-radius: 0px;
    border-top-right-radius: 0px;
}

.form-group > .input-line > .input-line-prepend > button:not(:first-child) {
    border-bottom-left-radius: 0px;
    border-top-left-radius: 0px;
}
.form-group > .input-line > .input-line-midpend > button {
    border-radius: 0px;
/*
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
*/
    
}
.form-group > .input-line > .input-line-append,
.form-group > .input-line > .input-line-append>button:not(:first-child) {
    margin-left: -1px;
}
.form-group > .input-line > .input-line-append > button {
    border-bottom-left-radius: 0px;
    border-top-left-radius: 0px;
}
.form-group > .input-line > .input-line-append > button:not(:last-child) {
    border-bottom-right-radius: 0px;
    border-top-right-radius: 0px;
}


/*PESTAÑA DOCUMENTOS y fotografias*/
  


.lstDocs {
    min-height: 40px;
}

.tipoDoc {
    text-align: center;
    vertical-align: middle;
}

.tipoDoc.toRight {
    border-left: 1px solid #364e63;
    order: -1;
}

.tipoDoc.toLeft {
    border-right: 1px solid #364e63;
    order: -1;
}

div.tipoDoc {}


#wr_cont_docs {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    flex-wrap: nowrap;
    height: 100%;
    width: 100%;

}
#centro-docs {
    display: flex;
    flex-direction: column;
}
#centro-docs > .botonera {
    flex: 0 0 auto;
}
#wr_docs {
    display: flex;
    flex-direction: column;
    background-color: beige;
    flex-grow: 1;
    flex-basis: 30%
}
#wr_docs_head {
    display:flex;
    flex-direction: row;
    width: 100%;
}
.btn_docs{
    flex-basis: 25%;
    margin: 4px 2px 0px 2px;
} 


h2.tipoDoc {
    float: left;
    flex-basis: 10%;
}

li.wr_doc {
    background-color: #ccc;
    border: 1px solid;
    border-radius: 8px;
    list-style-type: none;
    display: flex;
    align-items: center;
    padding: 8px;
    margin: 8px;
    cursor:move;
}
.input-group {
    font-family: Arial Narrow, Arial, sans-serif;
    display: flex;
    line-height: 1.5;
    margin: 0 20px 0 10px;
}

input[type=text].nombreDoc {
    background-color: #e6e6e6;
    border: 1px solid #bfbfbf;
    color: black;
    height: 28px;
    width: 250px;
    font-size: 1.5em;
    font-weight: 900;
    padding: 3px;
}

.input-group-append {
    margin-left: -1px;
    width: 50px;
}

span.input-group-text {
    background-color: #e6e6e6;
    border: 1px solid #bfbfbf;
    color: #404040;
    height: 28px;
    min-width: 45px;
    font-size: 1.5em;
    font-weight: 900;
    padding: 3px;
}

.ayuda .textoAyuda {
    display: block;
    visibility: hidden;
    width: 100px;
    background-color: #595959;
    color: #f2f2f2;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;

    /* Position the tooltip */
    position: relative;
    left: -110px;
    top: -3px;
    z-index: 1;

}

.ayuda:hover .textoAyuda {
    visibility: visible;
}
/*a partir de aqui ordenes para galeria*/

li.draggable{
    list-style-type: none;
}
.wr_dyf {
    touch-action: none;
}
.wr_fotos {
    display: inline-flex;
    flex-direction: row;
    min-height: 12em;
    background: white;
    margin: 2px;
    border: 1px solid black;
    min-height: 200px;
    z-index: 0;
}
.wr_thumbs {
    min-height: 224px;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    z-index: 0;
    margin: 2px;
    padding: 2px;
}
.wr_thumb {
    display: flex;
    flex-direction: column;
    border: 1px solid #364e63;
    border-radius: 8px;
    padding: 4px;
    margin:2px;
    background-color: #ccc;
    height: 210px;
}
[draggable=true] {
    cursor: move;
}
li.wr_thumb.drag-sort-activo {
/*
    background: transparent;
    color: transparent;
*/
}

.wr_thumb textarea.pieFoto {
    width:144px;
    font-family: Arial Narrow, Arial, sans-serif;
    font-weight: 100;
}
/*
input.pieFot {
    display:block;
    margin: 0 0 4px 0;
    width: 144px;
}
input.pieFot.oculto{
    display:none;
}
*/
.frame {
    margin: 0 0 4px 0;
    width: 144px;
    height: 144px;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items:center;
}
.frame.mini {
    width: 120px;
    height: 120px;
}
img.thumb {
    
}
img.thumb.mini{
}
.wr_icons_th {
    display: inline-flex;
    flex-flow: row nowrap;
    justify-content: space-evenly;
    width: 144px;
}
.wr_icons_vs {
    display: inline-flex;
    flex-flow: row nowrap;
    justify-content: space-evenly;
}

/* estilos para la imagen popup de galeria*/
/* estilos tb para dialog_form*/

.show ,
#dialog_form {
    display: none;
    z-index:5;
}
#dialog_form_2 {
    display: none;
    z-index:6;
}
.show .overlay
,#dialog_form.overlay
,#dialog_form_2.overlay_2{
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.66);
    position: absolute;
    top: 0;
    left: 0;
}
.show .img-show{
    width: 800px;
    height: 800px;
    background: #FFF;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    overflow: hidden
}
.img-show img{
    width: auto;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
textarea.descripcionFoto {
    resize: none;
}
textarea.descripcionFoto.visible {
    display:block;
    width: 120px;
}
textarea.descripcionFoto.oculto {
    display:none;
}
.top {
    z-index: 2;
    position: relative
}
.superTop {
    z-index: 5;
}
.droppable,
.bottom {
    z-index: 1;
    position: relative
}
.draggable {
    cursor:move;
}
.ui-sortable-placeholder{
    width: 154px;
    height: 210px;
    background: #e6e6e6;
    border: 2px dashed #364e63;
    border-radius: 8px;
    margin: 5px;
}

/*TAMAÑO DE BOXES DE FLEX BOX*/

.sz-1,
.sz-2,
.sz-3,
.sz-4,
.sz-5,
.sz-6,
.sz-7,
.sz-8,
.sz-9,
.sz-10,
.sz-11,
.sz-12,
.sz-full {
    position: relative;
/*    width: 100%;*/
/*    min-height: 1px;*/
}

.sz-1 {
    flex: 1 1 8.33%;
    min-width: 50px;
}

.sz-2 {
    flex: 1 1 16.66%;
    min-width: 100px;
}

.sz-3 {
    flex: 1 1 25%;
    min-width: 150px;
}

.sz-4 {
    flex: 1 1 33.33%;
    min-width: 200px;
}

.sz-5 {
    flex: 1 1 41.66%;
    min-width: 250px;
}

.sz-6 {
    flex: 1 1 50%;
    min-width: 300px;
}

.sz-7 {
    flex: 1 1 58.33%;
    min-width: 350px;
}

.sz-8 {
    flex: 1 1 66.66%;
    min-width: 400px;
}

.sz-9 {
    flex: 1 1 75%;
    min-width: 450px;
}

.sz-10 {
    flex: 1 1 83.33%;
    min-width: 500px;
}

.sz-11 {
    flex: 1 1 91.66%;
    min-width: 550px;
}

.sz-12 {
    flex: 1 1 100%;
    min-width: 600px;
}
.sz-full {
    flex: 1 1 100%;
    width: calc(100% - 8px);
    margin: 4px;
}
.super.sz-4{
    min-width: 400px;
}
div[class*="sz-"] *[class*="sz-"] {
    min-width: 0px;
}

break.breakLine {
    display: inline-block;
    flex-basis: 100%;
    width: 0px; 
    height: 0px; 
    overflow: hidden;
}

textarea {
    resize: none;
}