@charset "utf-8";
/* CSS Document */

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    src: local('Montserrat Regular'), local('Montserrat-Regular'),
        url('fonts/Montserrat/Montserrat-Regular.ttf') format('truetype'),
        url('fonts/Montserrat/Montserrat-Regular.woff') format('woff')
}

/*----------------------------
    General
-----------------------------*/
html {
    width: 100%;
    height: 100%;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(242, 242, 242, 0.7);
}

body.dhbgapp_fullview {
    overflow: hidden;
}

#body {
    clear: both;
    margin: auto;
    padding: 0 0 70px;
    position: relative;
}

a {
    color: #44c5d0;
}

a:hover {
    color: #7c8f8c;
}

h1 {
    font-size: 20px;
    color: #3f637e;
    font-weight: normal;
    margin: 3px;
}

h2 {
    font-size: 19px;
    color: #fff;
    background-color: #7c8f8c;
    padding: 8px 0;
    margin: 2px 0;
}

.ui-dialog-content h2 {
    text-align: center;
    padding: 10px;
}

h3 {
    font-size: 18px;
    color: #0E1C2B;
    margin-top: 15px;
}

h4 {
    font-size: 15px;
    color: #889693;
}

h5 {
    font-size: 14px;
}

h6 {
    font-size: 14px;
    font-weight: normal;
}

pre {
    background: #F8F8FF;
    border: #000 dashed 1px;
    padding: 6px;
    overflow: auto;
    color: #333;
}

cite {
    font-weight: normal;
    font-style: italic;
    color: #444;
}

em {
    color: #C14F23;
}

p {
    line-height: 17px;
}

img {
    border: 0;
}

br.clear, div.clear {
    clear: both;
    width: 0;
    height: 0;
    font-size: 0;
    line-height: 0;
}

.hidden {
    display: none;
}

ul.data_list {
    list-style: none;
}

ul.data_list li {
    padding-bottom: 5px;
}

ul.data_list li:before {
    content: "\f109";
    font-family: "Ionicons";
    position: relative;
    left: -5px;
    color: #44c5d0;
    font-weight: bold;
}

ol.ol_counter li {
    padding-bottom: 5px;
}

a:hover {
    text-decoration: none;
}

.button, .w-content-controler {
    cursor: pointer;
}

button.general {
    background-color: #fff;
    color: #333;
    font-weight: bold;
    border: 1px solid #333;
    padding: 10px 20px;
    cursor: pointer;
    position: relative;
}

button.general.active:after,
button.general:hover:after {
    content: "";
    width: 100%;
    height: 6px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #44c5d0;
}

blockquote {
    font-style: italic;
    color: #555555;
    background: url(../img/comillas1.png) no-repeat top left;
    padding: 10px 40px;
    margin: 0;
    position: relative;
    color: #3f637e;
}

blockquote:after {
    background: url(../img/comillas2.png) no-repeat top left;
    width: 36px;
    height: 30px;
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
}

blockquote label {
    font-weight: bold;
    display: block;
    margin-top: 10px;
    text-align: center;
    font-style: normal;
}

.instruction, .animation_image .label, .about {
    font-size: 12px;
    text-align: center;
}

.instruction i {
    font-size: 16px;
    margin-right: 5px;
}

.instruction[type=danger] {
    color: #C14F23;
}

.instruction[type=alert] {
    font-weight: bold;
}

img.animation {
    margin: 1px;
}

img.animation, img.play-animation, .animation_image .label {
    cursor: pointer;
}

.animation_loading, img.animation.loading {
    background: transparent url(../img/miniload.gif) no-repeat center;
    border: 1px dashed #aaa;
    margin: 0;
}

.animation_image {
    text-align: center;
}

.animation_image img {
    max-width: 100%;
    max-height: 100%;
}

.box_media {
    text-align: center;
}

.box_media img {
    max-width: 100%;
    max-height: 100%;
}

/********************************************************************************/
/* DEVICE CONTROL
/********************************************************************************/
.onlymobile {
    /* Nothing */
}

.notmobile {
    display: none;
}

/********************************************************************************/
/* CONTENT AREA
/********************************************************************************/
main {
    padding: 5px;
    border: 1px solid #c9c9c9;
    background-color: #fff;
}

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

header {
    height: auto;
    padding-bottom: 15px;
    position: relative;
}

header.collapsed {
    height: 50px;
    overflow: hidden;
    padding-bottom: 0;
}

header:after {
    content: "\f126";
    font-family: "Ionicons";
    text-align: center;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 11px;
    background-color: #fff;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    cursor: pointer;
}

header.collapsed:after {
    content: "\f123";
}

/********************************************************************************/
/* MENUS
/********************************************************************************/
#open_menu {
    position: fixed;
    top: 6px;
    right: 0;
    z-index: 5;
    background-color: #003543;
    padding: 0px 0px 0 7px;
    color: #fff;
    font-size: 30px;
    line-height: 30px;
}

#open_menu i {
    margin: 0;
    width: 30px;
    height: 25px;
    display: inline-block;
}

#open_menu:hover i,
#open_menu.active i {
    color: #40bcc6;
}

.overlay {
  position: fixed;
  top: 55px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  background-color: rgba(0,0,0,0.5);
}

#main_menu {
    color: #fff;
    font-size: 13px;
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    width: auto;
    background-color: #003543;
    padding: 0 20px;
    display: none;
    z-index: 6;
    overflow: auto;
    border-left: 1px solid #40bcc6;
}

#main_menu #close_menu {
    float: right;
    margin: 10px 0;
    border-bottom: none;
    padding-bottom: none;
    color: #fff;
    font-size: 30px;
    line-height: 30px;
}

#main_menu #close_menu i {
    margin: -10px 5px;
    width: 30px;
    height: 30px;
    display: inline-block;
    margin: 0;
}

#main_menu #close_menu:hover i,
#main_menu #close_menu.active i {
    color: #40bcc6;
}

nav {
    margin-bottom: 10px;
}

nav hr {
    clear: both;
}

nav:after,
nav hr:after {
    clear: both;
    display: block;
    content: "";
}

nav ul.menu {
    margin: 0;
    padding: 0;
    clear: both;
}

nav ul.menu > li {
    color: #fff;
    position: relative;
    list-style: none;
    text-align: left;
    padding: 10px;
    margin: 0;
    cursor: pointer;
}

nav div {
    white-space: nowrap;
    clear: both;
    border-bottom: 1px solid #fff;
    margin-bottom: 15px;
    padding-bottom: 15px;
}

nav div:hover {
    color: #B9BE22;
}

nav ul.menu > li.first-child {
}

nav ul.menu > li.active {
    background-color: #fff;
    color: #40bcc6;
}

nav ul.menu > li.current {
    color: #40bcc6;
    background-color: #fff;
}

nav ul.menu > li.last-child {
    border-right: none;
}

nav ul.submenu {
    margin-left: 5px;
    margin-top: 10px;
    padding: 0;
}

nav ul.submenu > li {
    padding: 10px 20px;
    text-align: left;
    list-style: none;
    border-top: 1px solid #ffffff;
    cursor: pointer;
}

nav ul.submenu > li.active,
nav ul.submenu > li.current {
    background-color: #fff;
    color: #40bcc6;
}

/*--------------------------*/
/* Globals menu
/*--------------------------*/
nav.globals li {
    text-align: center;
    padding: 5px 10px;
    margin: 0;
    font-weight: bold;
    cursor: pointer;
    float: left;
    font-size: 30px;
}

nav.globals2 li {
    text-align: center;
    padding: 5px 10px;
    margin: 0;
    font-weight: bold;
    cursor: pointer;
    float: left;
    font-size: 14px;
}

nav.globals2 li.active,
nav.globals2 li.current,
nav.globals li.active,
nav.globals li.current {
    color: #40bcc6;
}

nav.globals2 ul.menu > li {
    text-align: center;
}

nav.globals2 li i {
    font-size: 30px;
}

nav.globals2 li[data-global=credits] i {
    font-size: 37px;
    line-height: 37px;
}

/*--------------------------*/
/* Subpages menu
/*--------------------------*/
#subpages_menu {
    float: right;
    margin-right: 40px;
}

#subpages_menu ul {
    margin: 0;
    padding: 0;
    float: left;
}

#subpages_menu li {
    margin: 4px 5px 0 0;
    padding: 5px;
    color: #99cc33;
    font-weight: bold;
    text-align: center;
    float: left;
    list-style: none;
    line-height: 22px;
    padding: 5px 4px 6px 4px;
    height: 19px;
    width: 19px;
    color: #fff;
    border: 2px solid #fff;
    background: #95b7e4;
    border-radius: 10px;
}

#subpages_menu li.active, #subpages_menu li.current {
    padding: 5px 4px 6px 4px;
    height: 19px;
    width: 19px;
    color: #95b7e4;
    font-weight: bold;
    border: 2px solid #95b7e4;
    background: #fff;
}

#subpages_menu div.button {
    width: 42px;
    height: 42px;
    margin: 0 2px;
    float: left;
}

#subpages_menu div[previous-page] {
    background: url(../img/sprite.png) no-repeat 0 top;
}

#subpages_menu div[next-page] {
    background: url(../img/sprite.png) no-repeat -55px top;
}

#subpages_menu div[previous-page].active {
    background-position: 0 -50px;
}

#subpages_menu div[next-page].active {
    background-position: -55px -50px;
}

#subpages_menu #select-choice {
    float: left;
    margin-top: 5px;
    height: 30px;
}
/********************************************************************************/
/* FOOTER
/********************************************************************************/
footer {
    z-index: 4;
    height: 45px;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 5px 0;
    background-color: #0e1c2b;
    text-align: left;
    box-shadow: 2px -1px 6px #0e1c2b;
    color: #fff;
}

footer #labelmeasuringprogress {
    margin: 0 10px 0 0;
    font-size: 18px;
}

footer #labelprogress {
    font-size: 18px;
    font-weight: normal;
    margin-top: -5px;
    display: block;
}

#page_number {
    background-color: transparent;
    width: 40px;
    height: 30px;
    font-size: 20px;
    text-align: center;
    border-radius: 20px;
    position: absolute;
    bottom: 10px;
    right: 2px;
    padding-top: 10px;
}

/********************************************************************************/
/* HIGHLIGHTED BOXES
/********************************************************************************/
.box-text {
    max-width: 800px;
    background: #fff;
    position: relative;
    margin: 20px auto;
    text-align: justify;
    font-size: 14px;
}

.box-text .box_body {
    padding: 50px 15px 10px;
}

.box-text > .title {
    font-size: 18px;
    margin: 0 0 5px 0;
    font-weight: bold;
    border-radius: 0 0 50px 0;
    float: left;
    padding: 8px 30px 8px 50px;
    min-width: 40%;
    position: relative;
    text-align: left;
}

.box-text > .title:before {
    content: "\f10a";
    font-family: "Ionicons";
    position: absolute;
    left: -8px;
    font-size: 115px;
    top: -20px;
    color: #333;
    line-height: 80px;
}

.box-text > .title:after {
    content: "\f149";
    font-family: "Ionicons";
    position: absolute;
    left: 0;
    font-size: 25px;
    top: 5px;
    color: #fff;
}

/********* important ********/
.box-text.important {
    border: 2px solid #CA5F23;
}

.box-text.important .title {
    background-color: #CA5F23;
    color: #ffffff;
}

.box-text.important > .title:before {
    color: #CA5F23;
}

.box-text.important > .title:after {
    content: "\f100";
}

/********* box_example ********/
.box-text.example {
    background-color: #F2F2F1;
    padding: 8px;
}

.box-text.example .box_body {
    border: 2px solid #DD9F31;
}

.box-text.example .title {
    background-color: #E5B670;
}

.box-text.example > .title:before {
    color: #DD9F31;
}

.box-text.example > .title:after {
    content: "\f11a";
}

/********* box_note ********/
.box-text.note {
    padding: 6px;
    border: 2px solid #A9A9A9;
    border-radius: 30px;
}

.box-text.note .box_body {
    background-color: #F2F2F1;
    border-radius: 25px;
}

.box-text.note .title {
    background-color: #E2E1E1;
}

.box-text.note > .title:before {
    color: #A9A9A9;
}

.box-text.note > .title:after {
    content: "\f12e";
}

/********* box link ********/
.box-text.link {
    background-color: #F2F2F1;
    padding: 8px;
}

.box-text.link .box_body {
    border: 2px solid #74C8D2;
}

.box-text.link .title {
    background-color: #A4DBE1;
}

.box-text.link > .title:before {
    color: #74C8D2;
}

.box-text.link > .title:after {
    content: "\f2c3";
}

/********* box connection ********/
.box-text.connection {
    background-color: #D5EEF0;
    padding: 8px;
}

.box-text.connection .box_body {
    border: 2px solid #0d1b2a;
    padding-top: 10px;
}

/********* box activity ********/
.box-text.activity {
    border: 2px solid #0D1B2A;
}

.box-text.activity .title {
    background-color: #142839;
    color: #ffffff;
}

.box-text.activity > .title:before {
    color: #0D1B2A;
}

.box-text.activity > .title:after {
    content: "\f274";
}

/********************************************************************************/
/* Float window
/********************************************************************************/
.wf-content {
    position: absolute;
    padding: 10px 15px;
    background-color: #ffffff;
    box-shadow: 0 5px 5px #bbb;
    border: 1px solid #44c5d0;
}

.wf-content.autox {
    left: 10px;
    right: 10px;
}

.wf-content.autoy {
    top: 10px;
    bottom: 10px;
}

.wf-content .close {
    position: absolute;
    padding: 3px;
    background-color: #44c5d0;
    border-color: #44c5d0;
    line-height: 24px;
    font-size: 16px;
    text-align: center;
    font-weight: bold;
    color: #ffffff;
    width: 20px;
    height: 20px;
    top: 0;
    right: 0;
}

.wf-content .close:hover {
    background-color: #003543;
}

/********************************************************************************/
/* SPECIFIC ELEMENTS: ARROWS AND CHECKS
/********************************************************************************/

.icon_horizontal_arrow {
    background: url(../img/sprite.png) no-repeat -178px -50px;
    padding: 5px 23px;
    font-size: 10px;
}

.icon_removed {
    background: url(../img/sprite.png) no-repeat -722px 0;
    padding: 8px 13px;
    font-size: 10px;
}

.icon_approved {
    background: url(../img/sprite.png) no-repeat -752px 0;
    padding: 8px 13px;
    font-size: 10px;
}

.down_pointer {
    background: url(../img/sprite.png) no-repeat -532px 0;
    font-size: 10px;
    border: none;
    width: 67px;
    height: 52px;
}

.right_pointer {
    background: url(../img/sprite.png) no-repeat -593px 0;
    font-size: 10px;
    border: none;
    width: 67px;
    height: 52px;
}

.icon_inline {
    display: inline;
    padding: 0 7px;
    margin: 0 2px;
}

.icon_more {
    background: url(../img/sprite.png) no-repeat -666px -12px;
    padding: 8px 14px;
    font-size: 10px;
}

.icon_more.active {
    background-position: -666px -52px;
}

.icon_less {
    background: url(../img/sprite.png) no-repeat -666px -83px;
    padding: 8px 14px;
    font-size: 10px;
}

.icon_less.active {
    background-position: -666px -123px;
}

.note_pointer_left, .note_pointer_right {
    background: url(../img/sprite.png) no-repeat;
    font-size: 18px;
    font-weight: bold;
    border: none;
    width: 40px;
    height: 36px;
    color: #ffffff;
    padding-top: 10px;
    position: absolute;
}

.note_pointer_right {
    background-position: -806px -50px;
    padding-left: 15px;
    text-align: left;
}

.note_pointer_left {
    background-position: -806px 0;
    padding-right: 15px;
    text-align: right;
}

.note_pointer_right:hover,
.note_pointer_left:hover {
    filter: invert(100%);
}

div.icondocument, button.icondocument {
    background: transparent url(../img/sprite.png) no-repeat -461px 0;
    width: 61px;
    height: 61px;
}

div.icondocument {
    margin: auto;
}

button.icondocument {
    border: none;
}

div.icondocument.active, button.icondocument.active {
    background-position: -461px -65px;
}

/********************************************************************************/
/* SOUNDS AND VIDEO
/********************************************************************************/

div.iconsound, button.iconsound {
    background: transparent url(../img/sprite.png) no-repeat -390px 0;
    width: 61px;
    height: 61px;
}

div.iconsound {
    margin: auto;
}

button.iconsound {
    border: none;
}

div.iconsound.active, button.iconsound.active {
    background-position: -390px -65px;
}

.sound_loading, button.sound_loading {
    background: transparent url(../img/miniload.gif) no-repeat center;
}

div.iconvideo, button.iconvideo {
    background: transparent url(../img/sprite.png) no-repeat -320px 0;
    width: 61px;
    height: 61px;
}

div.iconvideo {
    margin: auto;
}

button.iconvideo {
    border: none;
}

div.iconvideo.active, button.iconvideo.active {
    background-position: -321px -65px;
}

video {
    max-width: 100%;
}

.videobox {
    text-align: center;
}

.videobox > div {
    margin: 0 auto 5px;
    box-shadow: 6px 6px 6px #888;
}

.videobox video {
    max-width: 100%;
    box-shadow: 6px 6px 6px #888;
    margin-bottom: 5px;
}

.videobox video.mejs__player {
    box-shadow: none;
}

audio {
    max-width: 100%;
}

/********************************************************************************/
/* SPECIAL CONTENT: Tooltip
/********************************************************************************/
.tooltip {
    cursor: pointer;
}

sup.tooltip {
    font-weight: bold;
    padding-left: 3px;
    color: #C14F23;
}

.text_tooltip {
    padding: 10px;
    line-height: 10px;
}

.ui-tooltip-content {
    word-wrap: break-word;
}

/********************************************************************************/
/* SPECIAL CONTENT: MOUSE OVER
/********************************************************************************/
.mouse-over { cursor: pointer; }

/********************************************************************************/
/* SPECIAL CONTENT: MORE - LEST
/********************************************************************************/
.more-less { cursor: pointer; }

.viewmore .icon_more { display: none; }

.viewless .icon_less { display: none; }

/********************************************************************************/
/* TEXTO EN COLUMNAS
/********************************************************************************/
.row > .col-2 {
    padding: 5px;
}

/********************************************************************************/
/* COMMON TO VERTICAL AND HORIZONTAL MENUS
/********************************************************************************/
.vertical-menu,
.horizontal-menu,
.vertical-menu-both-sides {
    width: 100%;
    margin-bottom: 20px;
}

.vertical-menu .element,
.horizontal-menu .chalkboard_horizontal_content .element,
.vertical-menu-both-sides .element {
    padding: 8px;
    margin: 0;
    border: 1px solid #fff;
    border-bottom: 1px solid #003543;
    line-height: 20px;
    position: relative;
}

.vertical-menu .element:after,
.horizontal-menu .chalkboard_horizontal_content .element:after,
.vertical-menu-both-sides .element:after {
    content: "\f125";
    font-family: "Ionicons";
    font-size: 16px;
    position: absolute;
    right: 5px;
    top: 50%;
    margin-top: -8px;
}

/********************************************************************************/
/* VERTICAL MENU
/********************************************************************************/
/** Nothing */

/********************************************************************************/
/* VERTICAL MENU BOTH SIDES
/********************************************************************************/
/** Nothing */


/********************************************************************************/
/* HORIZONTAL MENU
/********************************************************************************/
.horizontal-menu .chalkboard_items > .chalkboard_item {
    padding: 8px 8px 6px;
    margin: 5px 0 0;
    text-align: center;
    float: left;
    line-height: 20px;
    border: 1px solid #fff;
    border-bottom: 0;
    border-right: 1px solid #003543;
    position: relative;
}

.horizontal-menu .chalkboard_items > .chalkboard_item:first-child {
    border-left: 1px solid #003543;
}

.horizontal-menu .chalkboard_items >.chalkboard_item.active,
.horizontal-menu .chalkboard_items >.chalkboard_item.current {
    border: 1px solid #003543;
}

.horizontal-menu .chalkboard_items > .chalkboard_item.current:after,
.horizontal-menu .chalkboard_items > .chalkboard_item.active:after {
    content: "";
    width: 100%;
    height: 6px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    background-color: #44c5d0;
}

.horizontal-menu >.chalkboard_content {
    width: 98%;
    height: auto;
    float: left;
    padding: 1%;
    overflow: auto;
    background-color: #003543;
    color: #fff;
}

.horizontal-menu > .chalkboard_content > .element > h5 {
    margin: 0 0 10px;
    font-size: 16px;
    color: #fff;
}

.horizontal-menu .chalkboard_content > .element > p > cite,
.horizontal-menu .chalkboard_content > .element > p > em {
    color: #fff;
    font-weight: bold;
}

/********************************************************************************/
/* PAGINATION
/********************************************************************************/
.ctrl-pagination {
    background-color: #f3f3f3;
    padding: 10px;
    position: relative;
    margin-bottom: 10px;
    border: 3px solid #40bcc6;
}

.ctrl-pagination ul.layers {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: auto;
}

.ctrl-pagination li.layer {
    margin: 0;
    padding: 5px 10px 0 10px;
}

.ctrl-pagination ul.pagination {
    list-style: none;
    margin: 0;
    padding: 0;
    float: right;
    margin: 5px 0 0;
}

.ctrl-pagination ul.pagination.arrows {
    font-size: 20px;
}

.ctrl-pagination.horizontal ul.pagination li {
    float: left;
}

.ctrl-pagination .previous {
    background: url(../img/sprite.png) no-repeat -117px 0;
    width: 21px;
    height: 21px;
    float: left;
    cursor: pointer;
    margin-top: 1px;
    margin-right: 3px;
}

.ctrl-pagination .previous:hover {
    background-position: -117px -50px;
}

.ctrl-pagination .next {
    background: url(../img/sprite.png) no-repeat -147px 0;
    width: 21px;
    height: 21px;
    float: left;
    cursor: pointer;
    margin-top: 1px;
    margin-left: 3px;
}

.ctrl-pagination .next:hover {
    background-position: -147px -50px;
}

.ctrl-pagination .next[disabled] {
    opacity: 0.2;
    cursor: default;
}

.ctrl-pagination .next[disabled]:hover {
    background-position: -147px 0px;
}

.ctrl-pagination ul.pagination.numeric li div {
    border: 1px solid #003543;
    border-radius: 20px;
    height: 21px;
    width: 25px;
    text-align: center;
    margin-left: 2px;
    padding-top: 4px;
}

.ctrl-pagination ul.pagination.numeric li.active div, .ctrl-pagination ul.pagination.numeric li.current div {
    background-color: #003543;
    color: #ffffff;
}

.ctrl-pagination .label_current {
    border-radius: 50px;
    bottom: 2px;
    left: 2px;
    color: #ffffff;
    background-color: #003543;
    font-size: 20px;
    position: absolute;
    text-align: center;
    height: 20px;
    width: 20px;
    padding: 5px;
}

.ctrl-pagination > .layers > .layer > h5 {
    margin-top: 0;
}

/* Vertical pagination */
.ctrl-pagination.vertical ul.pagination {
    position: absolute;
    right: 12px;
    top: 0;
    bottom: 0;
}

.ctrl-pagination.vertical .pagination.arrows .button {
    position: absolute;
    right: 0;
}

.ctrl-pagination.vertical .button.next {
    bottom: 2px;
    transform: rotate(90deg);
}

.ctrl-pagination.vertical .button.previous {
    top: 0;
    transform: rotate(90deg);
}

.ctrl-pagination.vertical .position {
    position: absolute;
    bottom: -12px;
    left: calc(50% - 50px);
    color: #ffffff;
    background-color: #003543;
    padding: 5px 20px;
    border-radius: 9px;
    font-size: 16px;
}

/* End Vertical pagination */

/********************************************************************************/
/* SPECIAL CONTENT: Data tables
/********************************************************************************/
.datatable {
    border: 1px solid #003543;
    border-spacing: 0;
    border-collapse: none;
    margin-bottom: 10px;
}

.datatable th {
    padding: 10px;
    text-align: center;
    background-color: #003543;
    border: 1px solid #999999;
    border-top-width: 0;
    color: #ffffff;
    font-weight: bold;
}

.datatable td {
    color: #003543;
    padding: 5px;
    border: 1px solid #003543;
    border-top-width: 0;
    empty-cells: show;
}

.datatable .odd td {
    background-color: #eaeaea;
}

.datatable tfoot td {
    background-color: #c9c9c9;
    font-weight: bold;
    color: #000;
}

/********************************************************************************/
/* VIEW FIRST - IMAGE CONTENT
/********************************************************************************/
.view-first {
    overflow: hidden;
    position: relative;
    color: #fff;
    text-align: center;
}

.view-first .mask {
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.7);
    transition: all 0.4s ease-in-out;
}

.view-first img {
    position: relative;
    transition: all 0.2s linear;
}

.view-first:hover img {
    transform: scale(1.1);
}

.view-first:hover .mask {
    opacity: 1;
}

.view-first .view-content {
    padding: 0 5px;
}

/********************************************************************************/
/* IMAGE TO EXPAND
/********************************************************************************/
.expand-image {
    position: relative;
    background-repeat: repeat-x;
    background-position: center center;
    background-size: cover;
    cursor: pointer;
    width: 100px;
    height: 100px;
    border: 1px solid #999999;
    box-shadow: 5px 5px 5px #bbb;
    margin-bottom: 5px;
}

.expand-image:hover {
    opacity: 0.7;
}

.expand-image .ion-arrow-expand {
    position: absolute;
    top: 5px;
    left: 5px;
    font-size: 35px;
    color: #fff;
    cursor: pointer;
}

#expand_image_content {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 99%;
    width: 99%;
    max-width: 99%;
    max-height: 99%;
    overflow: auto;
}

.expand_image_dialog {
    background-color: rgba(0, 0, 0, 0.7);
}


/********************************************************************************/
/* ACTIVITIES
/********************************************************************************/
.box_end {
    text-align: center;
    padding: 10px;
}

.box_end:before, .box_end:after {
    content: "";
    display: inline-block;
}

.box_end .correct,
.box_end .wrong {
    text-align: center;
    background-color: #ffffff;
    position: relative;
    margin: 0 auto 10px;
    color: #002236;
    background-color: #b9eaed;
    border-radius: 10px;
    padding: 20px 40px 20px 60px;
    max-width: 400px;
}

.box_end .correct:after {
    content: "";
    background: #57dd7f url(../img/sprite.png) no-repeat -927px -116px;
    position: absolute;
    left: 10px;
    width: 32px;
    height: 32px;
    top: calc(50% - 16px);
    z-index: 2;
    border-radius: 50%;
}

.box_end .wrong:after {
    content: "";
    background: #ef6f6f url(../img/sprite.png) no-repeat -927px -78px;
    position: absolute;
    left: 10px;
    width: 32px;
    height: 32px;
    top: calc(50% - 16px);
    z-index: 2;
    border-radius: 50%;
}

.saving .activity_modal {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(128, 128, 128, 0.7);
    z-index: 3;
}

.saving .activity_modal:after {
    content: "";
    background: transparent url(../img/loading.gif) no-repeat center center;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -64px;
    width: 128px;
    height: 15px;
}


/********************************************************************************/
/* SPECIFIC QUIZ
/********************************************************************************/
.jpit-activities-quiz {
    position: relative;
}

.jpit-activities-quiz .box_content {
    position: relative;
    padding-bottom: 40px;
}

.jpit-activities-quiz .box_content .jpit_activities_quiz_question_statement {
    margin-bottom: 20px;
}

.jpit-activities-quiz .box_content .jpit_activities_quiz_question_statement label {
    font-weight: bold;
}

.jpit-activities-quiz .box_content .jpit_activities_quiz_question_statement label:after {
    content: ".";
}

.jpit_activities_quiz_question_option_answer {
    cursor: pointer;
    padding: 10px;
}

.jpit_activities_quiz_question_option_answer:hover {
    background-color: rgba(200, 200, 200, 0.2);
}

.jpit_activities_quiz_question_simplechoice .jpit_activities_quiz_question_option_control,
.jpit_activities_quiz_question_multichoice .jpit_activities_quiz_question_option_control,
.jpit_activities_quiz_question_multisetchoice .jpit_activities_quiz_question_option_control {
    display: none;
}

.jpit_activities_quiz_question_option_answer label {
    background-color: #39576d;
    color: #fff;
    padding: 2px 6px;
    border-radius: 30px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}
.jpit_activities_quiz_question_option_answer label:hover, .jpit_activities_quiz_question_option_answer_selected label  {
    background-color: #7bb004;
}

.jpit_activities_quiz_question_option_answer_selected {
    border: none;
}

.jpit_activities_quiz_paginator_container {
    position: absolute;
    bottom: 5px;
    right: 5px;
    z-index: 2;
}

.jpit_activities_quiz_paginator_current {
    float: left;
    font-size: 20px;
    padding: 0 5px;
}

.jpit_activities_quiz_paginator_previous {
    background: #f3f3f3 url(../img/sprite.png) no-repeat -117px 0;
    width: 25px;
    height: 25px;
    float: left;
    cursor: pointer;
    margin-top: 2px;
    border-radius: 50%;
}

.jpit_activities_quiz_paginator_previous:hover {
    background-position: -117px -50px;
}

.jpit_activities_quiz_paginator_next {
    background: #f3f3f3 url(../img/sprite.png) no-repeat -144px 0;
    width: 25px;
    height: 25px;
    float: left;
    cursor: pointer;
    margin-top: 2px;
    border-radius: 50%;
}

.jpit_activities_quiz_paginator_next:hover {
    background-position: -144px -50px;
}

.jpit_activities_quiz_question_feedback {
    position: relative;
    display: flex;
}

.jpit_activities_quiz_question_feedback_true,
.jpit_activities_quiz_question_feedback_false {
    text-align: center;
    background-color: #ffffff;
    position: relative;
    margin: auto;
    display: inline;
    color: #002236;
    background-color: #b9eaed;
    border-radius: 10px;
    padding: 20px 40px 20px 60px;
}

.jpit_activities_quiz_question_feedback_true:after {
    content: "";
    background: #57dd7f url(../img/sprite.png) no-repeat -927px -116px;
    position: absolute;
    left: 10px;
    width: 32px;
    height: 32px;
    top: calc(50% - 16px);
    z-index: 2;
    border-radius: 50%;
}

.jpit_activities_quiz_question_feedback_false:after {
    content: "";
    background: #ef6f6f url(../img/sprite.png) no-repeat -927px -78px;
    position: absolute;
    left: 10px;
    width: 32px;
    height: 32px;
    top: calc(50% - 16px);
    z-index: 2;
    border-radius: 50%;
}

.jpit-activities-quiz .verify_box {
    padding-top: 10px;
    text-align: center;
    position: absolute;
    bottom: 5px;
    left: 0;
    right: 0;
    z-index: 1;
}

.chalkboard_content .jpit_activities_quiz_question_defineterm .jpit_activities_quiz_question_answers input[type="text"],
.chalkboard_content .jpit_activities_quiz_question_defineterm .jpit_activities_quiz_question_answers select {
    border-bottom-color: #fff;
    color: #fff;
}

.chalkboard_content .jpit_activities_quiz_question_option_answer label:hover,
.chalkboard_content .jpit_activities_quiz_question_option_answer_selected label {
    background-color: #36ff00;
    color: #003543;
}


/********************************************************************************/
/* SPECIFIC ACTIVITIES: WORDPUZZLE
/********************************************************************************/
.jpit-activities-wordpuzzle table.layout {
    margin: auto;
}

.jpit-activities-wordpuzzle td {
    display: inline-block;
}

.jpit-activities-wordpuzzle .score_content {
    padding: 10px;
    background-color: #ffffff;
    color: #003543;
}

.jpit-activities-wordpuzzle .box_words ul {
    margin: 0 10px;
    padding: 0;
    list-style: none;
    float: left;
}

.jpit-activities-wordpuzzle .box_words li.selected {
    text-decoration: line-through;
}

.jpit-activities-wordpuzzle h5 {
    text-align: center;
    margin: 0;
}

.jpit-activities-wordpuzzle .jpit_activity_wordpuzzle_board {
    border: none;
}

.jpit-activities-wordpuzzle .box_words li, .jpit-activities-wordpuzzle .box_words li label {
    cursor: pointer;
}

.jpit-activities-wordpuzzle .box_words li:hover {
    background-color: rgba(200, 200, 200, 0.2);
}

.jpit-activities-wordpuzzle .layout button {
    margin: 1px;
    border: 1px solid #000;
    color: #000;
    border-radius: 2px;
    width: 25px;
    height: 25px;
    font-size: 15px;
    background-color: #ffffff;
}

.jpit-activities-wordpuzzle .layout button.jpit_activity_wordpuzzle_correct {
    background-color: #7c8f8c;
    color: #fff;
    border: 1px solid #7c8f8c;
}

.jpit-activities-wordpuzzle .layout button.jpit_activity_wordpuzzle_cell_selected {
    background-color: #40bcc6;
    color: #003543;
}

/********************************************************************************/
/* SPECIFIC ACTIVITIES: CROSSWORD
/********************************************************************************/
.jpit-activities-crossword table.layout {
    margin: auto;
}

.jpit-activities-crossword td {
    vertical-align: top;
    padding: 10px 0;
    display: inline-block;
}

.jpit-activities-crossword .word_content {
    border: 1px solid #ddd;
    background-color: #fff;
    width: 100%;
    color: #003543;
}

.jpit-activities-crossword .box_words ul {
    margin: 0 10px;
    padding: 0;
    list-style: none;
    float: left;
}

.jpit-activities-crossword .box_words li.selected {
    text-decoration: line-through;
}

.jpit-activities-crossword h5 {
    text-align: center;
    margin: 0;
    padding: 0;
}

.jpit-activities-crossword .verify_container {
    text-align: center;
    clear: both;
}

.jpit-activities-crossword .jpit_activity_crossword_cell .wrong {
    background-color: #D60C1B;
    color: #fff;
}

.jpit-activities-crossword input.empty_cell {
    background-color: #888;
}

.jpit-activities-crossword .jpit_activity_crossword_label {
    border-radius: 10px;
    background-color: #003543;
    color: #ffffff;
    background-image: none;
}


/********************************************************************************/
/* SPECIFIC ACTIVITIES: DROPPABLE
/********************************************************************************/
.jpit-activities-droppable .droppable {
    border: 1px solid #7c8f8c;
    text-align: left;
    padding: 5px;
}

.jpit-activities-droppable .draggable {
    background-color: #ffffff;
    border: 1px solid #7c8f8c;
    text-align: center;
    cursor: move;
    padding: 5px;
    -ms-touch-action: none;
    touch-action: none;
    user-select: none;
}

.jpit-activities-droppable .draggable.disabled {
    cursor: default;
}

.jpit-activities-droppable .jpit_activities_jpitdroppable_dropped {
    background-color: #003543;
    color: #ffffff;
    border: 1px solid #ffffff;
}

.jpit-activities-droppable .draggable.wrong, .jpit-activities-droppable .droppable.wrong {
    background-color: #ffffff;
    border-color: #D60C1B;
    color: #D60C1B;
}

.jpit-activities-droppable:after {
    content: "";
    display: inline-block;
}

.jpit-activities-droppable .box_end {
    padding: 0 0 10px 0;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #999;
}

.jpit-activities-droppable .box_end:before,
.jpit-activities-droppable .box_end:after {
    display: none;
}

.jpit-activities-droppable {
    padding-bottom: 100px;
}

/********************************************************************************/
/* SPECIFIC ACTIVITIES: MULTIDROPPABLE
/********************************************************************************/
.jpit-activities-multidroppable .droppable {
    border: 1px solid #7c8f8c;
    text-align: left;
    padding: 5px;
    background-color: #FFFFFF;
    z-index: 1;
}

.jpit-activities-multidroppable .draggable {
    background-color: #ffffff;
    border: 1px solid #7c8f8c;
    text-align: center;
    cursor: move;
    padding: 5px;
    position: relative;
    z-index: 2;
}

.jpit-activities-multidroppable .draggable.disabled {
    cursor: default;
}

.jpit-activities-multidroppable .draggable.wrong,
.jpit-activities-multidroppable .droppable.wrong {
    background-color: #ffffff;
    border-color: #D60C1B;
    color: #D60C1B;
}

.jpit-activities-multidroppable .box_end {
    padding: 0 0 10px 0;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #999;
    z-index: 9;
}

.jpit-activities-multidroppable .box_end:before,
.jpit-activities-multidroppable .box_end:after {
    display: none;
}

.jpit-activities-multidroppable {
    padding-bottom: 100px;
}

/********************************************************************************/
/* SPECIFIC ACTIVITIES: CLOZE
/********************************************************************************/
.jpit-activities-cloze p {
    line-height: 30px;
}

.jpit-activities-cloze .verify_container {
    text-align: center;
}

.jpit-activities-cloze input {
    position: relative;
}

.jpit-activities-cloze span.correct, .jpit-activities-cloze span.wrong {
    position: relative;
}

.jpit-activities-cloze span.correct:after, .jpit-activities-cloze input.correct:after {
    background: url(../img/sprite.png) no-repeat -180px 0;
    position: absolute;
    right: -20px;
    width: 40px;
    height: 30px;
    content: "";
    top: -5px;
    z-index: 2;
}

.jpit-activities-cloze span.wrong:after,
.jpit-activities-cloze input.wrong:after {
    content: "";
    background: url(../img/sprite.png) no-repeat -240px 0;
    position: absolute;
    right: -20px;
    width: 30px;
    height: 30px;
    top: -5px;
    z-index: 2;
}

.jpit-activities-cloze input[type="text"] {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #000;
    width: 100px;
    text-align: center;
}

.chalkboard_content .jpit-activities-cloze input[type="text"] {
    border-bottom: 1px solid #fff;
    color: #fff;
}

.jpit-activities-cloze input.wrong {
    color: #D60C1B;
}

/********************************************************************************/
/* SPECIFIC ACTIVITIES: SORTABLE
/********************************************************************************/
.jpit-activities-sortable ul.sortable {
    margin: 0;
    padding: 1px 0;
    list-style: none;
}

.jpit-activities-sortable .sortable-item {
    padding: 4px;
    cursor: move;
    position: relative;
}

.jpit-activities-sortable .wrong {
    color: #D60C1B;
}

.jpit-activities-sortable .verify_container {
    padding-top: 20px;
    text-align: center;
}

.jpit-activities-sortable ul.sortable .sortable-item:hover:before {
    content: "\f105";
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    font-family: "Ionicons";
    opacity: 0.7;
}

.jpit-activities-sortable ul.sortable-horizontal .sortable-item {
    float: left;
    margin: 2px;
}

.jpit-activities-sortable ul.sortable-horizontal .sortable-item:hover:before {
    content: "\f10b";
    bottom: -5px;
    left: 50%;
}

.jpit-activities-sortable ul.sortable-horizontal {
    clear: both;
    float: left;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding: 1px;
}

.jpit-activities-sortable .state-highlight {
    border: 2px dashed #e4e4e4;
    border-radius: 10px;
}

.jpit-activities-sortable .box_end {
    padding: 0 0 10px 0;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #999;
    z-index: 9;
}

.jpit-activities-sortable .box_end:before,
.jpit-activities-sortable .box_end:after {
    display: none;
}

.jpit-activities-sortable {
    padding-bottom: 100px;
}

/********************************************************************************/
/* SPECIFIC ACTIVITIES: MARK
/********************************************************************************/
.jpit-activities-mark {
    position: relative;
}

.jpit-activities-mark .verify_container {
    text-align: center;
    padding-top: 10px;
}

/********************************************************************************/
/* SPECIFIC ACTIVITIES: SELECTION
/********************************************************************************/
.jpit-activities-selection .radio {
    width: 15px;
    border: 1px solid #000;
    border-radius: 100%;
    height: 15px;
    background-color: #ffffff;
    display: inline-block;
    cursor: pointer;
}

.jpit-activities-selection .selected .radio {
    background-color: #44c5d0;
}

.jpit-activities-selection .check {
    width: 15px;
    border: 1px solid #000;
    height: 15px;
    background-color: #ffffff;
    display: inline-block;
    cursor: pointer;
}

.jpit-activities-selection .selected .check {
    background-color: #44c5d0;
}

/********************************************************************************/
/* SPECIFIC ACTIVITIES: FORM
/********************************************************************************/
.jpit-activities-form {
    position: relative;
}

.jpit-activities-form .button_container {
    text-align: center;
    padding: 10px 0 0;
}

.jpit-activities-form .button_container .button {
    margin: 0 5px;
}

/********************************************************************************/
/* PRINT PAGE VIEW
/********************************************************************************/
.print_mode {
    background-color: #fafafa;
    background-image: none;
}

.print_mode .not_print {
    display: none;
}

#printent_content {
    clear: both;
    margin: 30px auto;
    overflow: visible;
    width: 840px;
    border: 1px solid #ddd;
    box-shadow: 5px 5px 0px #ccc;
    padding: 50px 50px 20px;
    color: #222;
    background-color: #fff;
}

#printent_content .button_container {
    text-align: center;
}

#printent_content .button_container .button {
    margin: 5px;
}

#printent_content dt {
    font-weight: bold;
}

#printent_content dd {
    margin-bottom: 20px;
}

/********************************************************************************/
/* CREDITS
/********************************************************************************/
#credits_subpage h3 {
    margin-bottom: 5px;
    margin-top: 20px;
}

#credits_subpage div {
    text-align: center;
}

#credits_subpage .editions {
    font-size: 11px;
}

/********************************************************************************/
/* GLOBALS
/********************************************************************************/
.globals i.maximize { display: none; }
.globals .minimized i.minimize { display: none; }
.globals .minimized i.maximize { display: inline; }

/********************************************************************************/
/* RESULTS
/********************************************************************************/
#results_page .result_sco {
    margin: 0 5px 5px 0;
}

#results_page .result_sco.visited {
    background-color: #7bb004;
}

#results_page ul.data_list {
    padding: 0 10px;
}

/* ----------------- */
/*     Progresss     */
/* ----------------- */

.measuring-progress {
    position: relative;
}

/* Default, system control*/
.measuring-progress.default {
    float: left;
    padding: 10px 0 0 10px;
    display: flex;
    align-items: center;
    width: 100px;
}

.measuring-progress.default progress {
    height: 30px;
    width: 100%;
}

.measuring-progress.default label {
    position: absolute;
    left: 120px;
    top: 20px;
}

/* Circle */
.measuring-progress.circle {
    margin: -20px 10px 0 5px;
}

.measuring-progress.circle.c100 {
    background-color: rgba(68, 197, 208, 0.3) !important;
    border: 1px solid #44c5d0;
}

.c100 .bar, .c100.p100 .fill, .c100.p51 .fill, .c100.p52 .fill, .c100.p53 .fill, .c100.p54 .fill, .c100.p55 .fill, .c100.p56 .fill, .c100.p57 .fill, .c100.p58 .fill, .c100.p59 .fill, .c100.p60 .fill, .c100.p61 .fill, .c100.p62 .fill, .c100.p63 .fill, .c100.p64 .fill, .c100.p65 .fill, .c100.p66 .fill, .c100.p67 .fill, .c100.p68 .fill, .c100.p69 .fill, .c100.p70 .fill, .c100.p71 .fill, .c100.p72 .fill, .c100.p73 .fill, .c100.p74 .fill, .c100.p75 .fill, .c100.p76 .fill, .c100.p77 .fill, .c100.p78 .fill, .c100.p79 .fill, .c100.p80 .fill, .c100.p81 .fill, .c100.p82 .fill, .c100.p83 .fill, .c100.p84 .fill, .c100.p85 .fill, .c100.p86 .fill, .c100.p87 .fill, .c100.p88 .fill, .c100.p89 .fill, .c100.p90 .fill, .c100.p91 .fill, .c100.p92 .fill, .c100.p93 .fill, .c100.p94 .fill, .c100.p95 .fill, .c100.p96 .fill, .c100.p97 .fill, .c100.p98 .fill, .c100.p99 .fill, .pie {
    border: 11px solid #44c5d0;
}

/* Horizontal bar*/
.measuring-progress.horizontal {
    font-size: 11px;
    font-weight: bold;
    margin-left: 10px;
}

.measuring-progress.horizontal .results_value {
    position: absolute;
    left: 0px;
    width: 28px;
    height: 22px;
    border-radius: 15px;
    background-color: #fff;
    text-align: center;
    padding-top: 6px;
    line-height: 10px;
    z-index: 2;
}

.measuring-progress.horizontal .results_level {
    position: absolute;
    left: 18px;
    top: 10px;
    width: 100px;
    height: 11px;
    background-color: #FFF;
    border-radius: 10px;
    overflow: hidden;
    padding-left: 10px;
}

.measuring-progress.horizontal .results_level div {
    background-color: #7c8f8c;
    width: 0%;
    height: 11px;
}

.measuring-progress.horizontal .progress_text {
    position: absolute;
    top: 25px;
    left: 50px;
}

/* Vertical bar*/
.measuring-progress.vertical {
    font-size: 11px;
    font-weight: bold;
    margin-left: 5px;
}

.measuring-progress.vertical .results_value {
    position: absolute;
    left: 5px;
    top: 0;
    width: 28px;
    height: 22px;
    border-radius: 15px;
    background-color: #fff;
    text-align: center;
    padding-top: 6px;
    line-height: 10px;
    z-index: 2;
    border: 1px solid #7c8f8c;
}

.measuring-progress.vertical .results_level {
    position: absolute;
    left: 14px;
    bottom: -5px;
    width: 11px;
    height: 100px;
    background-color: #7c8f8c;
    border: 1px solid #7c8f8c;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
}

.measuring-progress.vertical .results_level div {
    background-color: #ffffff;
    width: 11px;
    height: 100%;
}

.measuring-progress.vertical .progress_text {
    position: absolute;
    top: 30px;
}

/********************************************************************************/
/* SPECIFIC TO MOBILE
/********************************************************************************/
#full_content #dialog_content {
    padding: 10px;
    position: fixed;
    top: 31px;
    right: 0;
    left: 0;
    bottom: 0;
    overflow: auto;
    background-color: #fff;
}

#full_content {
    color: #000;
}

#full_content h5 {
    margin: 0;
    font-size: 16px;
}

#full_content .back_label {
    background-color: #dbdbdb;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
}

#full_content .backward_button {
    background: url(../img/sprite.png) no-repeat scroll -110px 0;
    height: 22px;
    margin: 3px 3px 0 3px;
    width: 22px;
    border: none;
}


/********************************************************************************/
/* MEDIA PRINT
/********************************************************************************/
@media print {
    body {
        background-image: none;
    }

    #printent_content {
        overflow: visible;
        border-style: hidden;
        box-shadow: none;
        color: #222;
    }

    #printent_content .button, .not_print {
        display: none;
    }
}

/********************************************************************************/
/* SIZE ADJUSTMENT
/********************************************************************************/
html.single .page-title,
html.single nav.main {
    display: none;
}

@media (max-width:800px) {
    .col-2 {
        width: 95%;
        display: inline-block;
    }
}
