/*********************
***** TEXT-COLOR *****
**********************/

.red-text {
    color: var(--red);
}

.black-text {
    color: var(--black);
}

.warning-text {
    color: var(--red);
    font-size: 20px;
    margin-left: 20px;
}

.white-text {
    color: var(--white);
}

.green-text {
    color: var(--green);
}

.blue-text {
    color: var(--ubk-blue);
}

.dark-blue-text {
    color: var(--dark-blue);
}

.yellow-text {
    color: var(--yellow);
}

.font-bold {
    font-weight: bold !important;
}

.font-italic {
    font-style: italic !important;
}

/***********************
****** FONT SIZES ******
***********************/

.font-size-050 {
    font-size: 0.5em !important;
}

.font-size-075 {
    font-size: 0.75em !important;
}

.font-size-080 {
    font-size: 0.8em !important;
}

.font-size-085 {
    font-size: 0.85em !important;
}

.font-size-090 {
    font-size: 0.9em !important;
}

.font-size-095 {
    font-size: 0.95em !important;
}

.font-size-100 {
    font-size: 1em !important;
}

.font-size-1125 {
    font-size: 1.125em !important;
}

.font-size-125 {
    font-size: 1.25em !important;
}

.font-size-150 {
    font-size: 1.5em !important;
}

.font-size-200 {
    font-size: 2em !important;
}

.font-size-250 {
    font-size: 2.5em !important;
}

.font-size-300 {
    font-size: 3em !important;
}

/*******************
***** ALIGNING *****
*******************/

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-justified {
    text-align: justify;
}

.vertical-align {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.horizontal-align {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.space-between {
    justify-content: space-between;
}

.center-align {
    display: flex;
    justify-content: center;
    align-items: center;
}

.pre-line, .allow-line-breaks {
    white-space: pre-line;
}

.no-wrap {
    white-space: nowrap;
}

.allow-word-breaks {
    word-break: break-word;
}

/*****************
***** LABELS *****
*****************/

label.allow-line-breaks, span.allow-line-breaks, strong.allow-line-breaks, {
    white-space: pre;
}

.allow-line-breaks {
    white-space: pre-line;
}

label.h1, span.h1 {
    color: var(--ubk-blue);
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1.5em;
}

label.h1.lowercase {
    font-weight: bold;
    font-size: 1.5em;
}

label.h3 {
    font-weight: bold;
    text-transform: uppercase;
}

label.h4 {
    font-weight: bold;
}

label.h5 {
    color: var(--ubk-blue);
}

label.small, span.small, strong.small {
    font-size: .8em;
}

label.small-medium, span.small-medium, strong.small-medium {
    font-size: .9em;
}

label.medium-large, span.medium-large{
    font-size: 1.25em;
}

label.large, span.large {
    font-size: 1.5em;
}

/*****************
***** MARGIN *****
******************/

.margin-none {
    margin: 0rem !important;
}

.margin-v-very-small {
    margin: 0.1em;
}

.margin-top-v-very-small {
    margin-top: 0.1em;
}

.margin-bottom-v-very-small {
    margin-bottom: 0.1em;
}

.margin-left-v-very-small {
    margin-left: 0.1em;
}

.margin-right-v-very-small {
    margin-right: 0.1em;
}

.margin-horizontal-v-very-small {
    margin-left: 0.1em;
    margin-right: 0.1em;
}

.margin-vertical-v-very-small {
    margin-top: 0.1em;
    margin-bottom: 0.1em;
}

.margin-small {
    margin: 0.3em;
}

.margin-top-small {
    margin-top: 0.3em;
}

.margin-bottom-small {
    margin-bottom: 0.3em;
}

.margin-left-auto {
    margin-left: auto;
}

.margin-left-small {
    margin-left: 0.3em;
}

.margin-right-small {
    margin-right: 0.3em;
}

.margin-horizontal-small {
    margin-left: 0.3em;
    margin-right: 0.3em;
}

.margin-vertical-small {
    margin-top: 0.3em;
    margin-bottom: 0.3em;
}

.margin {
    margin: 0.5em;
}

.margin-top {
    margin-top: 0.5em;
}

.margin-bottom {
    margin-bottom: 0.5em;
}

.margin-left {
    margin-left: 0.5em;
}

.margin-right {
    margin-right: 0.5em;
}

.margin-vertical {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.margin-horizontal {
    margin-left: 0.5em;
    margin-right: 0.5em;
}

.margin-075 {
    margin: 0.75em;
}

.margin-left-075 {
    margin-left: 0.75em;
}

.margin-medium {
    margin: 1em;
}

.margin-top-medium {
    margin-top: 1em;
}

.margin-bottom-medium {
    margin-bottom: 1em;
}

.margin-left-medium {
    margin-left: 1em;
}

.margin-right-medium {
    margin-right: 1em;
}

.margin-horizontal-medium {
    margin-left: 1em;
    margin-right: 1em;
}

.margin-vertical-medium {
    margin-top: 1em;
    margin-bottom: 1em;
}

.margin-large {
    margin: 1.5em;
}

.margin-top-large {
    margin-top: 1.5em;
}

.margin-bottom-large {
    margin-bottom: 1.5em;
}

.margin-left-large {
    margin-left: 1.5em;
}

.margin-right-large {
    margin-right: 1.5em;
}

.margin-vertical-large {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
}

.margin-horizontal-large {
    margin-right: 1.5em;
    margin-left: 1.5em;
}

.margin-vertical-v-large {
    margin-top: 2em;
    margin-bottom: 2em;
}

.margin-top-larger {
    margin-top: 3em;
}

.margin-horizontal-larger {
    margin-right: 3em;
    margin-left: 3em;
}

/***********************
***** FONT FAMILIES ****
************************/

.font-family-century-gothic {
    font-family: CenturyGothic;
}

/*****************
***** PADDING ****
******************/

.padding-title {
    padding-top: 30px;
    padding-left: 30px;
}

.padding-v-very-small {
    padding: 0.1em;
}

.padding-top-v-very-small {
    padding-top: 0.1em;
}

.padding-bottom-v-very-small {
    padding-bottom: 0.1em;
}

.padding-left-v-very-small {
    padding-left: 0.1em;
}

.padding-right-v-very-small {
    padding-right: 0.1em;
}

.padding-horizontal-v-very-small {
    padding-left: 0.1em;
    padding-right: 0.1em;
}

.padding-vertical-v-very-small {
    padding-top: 0.1em;
    padding-bottom: 0.1em;
}

.padding-very-small {
    padding: 0.2em;
}

.padding-top-very-small {
    padding-top: 0.2em;
}

.padding-small {
    padding: 0.3em;
}

.padding-top-small {
    padding-top: 0.3em;
}

.padding-bottom-small {
    padding-bottom: 0.3em;
}

.padding-left-small {
    padding-left: 0.3em;
}

.padding-right-small {
    padding-right: 0.3em;
}

.padding-horizontal-small {
    padding-left: 0.3em;
    padding-right: 0.3em;
}

.padding-vertical-small {
    padding-top: 0.3em;
    padding-bottom: 0.3em;
}

.padding {
    padding: 0.5em;
}

.padding-top {
    padding-top: 0.5em;
}

.padding-bottom {
    padding-bottom: 0.5em;
}

.padding-left {
    padding-left: 0.5em;
}

.padding-right {
    padding-right: 0.5em;
}

.padding-horizontal {
    padding-left: 0.5em;
    padding-right: 0.5em;
}

.padding-vertical {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

.padding-left-075 {
    padding-left: 0.75em;
}

.padding-bottom-075 {
    padding-bottom: 0.75em;
}

.padding-medium {
    padding: 1em;
}

.padding-top-medium {
    padding-top: 1em;
}

.padding-bottom-medium {
    padding-bottom: 1em;
}

.padding-left-medium {
    padding-left: 1em;
}

.padding-right-medium {
    padding-right: 1em;
}

.padding-vertical-medium {
    padding-top: 1em;
    padding-bottom: 1em;
}

.padding-horizontal-medium {
    padding-left: 1em;
    padding-right: 1em;
}

.padding-large {
    margin: 1.5em;
}

.padding-top-large {
    padding-top: 1.5em;
}

.padding-bottom-large {
    padding-bottom: 1.5em;
}

.padding-left-large {
    padding-left: 1.5em;
}

.padding-right-large {
    padding-right: 1.5em;
}

.padding-vertical-large {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
}

.padding-horizontal-large {
    padding-left: 1.5em;
    padding-right: 1.5em;
}

.padding-left-v-large {
    padding-left: 2em;
}

.padding-v-large {
    padding: 2em;
}

/**********************
***** WHITE-SPACE *****
***********************/

.pre-line {
    white-space: pre-line;}


/*******************
***** CSS GRID *****
*******************/

.list-circle {
    list-style-type: circle;
}

.display-contents {
    display: contents;
}

.grid-second-col {
    grid-column: 2 / span 1;
}

.grid-third-col {
    grid-column: 3 / span 1;
}

.grid-fourth-col {
    grid-column: 4 / span 1;
}

.grid-next-row {
    grid-column: 1 / span 1;
}

.grid-item-justify-center {
    justify-self: center;
}

.grid-item-align-center {
    align-self: center;
}

.centered-grid-item {
    justify-self: center;
    align-self: center;
}

/*******************
***** CSS FLEX *****
*******************/

.flex {
    display: flex;
}

.flex-u-1 {flex: 1;}
.flex-u-2 {flex: 2;}
.flex-u-3 {flex: 3;}
.flex-u-4 {flex: 4;}
.flex-u-5 {flex: 5;}
.flex-u-6 {flex: 6;}
.flex-u-7 {flex: 7;}
.flex-u-8 {flex: 8;}
.flex-u-auto {
    flex: 0 1 auto;
}

.flex-max-grow {
    flex: 1 0 auto;
}

.flex-row {
    flex-direction: row;
}

.flex-column {
    flex-direction: column;
}

.flex-row-wrap {
    flex-flow: row wrap;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-nowrap {
    flex-wrap: nowrap;
}

.flex-align-start {
    align-items: flex-start;
}

.flex-align-center ,
 .align-center {
    align-items: center;
}

.flex-align-end {
    align-items: flex-end;
}

.flex-align-baseline {
    align-items: baseline;
}

.flex-justify-center {
    justify-content: center;
}

.flex-justify-start {
    justify-content: flex-start;
}

.flex-justify-end {
    justify-content: flex-end;
}

.flex-justify-space-between {
    justify-content: space-between;
}

.flex-justify-space-around {
    justify-content: space-around;
}

/*********************
***** CSS BORDER *****
*********************/

.border-1px-red {
    border: solid 1px var(--red);
}

.border-1px-dark-gray {
    border: solid 1px var(--dark-gray);
}

.border-2px-dark-gray {
    border: solid 2px var(--dark-gray);
}

.border-2px-ubk-blue {
    border: solid 2px var(--ubk-blue);
}

.border-bottom-2px-ubk-blue {
    border-bottom: solid 2px var(--ubk-blue);
}

.border-top-left-radius-1em-half {
    border-top-left-radius: .5em;
}

.border-top-right-radius-1em-half {
    border-top-right-radius: .5em;
}

.border-bottom-left-radius-1em-half {
    border-bottom-left-radius: .5em;
}

.border-bottom-right-radius-1em-half {
    border-bottom-right-radius: .5em;
}

.border-radius-1em-half {
    border-radius: .5em;
}

.border-radius-1em {
    border-radius: 1em;
}

.border-none {
    border: none;
}

/*****************
***** INPUTS *****
*****************/

.default-appearance-none {
    border:none;
    background-image:none;
    background-color:transparent;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.default-appearance-none:focus {
    outline: none;
}

.input-text-border-bottom {
    padding-bottom: .2rem;
    padding-top: .2rem;
    border: none;
    border-bottom: solid 2px var(--gray);
    background: transparent;
}

.input-textarea-border {
    padding: 0.5rem;
    border: solid 2px var(--gray);
}

.input-select {
    border: none;

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(/assets/icons/new-design/desplegable.svg) no-repeat right content-box;
    background-size: 1rem 1rem;
    padding-right: 1rem;
}

.input-select-border-bottom {
    padding-bottom: .2rem;
    padding-top: .2rem;
    border: none;
    border-bottom: solid 2px var(--gray);

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent url(/assets/icons/new-design/desplegable.svg) no-repeat right content-box;
    background-size: 1rem 1rem;
    padding-right: 1rem;
}

.input-textarea-border:focus {
    outline: none;
    border: solid 2px var(--ubk-blue);
}

.input-text-border-bottom:focus,
.input-select-border-bottom:focus {
    outline: none;
    border-bottom: solid 2px var(--ubk-blue);
}

.input-text::placeholder,
.input-select-border-bottom::placeholder,
.input-textarea::placeholder {
    color: var(--gray);
}

.input-select-border-bottom::-webkit-calendar-picker-indicator {
    background: none;
}

/*********************
***** BACKGROUND *****
*********************/

.background-ubk-blue {
    background: var(--ubk-blue);
}

.background-60-ubk-blue {
    background: #0f4c8199;
}

.background-semi-transparent-light-gray {
    background: var(--semi-transparent-light-gray);
}

/****************
***** OTHER *****
****************/

.text-transform-none {
    text-transform: none;
}

.clickable {
    cursor: pointer;
}

.not-clickable {
    pointer-events: none;
}

.opacity-075 {
    opacity: .75;
}

.half-opacity {
    opacity: .5;
}

.hidden {
    display: none;
}

.width-40 {
    width: 40%;
}

.width-50 {
    width: 50%;
}

.width-60 {
    width: 60%;
}

.width-90 {
    width: 90%;
}

.width-100 {
    width: 100%;
}

.max-height-100 {
    max-height: 100%;
}

.text-ellipsis {
    text-overflow: ellipsis;
    overflow: hidden;
    width: 100%;
    white-space: nowrap;
}

.pos-absolute {
    position: absolute;
}

.pos-relative {
    position: relative;
}

.overflow-auto {
    overflow: auto;
}

.overflow-y-auto {
    overflow-y: auto;
}

.overflow-hidden {
    overflow: hidden;
}

/****************
***** POPUP *****
****************/

.main-popup-scrim {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 998;
}

.main-popup-container {
    position: absolute;
    background: var(--white);
}

.main-popup-container.popup-auto-height {
    top: 50%;
    transform: translateY(-50%);
    max-height: 95vh;
}

.main-popup-container.popup-auto-height.v-large,
.popup-body-vh-v-large {
    max-height: 90vh;
}

.main-popup-container.popup-auto-height.large,
.popup-body-vh-large {
    max-height: 80vh;
}

.main-popup-container.popup-auto-height.medium,
.popup-body-vh-medium {
    max-height: 70vh;
}

.main-popup-container.popup-auto-height.small,
.popup-body-vh-small {
    max-height: 60vh;
}

.main-popup-container.popup-width-wider {
    left: 10%;
    right: 10%;
}

.main-popup-container.popup-width-v-wide {
    left: 15%;
    right: 15%;
}

.main-popup-container.popup-width-wide {
    left: 20%;
    right: 20%;
}

.main-popup-container.popup-width-medium {
    left: 25%;
    right: 25%;
}

.main-popup-container.popup-width-thin {
    left: 30%;
    right: 30%;
}

.main-popup-container.full-screen {
    left: 1%;
    right: 1%;
    top: 50%;
    max-height: 90vh;
    transform: translateY(-50%);
    height: 95%;
}

.lopd-accept-button {
    max-height: 1.5em;
    max-width: 1.5em
}

.lopd-popup-row {
    display: flex;
    flex-direction: row;
    margin-top: 1em;
    margin-left: 3em;
    margin-top: 3em;
    flex-wrap: wrap;
}

.lopd-popup-row-first {
    margin-top: 1em;
    margin-left: 3em;
}

.accept-container {
    margin-top: 1.5em;
    margin-left: 5%;
    margin-bottom: 1em;}


.lopd-text-container {
    width: 90%;
    margin-left: 5%;
    margin-right: 5%;
    margin-bottom: 5%;
    margin-top: 0em;
    overflow: auto;
    white-space: pre-line;
    max-height: 70%;
}

.lopd-title {
    font-weight: bold;
    display: block;
    text-align: center;
}