/* Body */

body, code, dd, div, dl, dt, fieldset, form, input, legend, li, ol, pre, td, textarea, th, ul {
    margin: 0;
    padding: 0
}

html {
    position: relative;
    min-height: 100%;
}

body {
    font-size: 8px;
    font-family: 'Poppins', sans-serif;
    color: #666666;
    line-height: 1.42857143;
}

@media (min-width: 480px) {
    body {
        font-size: 12px;
    }
}

@media (min-width: 768px) {
    body {
        font-size: 14px;
    }
}

@media (min-width: 1024px) {
    body {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

/* End of Body */

/* ------------- */
/* ------------- */
/* ------------- */

/* Navbar */

html .main-navbar {
    -ms-flex: 0 0 auto;
    -moz-flex: 0 0 auto;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
}

.main-navbar {
    position: relative;
    height: 46px;
    border-bottom: 1px solid #f6fbff;
    background-color: #e4f2ff;
    color: white;
}
    
.main-navbar {
    background-color: #f6fbff;
    font-size: 14px;
    color: inherit;
    border-bottom: 0;
}

.main-navbar > a, .main-navbar > button {
    border-bottom: none;
    padding: 0 12px 0 12px;
}

.main-navbar > a:hover, .main-navbar > button:hover {
    background-color: #258cfb;
    color: #1d1d1d;
}

.main-navbar > .menu-brand {
    margin-left: 10px;
}

.main-navbar > a, .main-navbar > button {
    float: left;
    height: 46px;
    border: none;
    padding: 0 12px 0 16px;
    line-height: 46px;
    background-color: transparent;
    text-align: center;
    color: inherit;
    font-size: 18px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.main-navbar > a:hover, .main-navbar > button:hover {
    background-color: #258cfb;
    color: inherit;
}

.main-navbar > a:focus, .main-navbar > button:focus, .main-navbar > a:active, .main-navbar > button:active, .main-navbar > a:focus:active, .main-navbar > button:focus:active {
    outline: none;
}

.main-navbar > .menu-brand {
    display: block;
    float: left;
    margin-right: 35px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    color: #1d1d1d;
    font-size: 22px;
    font-weight: 500;
    line-height: 46px;
}

.main-navbar > ul {
    display: block;
    float: left;
    margin: 0;
    padding: 0;
    list-style: none;
}

.main-navbar > ul > li {
    position: relative;
    display: block;
    float: left;
}

.main-navbar > ul > li > a {
    display: block;
    height: 46px;
    padding: 0 10px;
    color: black;
    line-height: 46px;
}

.main-navbar > ul > li > form > button {
    display: block;
    height: 46px;
    padding: 0 10px;
    color: black;
    line-height: 46px;
}

.main-navbar > ul > li > a:hover {
    background-color: #258cfb;
    border-bottom: 1px solid #0f82fe;
}

.menu-sections > li > a {
    color: #258cfb;
    text-decoration: none;
}

.menu-sections > li > a:hover, .menu-sections > li > a:focus {
    text-decoration: none;
}

.menu-sections > li > a:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

.main-navbar > ul > li > a:focus, .main-navbar > ul > li > a:active, .main-navbar > ul > li > a:focus:active {
    outline: none;
}

.dropdown-menu {
    font-size: 10px !important;
    box-shadow: 0 6px 12px -4px rgba(0, 0, 0, 0.25);
}

@media (min-width: 768px) {
    .dropdown-menu {
        font-size: 13px !important;
    }
}

.main-navbar .dropdown-toggle.show {
    background-color: #4195ef;
    color: white;
}

.main-navbar .dropdown-menu.show {
    max-height: 90vh;
    min-width: 100%;
    overflow: auto;
    margin-top: 0;
}

a.dropdown-toggle.hover-rounded:hover {
    background-color: #1f7ee5;
    border-radius: 18px 0 0 0;
}

.main-navbar .dropdown-toggle.show.hover-rounded {
    background-color: #1f7ee5;
    border-radius: 18px 0 0 0;
}

ul.dropdown-menu > li > a:hover {
    background-color: #abc8e9;
}

.float-right {
    float: right !important;
}

.float-right > .dropdown-menu {
    right: 0;
    left: auto;
}

@media (max-width: 991px) {
    .main-navbar {
        font-size: 12px;
    }

    .main-navbar .menu-brand {
        margin-right: 7px;
    }
}

@media (max-width: 767px) {
    .main-navbar {
        -webkit-transition: height 200ms linear 0s;
        -moz-transition: height 200ms linear 0s;
        -o-transition: height 200ms linear 0s;
        transition: height 200ms linear 0s;
        position: relative;
        height: 46px;
        overflow: hidden;
    }

    .main-navbar > ul > li {
        float: none;
    }

    .main-navbar > ul > li .dropdown-backdrop {
        display: none;
    }

    .main-navbar > ul > li .dropdown-menu.show {
        max-height: none;
    }

    .main-navbar > ul.menu-sections {
        width: 100%;
    }

    .main-navbar > ul.menu-sections > li .dropdown-menu.show {
        position: static;
        float: none;
        background-color: transparent;
        box-shadow: none;
        border: none;
        overflow: visible;
    }

    .main-navbar > ul.menu-sections > li .dropdown-menu.show > li > a {
        background-color: transparent;
        color: inherit;
    }
}

/* End of Navbar */

/* ------------- */
/* ------------- */
/* ------------- */

/* Mobile Navbar */

.burger_menu.dropdown-menu {
    max-height: 0;
    display: block;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
}

.burger_menu.dropdown-menu.show {
    -webkit-transition: max-height 0.3s, opacity 0.2s, visibility 0s;
    -moz-transition: max-height 0.3s, opacity 0.2s, visibility 0s;
    -ms-transition: max-height 0.3s, opacity 0.2s, visibility 0s;
    -o-transition: max-height 0.3s, opacity 0.2s, visibility 0s;
    transition: max-height 0.3s, opacity 0.2s, visibility 0s;

    max-height: 100vh;
    opacity: 1;
    visibility: visible;
}

.burger_menu {
    display: -ms-flexbox;
    display: -moz-box;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-flow: column nowrap;
    -moz-flex-flow: column nowrap;
    -webkit-flex-flow: column nowrap;
    flex-flow: column nowrap;
    position: fixed;
    top: 0px;
    bottom: 0px;
    width: 100%;
    font-size: 15px;
    font-weight: 300;
    z-index: 10;
    padding: 0 !important;
    border: unset !important;
    border-radius: unset !important;
}

.burger_menu.show .burger_menu_topbar {
    -ms-flex: 0 0 46px;
    -moz-flex: 0 0 46px;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 46px;
    flex: 0 0 46px;
    padding: 10px 16px;
    background: #227fe4;
    color: white;
}

.burger_menu.show .burger_menu_topbar .burger_menu_avatar {
    height: 26px;
}

.burger_menu.show .burger_menu_topbar .burger_menu_username, .burger_menu.show .burger_menu_topbar .burger_menu_caret {
    vertical-align: middle;
}

.burger_menu.show .burger_menu_topbar .burger_menu_close {
    padding: 5px 0;
}

.burger_menu.show .burger_menu_content {
    -ms-flex: 1 1 auto;
    -moz-flex: 1 1 auto;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    flex: 1 1 auto;
    overflow: auto;
    background: white;
}

.burger_menu.show .burger_menu_content .burger_menu_app > ul > li > .dropdown-toggle::after  {
    content: none !important;
}

.burger_menu.show .burger_menu_content .burger_menu_app > ul > li > .dropdown-toggle[aria-expanded=true] .bi-chevron-right  {
   display: none;
}

.burger_menu.show .burger_menu_content .burger_menu_app > ul > li > .dropdown-toggle[aria-expanded=false] .bi-chevron-down  {
   display: none;
}

.burger_menu.show .burger_menu_content .burger_menu_app > ul > li .burger_menu_child  {
    text-decoration: none;
    margin-left: 1rem;
    padding: .45rem 15px;
}



.burger_menu.show .burger_menu_content .burger_menu_app.collapse {
    background-color: #439dff;
}

.burger_menu.show .burger_menu_content .burger_menu_app ul {
    padding: 0px;
}

.burger_menu.show .burger_menu_content .burger_menu_app ul > li {
    list-style: none;
}

.burger_menu.show .burger_menu_content .burger_menu_app ul > li a {
    display: block;
    padding: 10px 15px;
    color: white;
}

.burger_menu.show .burger_menu_content .burger_menu_app ul > li a .toggle_icon {
    margin-top: 4px;
}

.burger_menu.show .burger_menu_content .burger_menu_app ul > li.open > ul {
    display: block;
}

.burger_menu.show .burger_menu_content .burger_menu_app ul > li .menu_entry_lvl_1 {
    padding-left: 0px;
}

.burger_menu.show .burger_menu_content .burger_menu_app ul > li .menu_entry_lvl_2 {
    padding-left: 16px;
}

.burger_menu.show .burger_menu_content .burger_menu_app ul > li .menu_entry_lvl_3 {
    padding-left: 32px;
}

.burger_menu.show .burger_menu_content .burger_menu_app ul > li .menu_entry_lvl_4 {
    padding-left: 48px;
}

.burger_menu.show .burger_menu_content .burger_menu_app ul > li .menu_entry_lvl_5 {
    padding-left: 64px;
}

.burger_menu.show .burger_menu_content .burger_menu_user {
    color: #666666;
}

.burger_menu.show .burger_menu_content .burger_menu_user .burger_menu_companies {
    padding: 16px;
    border-bottom: 1px solid #a8a8a8;
}

.burger_menu.show .burger_menu_content .burger_menu_user .burger_menu_companies .burger_menu_user_title {
    font-size: 12px;
    margin-bottom: 5px;
    font-weight: bold;
}

.burger_menu.show .burger_menu_content .burger_menu_user .burger_menu_companies .burger_menu_company {
    padding: 10px 0;
}

.burger_menu.show .burger_menu_content .burger_menu_user .burger_menu_companies .burger_menu_company.active {
    font-weight: bold;
}

.burger_menu.show .burger_menu_content .burger_menu_user .burger_menu_companies .burger_menu_company .burger_menu_company_icon {
    margin-right: 10px;
}

.burger_menu.show .burger_menu_content .burger_menu_user .user_menu_mobile {
    padding: .25rem 16px;
    list-style: none;
}

.burger_menu.show .burger_menu_content .burger_menu_user .user_menu_mobile > li label {
    display: block;
    padding: 10px 0;
    color: #666666;
    background-color: unset !important;
}

.burger_menu.show .burger_menu_content .burger_menu_user .user_menu_mobile > li > a {
    display: block;
    color: #666666;
    text-decoration: none;
}

/* End of Mobile Navbar */

/* ------------- */
/* ------------- */
/* ------------- */

/* Utils */
.pr-0 {
    padding-right: 0 !important;
}

.visible-xs-block {
    display: none !important;
}

@media (max-width: 767px) {
    .visible-xs-block {
        display: block !important;
    }
}
/* End of Utils */

/* ------------- */
/* ------------- */
/* ------------- */

/* Book */

.book-img {
    margin: 0 auto;
    border-radius: 3px;
    max-width: 120px;
    max-height: 200px;
    display: block;
}

.book .bookcover {
    height: 125px
}

div#imageManageView img, div.imageManageView img {
    max-width: 100%;
}
    
.home-h2 {
    font-size: 1.2em;
    font-weight: 600;
    color: #02598b;
    margin-bottom: .5em;
    margin-top: 1.75em
}

.book .book-cta {
    margin: 5px auto 0;
    font-size: .9em;
    padding: 5px 0
}

.book .book-cta a {
    display: block
}

.book .book-cover {
    height: 200px;
    display: flex;
    align-items: center
}

.book .book-cover a, .book .book-cover img {
    display: block
}

.book .book-cover a {
    margin: auto;
    width: 100%
}

.book img.bookcover {
    margin: 0 auto;
    box-shadow: 1px 2px 5px 0 #5f5d94;
    border-radius: 3px;
    max-width: 100%;
    max-height: 200px
}

.cta-btn, a.cta-btn {
    font-size: 16px;
    color: #fff;
    width: 100%;
    display: block;
    border: 0;
    border-radius: 5px;
    margin-top: 5px;
    box-sizing: border-box;
    cursor: pointer;
    text-align: center;
    padding: 7px;
    white-space: nowrap;
    background-color: #666;
    line-height: 1.5em;
    text-decoration: none;
    transition: background-color .2s
}

.cta-btn .btn-icon, a.cta-btn .btn-icon {
    width: 40px;
    flex-shrink: 0
}

.cta-btn .btn-icon.read-aloud, a.cta-btn .btn-icon.read-aloud {
    background-image: url(/static/images/icons/read%20aloud.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center
}

.cta-btn .btn-label, a.cta-btn .btn-label {
    padding: 0 10px
}

.cta-btn:link, .cta-btn:visited, a.cta-btn:link, a.cta-btn:visited {
    color: #fff;
    text-decoration: none
}

.cta-btn--available, a.cta-btn--available {
    background-color: #0376b8;
    color: #fff
}

.cta-btn--available:hover, a.cta-btn--available:hover {
    background-color: #013654
}

.cta-btn--external, a.cta-btn--external {
    background-image: url(/static/images/icons/octicon-link-external-24.svg);
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: center right 8px
}

.cta-btn--unavailable, a.cta-btn--unavailable {
    background-color: #0376b8;
    color: #fff
}

.cta-btn--unavailable:hover, a.cta-btn--unavailable:hover {
    background-color: #013654
}

.cta-btn--shell, .cta-btn--shell:link, .cta-btn--shell:visited, a.cta-btn--shell, a.cta-btn--shell:link, a.cta-btn--shell:visited {
    background-color: #fff;
    border: 2px solid #0376b8;
    color: #0376b8
}

.cta-btn--shell:disabled, a.cta-btn--shell:disabled {
    border: 2px solid #ccc;
    color: #ccc;
    cursor: default
}

.cta-btn--sponsor, a.cta-btn--sponsor {
    border: 2px solid #02598b;
    background: #edf3f7
}

.cta-btn--vanilla, a.cta-btn--vanilla {
    padding: 5px;
    border: 2px solid #ccc;
    background: #fff;
    color: #000;
    border-radius: 6px
}

.cta-btn--cancel, a.cta-btn--cancel {
    padding: 5px;
    border: 2px solid #de351b;
    background: #fff;
    color: #de351b;
    border-radius: 6px
}

.cta-btn--delete, a.cta-btn--delete {
    background-color: #de351b
}

.cta-btn--delete:hover, a.cta-btn--delete:hover {
    background-color: #831f10
}

.cta-btn--sponsor:link, .cta-btn--sponsor:visited, a.cta-btn--sponsor:link, a.cta-btn--sponsor:visited {
    color: #02598b
}

.cta-btn--sponsor:hover, a.cta-btn--sponsor:hover {
    border: 2px solid #02598b;
    background-color: #02598b;
    color: #fff
}

.cta-btn__badge, a.cta-btn__badge {
    background-color: #632102;
    padding: 4px 7px;
    border-radius: 5px;
    font-size: .7em
}

.cta-btn + .cta-btn, .cta-btn + form input.cta-btn {
    margin-top: 5px
}

.cta-btn--small {
    font-size: 12px;
    padding: 5px 10px
}

.cta-button-group {
    display: flex;
    align-items: center;
    position: relative
}

.cta-button-group .cta-btn--w-icon {
    display: flex
}

.cta-button-group .cta-btn {
    margin: 0;
    padding: 8px 0
}

.cta-button-group .cta-btn:first-child {
    flex: 1;
    padding: 8px;
    overflow: hidden
}

.cta-button-group .cta-btn:not(:first-child) {
    margin-left: 1px;
    width: 40px;
    transition: width .2s;
    overflow: hidden;
    border-radius: 2px 6px 6px 2px
}

.cta-button-group .cta-btn:not(:last-child) {
    border-radius: 6px 2px 2px 6px
}

.cta-button-group .cta-btn:not(:first-child):hover {
    width: 100%
}

.book button {
    position: absolute; 
}

.carousel__item {
    padding: 2px;
    height: 100%;
    margin: 0 10px;
    min-height: 1px;
    overflow: hidden;
    box-sizing: border-box
}

.carousel__item.selected, .carousel__item:focus {
    border: 2px solid #fea238;
    outline: 0;
}

.slick-slider {
     overflow: visible !important; 
}

.slick-prev, .slick-next {
    width: auto !important;
    height: auto !important;
}

.slick-prev:before, .slick-next:before {
    color: deepskyblue !important;
    font-size: 35px !important;
}

.slick-prev:before {
    margin-left: 15px !important;
}

.slick-next {
    margin-right: 11px !important;
}

.carousel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin-bottom: 15px;
    overflow: hidden;
    padding: 10px 20px;
}

.carousel a, .carousel a:link {
    text-decoration: none
}


.carousel--minimal img {
    max-height: 100px;
    width: auto
}

.carousel > div {
    min-width: 130px
}

.carousel button {
    border: 0;
    position: absolute;
    color: transparent
}

.carousel .book:last-child {
    margin-right: 0
}

.carousel .book .book-metadata {
    width: 130px;
    margin: 0 auto
}

.carousel .book .book-title {
    font-size: .8em;
    margin: 5px 0;
    color: #333;
    font-weight: 400;
}

.carousel .book .book-title a {
    color: #02598b;
    text-decoration: none
}


.carousel-container {
    margin: 0 -20px;
    padding: 3px 15px
}

.carousel-container-decorated {
    background: #b9dfff;
    margin-bottom: 3rem;
    border-bottom: 1px solid #e4e0cc;
    border-top: 1px solid #eae7d6
}

.slick-track {
    float: left !important;
}

.book-detail-parent {
    background-color: #cde5ff;
    padding-top: .75rem;
    margin-top: 2rem;
}

.book-detail table {
    width: 100%;
}

.book-detail table th, .book-detail table td {
    vertical-align: top;
    padding-top: .25rem;
    padding-bottom: .25rem;
}

.book-detail table th {
    width: 40%;
}

.book-detail table td {
    width: 60%;
}

.synopsis {
    font-family: 'EB Garamond', serif;
    text-align: justify;
}

@media (min-width: 768px) {
    .book-img-title {
        margin-top: -2.5rem;
    }
}

@media (max-width: 768px) {
    .book-title {
        text-align: center;
    }
}

.container dl dt, .container dl dd {
    padding-bottom: .75rem;
}

.form-sheet {
    background-color: #ffffff;
    border: 1px solid #d9d7d7;
    box-shadow: 0 5px 20px -15px #000000;
    padding: 2rem 1rem;
}

.form-label, .form-value {
    margin-bottom: 5px;
    font-size: 13px;
}

.form-sheet .form-label {
    font-weight: bold;
    margin-right: 0px;
}

.form-sheet .form-value {
}


.form-sheet .form-value div.ms-options-wrap button {
    border-radius: 0.375rem;
}

.form-sheet .form-value input,
.form-sheet .form-value select,
.form-sheet .form-value div.ms-options-wrap {
    font-size: 13px;
}

.form-sheet .row {
    margin-bottom: .375rem;
}

.form-sheet .form-value input[type="text"],
.form-sheet .form-value input[type="number"],
.form-sheet .form-value input[type="tel"],
.form-sheet .form-value input[type="email"],
.form-sheet .form-value input[type="password"],
.form-sheet .form-value input[type="date"],
.form-sheet .form-value input[type="datetime"],
.form-sheet .form-value input[type="file"],
.form-sheet .form-value select,
.form-sheet .form-value div.ms-options-wrap,
.form-sheet .form-value textarea{
    height: 80%;
    width: 96%;
}
.form-sheet .form-value input[type="checkbox"] {
    margin-bottom: .5rem;
}

.form-sheet .form-value select,
.form-sheet .form-value input[type="file"] {
    height: 100%;
    padding: .375rem .75rem;
}

.modal-dialog-m {
    max-width: 768px;
}

.modal-label {
    font-size: 13px;
    font-weight: bold;
    margin-bottom: .5rem;
}

.modal-value textarea {
    font-weight: normal;
    padding: .15rem;
    font-size: 13px;
    border: 1px solid grey;
}

/* End of Book */

/* ------------- */
/* ------------- */
/* ------------- */

.datatable-container {
    overflow-x: auto;
}

/* Breadcrumb */
nav[aria-label="breadcrumb"] {
    font-size: 14px;
    line-height: 2rem;
    background-color: white;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    margin: 8px auto;
    width: 98%;
    border-radius: 6px;
    padding: 16px;
}

nav[aria-label="breadcrumb"] .breadcrumb {
    --lim-breadcrumb-margin-bottom: 4px;
    margin-bottom: var(--lim-breadcrumb-margin-bottom)
}


nav[aria-label="breadcrumb"] li a {
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
}

nav[aria-label="breadcrumb"] .form-button-view {
    margin-right: 4px;
}


nav[aria-label="breadcrumb"] .form-button-view a {
    border-radius: 24px;
    text-transform: uppercase;
    padding: 5px 10px;
}

.d-none-important {
    display: none !important;
}


nav[aria-label="breadcrumb"] .form-button-view *[role="button"] {
    border-radius: 24px;
    text-transform: uppercase;
    padding: 5px 10px;
}

@media (min-width: 1024px) {
    nav[aria-label="breadcrumb"] {
        font-size: 18px;
    }

    nav[aria-label="breadcrumb"] li a {
        font-size: 18px;
    }
}

.button-header {
    max-height: 100px;
    background-color: white;
    line-height: 2rem;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    margin: 8px auto;
    width: 98%;
    border-radius: 6px;
}

.button-header > .button-container {
    padding: .5rem;
    padding-left: .75rem;
}

.button-header > .button-container > button {
    --lim-btn-padding-x: .35rem;
    --lim-btn-padding-y: .175rem;
    --lim-btn-font-size: .8rem;
    --lim-btn-border-radius: .8rem;

    padding-left: var(--lim-btn-padding-x);
    padding-right: var(--lim-btn-padding-x);
    padding-top: var(--lim-btn-padding-y);
    padding-bottom: var(--lim-btn-padding-y);
    border-radius: var(--lim-btn-border-radius);
    font-size: var(--lim-btn-font-size);
    
    text-transform: uppercase;

    margin-right: .25rem;
}