/***********************************************************************************

    ███████╗████████╗██████╗ ██╗   ██╗ ██████╗████████╗██╗   ██╗██████╗ ███████╗
    ██╔════╝╚══██╔══╝██╔══██╗██║   ██║██╔════╝╚══██╔══╝██║   ██║██╔══██╗██╔════╝
    ███████╗   ██║   ██████╔╝██║   ██║██║        ██║   ██║   ██║██████╔╝█████╗
    ╚════██║   ██║   ██╔══██╗██║   ██║██║        ██║   ██║   ██║██╔══██╗██╔══╝
    ███████║   ██║   ██║  ██║╚██████╔╝╚██████╗   ██║   ╚██████╔╝██║  ██║███████╗
    ╚══════╝   ╚═╝   ╚═╝  ╚═╝ ╚═════╝  ╚═════╝   ╚═╝    ╚═════╝ ╚═╝  ╚═╝╚══════╝
                                                                                                                    
 ***********************************************************************************/


        .wrapper footer {
            padding: var(--vertical-rhythm) 0 0 0 !important;
        }

        .single-publication article.entry {
            overflow-x: hidden;
        }



/********************************************************************************

    ██╗  ██╗ ██████╗ ███╗   ███╗███████╗    ██████╗  █████╗  ██████╗ ███████╗
    ██║  ██║██╔═══██╗████╗ ████║██╔════╝    ██╔══██╗██╔══██╗██╔════╝ ██╔════╝
    ███████║██║   ██║██╔████╔██║█████╗      ██████╔╝███████║██║  ███╗█████╗
    ██╔══██║██║   ██║██║╚██╔╝██║██╔══╝      ██╔═══╝ ██╔══██║██║   ██║██╔══╝
    ██║  ██║╚██████╔╝██║ ╚═╝ ██║███████╗    ██║     ██║  ██║╚██████╔╝███████╗
    ╚═╝  ╚═╝ ╚═════╝ ╚═╝     ╚═╝╚══════╝    ╚═╝     ╚═╝  ╚═╝ ╚═════╝ ╚══════╝
    
 ********************************************************************************/



/**********************************************************************

     ██████╗ ██████╗ ███╗   ██╗████████╗███████╗███╗   ██╗████████╗
    ██╔════╝██╔═══██╗████╗  ██║╚══██╔══╝██╔════╝████╗  ██║╚══██╔══╝
    ██║     ██║   ██║██╔██╗ ██║   ██║   █████╗  ██╔██╗ ██║   ██║
    ██║     ██║   ██║██║╚██╗██║   ██║   ██╔══╝  ██║╚██╗██║   ██║
    ╚██████╗╚██████╔╝██║ ╚████║   ██║   ███████╗██║ ╚████║   ██║
     ╚═════╝ ╚═════╝ ╚═╝  ╚═══╝   ╚═╝   ╚══════╝╚═╝  ╚═══╝   ╚═╝
                                                                                           
 **********************************************************************/

.tooltip {
  position: relative;
}

.tooltip:before {
  content: attr(data-text); 
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  left:0;
  margin-left: 15px;
  width: 100%;
  line-height: 100%;
  padding: 10px;
  border-radius: 10px;
  background: var(--color-red);
  color: var(--color-black);
  text-align: center;
  display: none; 
  font-size: 1.4rem;
}

.tooltip:hover:before {
  display: block;
}

    pre {
        background: rgb(245, 245, 245);
        padding: 0.5rem 1rem;
        border: 1px dotted rgb(165, 165, 165);
    }

    code {
        background: rgb(245, 245, 245);
        padding: 0 0.5rem;
        border: 1px solid rgb(165, 165, 165);
        border-radius: 3px;
    }

    .thumbnail-wrapper {
        border-bottom: none;
        display: inline;
    }

    .responsiville-lazymg {
        opacity: 0;
        transition: 0.2s opacity ease-in;
    }

    .responsiville-lazymg.responsiville-lazymg-loaded {
        opacity: 1;
    }

    button {
        box-shadow: none !important;
    }


/**********************************************************************

    ██████╗  ██████╗ ███████╗████████╗    ██████╗  ██████╗ ██╗  ██╗
    ██╔══██╗██╔═══██╗██╔════╝╚══██╔══╝    ██╔══██╗██╔═══██╗╚██╗██╔╝
    ██████╔╝██║   ██║███████╗   ██║       ██████╔╝██║   ██║ ╚███╔╝
    ██╔═══╝ ██║   ██║╚════██║   ██║       ██╔══██╗██║   ██║ ██╔██╗
    ██║     ╚██████╔╝███████║   ██║       ██████╔╝╚██████╔╝██╔╝ ██╗
    ╚═╝      ╚═════╝ ╚══════╝   ╚═╝       ╚═════╝  ╚═════╝ ╚═╝  ╚═╝

 **********************************************************************/



    .post-box-wrapper + .post-box-wrapper {
        margin-top: var(--text-rhythm);
    }



/**********************************************************************

PUBLICATION BOX

 **********************************************************************/


    .publication-box {
        padding: var(--grid-gutter);
    }

    .publication-odd .publication-box {
        background: var(--color-gray-light-xx);
    }

    .publication-even .publication-box {
        background: var(--color-white);
    }

        .publication-box-image {
            text-align: center;
        }

            .publication-box-image img {
                max-height: 35rem;
            }

        .publication-box-title {
            font-size: 5rem;
            color: var(--color-gray-dark-x);
            padding-bottom: 2rem;
            line-height: 120%;
        }

        .publication-box-description {
            font-size: 2.5rem;
            line-height: 120%;
            color: var(--color-gray-dark);
            padding-bottom: 2rem;
            font-family: var(--font-sans-serif);
        }

            .publication-box-description .button {
                display: inline-block;
                font-size: 1.5rem;
                margin:  0.5rem 0.5rem 0.5rem 0;
            }

        .publication-box-excerpt {
            font-size: 1.8rem;
            color: var(--color-gray-dark);
            padding-bottom: 3rem;
            font-family: var(--font-sans-serif);
        }

    .publication-intro {
        background: var(--color-green);
        padding: calc( 1.5 * var(--vertical-rhythm) ) var(--grid-gutter );
        margin-top: calc( 0.5 * var(--grid-gutter ) );
        margin-bottom: var(--grid-gutter );
    }

        .publication-intro-inside {
            max-width: 80rem;
            margin: 0 auto;
        }

        .large .publication-intro-inside {
            max-width: 68rem;
        }

        .publication-intro .publication-box-description,
        .publication-intro .publication-box-excerpt {
            color: var(--color-white);
        }

        .publication-intro .publication-box-excerpt {
            padding: 0;
        }

    .publication-level {
        padding: var(--grid-gutter );
        text-align: center;
        position: relative;
    }

    .xlarge .publication-level {
        min-height: 75rem;
    }

    .publication-level.publication-level-even {
        background: var(--color-gray-light-xx);
    }

    .publication-level.publication-level-odd {
        background: var(--color-white);
    }

        .book-level-counter {
            font-family: var(--font-monospace);
            font-weight: bold;
            position: absolute;
            bottom: -2.2rem;
            right: -4.8rem;
            font-size: 50rem;
            z-index: 0;
            line-height: 100%;
            display: none;
        }

        .laptop .book-level-counter {
            font-size: 60rem;
            display: block;
        }

        .large .book-level-counter {
            font-size: 93rem;
        }

        .publication-level.publication-level-even .book-level-counter {
            color: var(--color-white);
        }

        .publication-level.publication-level-odd .book-level-counter {
            color: var(--color-gray-light-xx);
        }

        .publication-level-title {
            font-size: 5rem;
            color: var(--color-blue);
            position: relative;
            text-align: left;
            margin-bottom: calc( 0.8 * var(--grid-gutter) );
            padding-left: 5rem;
        }

        .laptop .publication-level-title {
            padding-left: 0;
        }

            .publication-level-title svg {
                position: absolute;
                left: -11rem;
                top: 45%;
                transform: translateY(-50%);
                width: 15rem;
            }

            .laptop .publication-level-title svg {
                left: -16rem;
            }

            .publication-level .button {
                min-width: 26rem;
                height: 6rem;
                line-height: 6rem;
                position: relative;
                z-index: 2;
            }

        .publication-level-books-panel {
            margin: 0 calc( -0.3 * var(--grid-gutter-small) );
        }

            .publication-book {
                padding: 0 calc(0.3 * var(--grid-gutter-small) ) calc( 0.8 * var(--grid-gutter) ) calc(0.3 * var(--grid-gutter-small) ) !important;
                position: relative;
                z-index: 1;
            }

                figure.publication-book-image {
                    position: relative;
                    height: 40.8rem;
                }

                    figure.publication-book-image img {
                        object-position: 50% 100%;
                        object-fit: cover;
                        width: 100%;
                    }

                    h3.publication-book-title {
                        margin-top: var(--vertical-rhythm);
                        line-height: 100%;
                    }

                    p.publication-book-description {
                        font-family: var(--font-sans-serif);
                        font-size: 1.8rem;
                        color: var(--color-gray-dark); 
                        margin-top: 1rem;
                    }



/**********************************************************************

MATERIALS

 **********************************************************************/

.teachers-material {
    padding: 0 var(--grid-gutter-big) calc( 2 * var(--vertical-rhythm) ) var(--grid-gutter-big);
}

    .material-publication {
        padding: 1rem;
        border: 0.9rem solid var(--color-white);
    }

    /* Some css values are inline because they come from acf inputs */

        .material-publication-box {
            height: 100%;
            text-align: center;
        }

        .material-publication:hover .material-publication-box {
        }

            .material-publication-box-category {
                color: var(--color-white);
                margin-top: 2rem;
                display: inline-block;
            }

                .material-publication-box-category span {
                    color: var(--color-white);
                    padding: 0.2rem 0.5rem;
                    font-size: 1.6rem;
                    font-family: var(--font-sans-serif-bold);
                }

                .material-publication:hover .material-publication-box-category span {
                    color: var(--color-black);
                }

                .material-publication-box-category a {
                    color: var(--color-white);
                }

                .material-publication:hover .material-publication-box-category a {
                    color: var(--color-black);
                }

            .material-publication-box-title {
                color: var(--color-black);
                font-size: 2.2rem;
                padding-top: 1rem;
            }

            .material-publication:hover .material-publication-box-title {
                color: var(--color-white);
                font-size: 2.2rem;
                padding-top: 1rem;
            }

            .material-publication-box-excerpt {
                font-size: 1.7rem;
                font-family: var(--font-sans-serif-normal);
                padding-top: 1rem;
            }

            .material-publication:hover a.material-publication-box-excerpt {
                color: var(--color-white);
            }

            .material-publication a.material-publication-box-image {
                color: var(--color-white);
                padding: 2rem 0.8rem 3.5rem 0.8rem;
                display: block;
            }

.material-content {
    padding: 0 0 calc( 2 * var(--vertical-rhythm) ) 0;
}

    .material-level {
        padding: var(--grid-gutter);
    }

    .material-level.material-level-even {
        background: var(--color-gray-light-xx);
    }

    .material-level.material-level-odd {
        background: var(--color-white);

    }

        .material-level-title {
            font-size: 5rem;
            color: var(--color-blue);
            position: relative;
            text-align: left;
            margin-bottom: calc( 0.5 * var(--grid-gutter) );
            padding-left: 5rem;
        }

        .laptop .material-level-title {
            padding-left: 0;
        }

            .material-level-title svg {
                position: absolute;
                left: -11rem;
                top: 45%;
                transform: translateY(-50%);
                width: 15rem;
            }

            .laptop .material-level-title svg {
                left: -16rem;
            }

        .material-subcategory {
            padding: 0 2rem 0 0;
        }

            .material-subcategory h3.material-subcategory-title {
                font-size: 2.4rem;
                color: var(--color-red);
                padding-bottom: 2.3rem;
            }

            .material-item {

            }

                .material-item a {
                    font-size: 1.8rem;
                    color: var(--gray-dark-x);
                    line-height: 2.8rem;
                    min-height: 2.8rem;
                    margin: 0.6rem 0;
                    padding-left:  3rem;
                    position: relative;
                }

                    .material-item a span {
                        font-size: 1.8rem;
                        color: var(--gray-dark-x);
                        line-height: 2.8rem;
                        vertical-align: top;
                        display: inline-block;
                        padding-right: 1rem;
                        display: inline;
                    }

                .material-item svg {
                    display: inline;
                }

                .material-item svg polyline,
                .material-item svg path {
                    fill: var(--color-gray);
                }

                svg.red-arrow {
                    position: absolute;
                    top: 0.3rem;
                    left: 0;
                    width: 2rem;
                    height: 2rem;
                }

                    svg.red-arrow path {
                        fill: var(--color-red);
                    }


/************************************************************************************

    ██████╗  █████╗  ██████╗ ██╗███╗   ██╗ █████╗ ████████╗██╗ ██████╗ ███╗   ██╗
    ██╔══██╗██╔══██╗██╔════╝ ██║████╗  ██║██╔══██╗╚══██╔══╝██║██╔═══██╗████╗  ██║
    ██████╔╝███████║██║  ███╗██║██╔██╗ ██║███████║   ██║   ██║██║   ██║██╔██╗ ██║
    ██╔═══╝ ██╔══██║██║   ██║██║██║╚██╗██║██╔══██║   ██║   ██║██║   ██║██║╚██╗██║
    ██║     ██║  ██║╚██████╔╝██║██║ ╚████║██║  ██║   ██║   ██║╚██████╔╝██║ ╚████║
    ╚═╝     ╚═╝  ╚═╝ ╚═════╝ ╚═╝╚═╝  ╚═══╝╚═╝  ╚═╝   ╚═╝   ╚═╝ ╚═════╝ ╚═╝  ╚═══╝
                                                                                                                      
 ************************************************************************************/



    .pages {
        width: auto;
        text-align: center;
        margin-bottom: 3rem;
    }

        .pages a, 
        .pages a:hover, 
        .pages span {
            display: inline-block;
            padding: 0.2rem 1rem;
            margin: 3rem 0;
            border: none;
            font-family: var(--font-sans-serif-normal);
        }

        .pages .current {
            font-family: var(--font-sans-serif-bold);
            background: var(--color-red);
            color: var(--color-white);
        }



/*************************************************

    ██████╗  ██████╗ ██████╗ ██╗   ██╗██████╗
    ██╔══██╗██╔═══██╗██╔══██╗██║   ██║██╔══██╗
    ██████╔╝██║   ██║██████╔╝██║   ██║██████╔╝
    ██╔═══╝ ██║   ██║██╔═══╝ ██║   ██║██╔═══╝
    ██║     ╚██████╔╝██║     ╚██████╔╝██║
    ╚═╝      ╚═════╝ ╚═╝      ╚═════╝ ╚═╝

 *************************************************/



    .popup {
        box-sizing: content-box;
    }

        .popup-next,
        .popup-previous {
            top: 45%;
        }

/*************************************************

CONTACT

 *************************************************/


    .contact-section .panel {
        padding: 0 var(--grid-gutter-big) calc( 2 * var(--vertical-rhythm) ) var(--grid-gutter-big);
    }

    .contact-section .contact-map {
        margin-bottom: calc( 2 * var(--vertical-rhythm) );
        padding: 0 var(--grid-gutter-big) calc( 2 * var(--vertical-rhythm) ) var(--grid-gutter-big);
        height: 40rem !important;
    }

        .contact-section .social {
            margin-top: 3rem;
        }

        .small-map {
            height: 30rem !important;
            width: 100%;
            margin-bottom: 5rem;          
        }

        .tablet .right-contact-column {
            padding-left: var(--grid-gutter) !important;
        }



/**********************************************************************

SEARCH BOX

 **********************************************************************/

    .search-box .post-box-content {
        margin-bottom: var(--grid-gutter);
    }

        .search-box .post-box-content {
            padding-left: 0 !important;
        }

            .post-type-tag {
                font-family: var(--font-sans-serif-bold);
            }

            .post-type-publication .post-type-tag {
                color: var(--color-red);
            }

            .post-type-book .post-type-tag {
                color: var(--color-yellow);
            }

            .post-type-webinar .post-type-tag {
                color: var(--color-black);
            }

            .post-type-teacher_material .post-type-tag {
                color: var(--color-blue);
            }

            .post-type-page .post-type-tag {
                color: var(--color-black);
            }

            .post-type-post .post-type-tag {
                color: var(--color-black);
            }

.search-box .post-box-title {
    position: relative;
}

.zigzag {
    width: 7rem;
    position: absolute;
    top: -0.5rem;
    left: -8.6rem;
}

.post-type-publication svg.zigzag polyline {
    stroke: var(--color-red);
}

.post-type-book svg.zigzag polyline {
    stroke: var(--color-yellow);
}

.post-type-webinar svg.zigzag polyline {
    stroke: var(--color-black);
}

.post-type-teacher_material svg.zigzag polyline,
.post-type-student_material svg.zigzag polyline {
    stroke: var(--color-blue);
}

.post-type-page svg.zigzag polyline {
    stroke: var(--color-black);
}

.post-type-post svg.zigzag polyline {
    stroke: var(--color-black);
}




/*******************************************************************************************************

    ██████╗ ██╗   ██╗███╗   ██╗██████╗ ██╗     ███████╗███████╗    ██████╗  █████╗  ██████╗ ███████╗
    ██╔══██╗██║   ██║████╗  ██║██╔══██╗██║     ██╔════╝██╔════╝    ██╔══██╗██╔══██╗██╔════╝ ██╔════╝
    ██████╔╝██║   ██║██╔██╗ ██║██║  ██║██║     █████╗  ███████╗    ██████╔╝███████║██║  ███╗█████╗  
    ██╔══██╗██║   ██║██║╚██╗██║██║  ██║██║     ██╔══╝  ╚════██║    ██╔═══╝ ██╔══██║██║   ██║██╔══╝  
    ██████╔╝╚██████╔╝██║ ╚████║██████╔╝███████╗███████╗███████║    ██║     ██║  ██║╚██████╔╝███████╗
    ╚═════╝  ╚═════╝ ╚═╝  ╚═══╝╚═════╝ ╚══════╝╚══════╝╚══════╝    ╚═╝     ╚═╝  ╚═╝ ╚═════╝ ╚══════╝
                                                                                                                      
 ******************************************************************************************************/




.bundles-page {
}

    .bundles-page .products-archive .products-loop .products.bundle-selections {
        padding-left: 0;
        padding-right: 0;
        margin-top: 3em;
    }

        .bundles-page .products-archive .products-loop .products.bundle-selections li.product .title-column {
            padding-left: 1em;
            padding-right: 1em;
        }


    .bundles-page .empty-state-box {
        background: #f4f4f4;
        padding: 2em;
        width: fit-content;
    }

        .bundles-page .empty-state-box .error-message {
            font-style: italic;
            color: var(--color-red);
        }