:root {
    --spinner-color: #61A754 !important;
}

/********/
/* GRID */
/********/
.cc-references-wrapper {

    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    grid-gap: 0;
}


/**********/
/* FILTER */
/**********/
.cc-references-wrapper-navBtn {

    width:100%;
    /*
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    grid-gap: 0rem;

     */
    margin-bottom: 1rem;
}

.cc-references-navBtn {

    width: auto;
    /*display:inline-block;*/
    display:inline-flex;
    align-items: center;
    margin-right:0.5rem;
   /* width: 90%;*/
    /*background: #C4C4C4;*/
    background:white;
    border-radius: 50px;
    font-family: Barlow;
    font-style: normal;
    font-weight: bold;
    font-size: 16px;
    /*line-height: 170%;*/
    /* identical to box height, or 24px */
    letter-spacing: 0.01em;
    /*color: #FFFFFF;*/
    color: #6f8fb8;
    border: 1px solid #6f8fb8;
    height: 45px;
    padding-left: 1rem;
    padding-right:1rem;
    /*padding-top: 9px;*/
    cursor: pointer;
    margin-bottom: 10px;
}
/*
.cc-references-navBtn:after {
    content: url('./arrow-down.png');
    float: right;
    margin-right: 25px;
    transition: transform .6s;
    transform: rotate(90deg);
}
 */

.cc-references-navBtn.navBtn-all:after{

    content: none;

}

.cc-references-navBtn.navBtn-all{

    padding-right: 1rem;

}

.cc-references-navBtn.active {
   /* background: #61A754;*/
    background:#6f8fb8;
    border: 1px solid transparent;
    color:#FFFFFF;
}

.cc-references-navBtn.active:after {
    transition: transform .3s;
    transform: rotate(0deg);
}

.cc-references-navBtn:hover {
   /* background: #61A754;*/
    background: #6f8fb8;
    color:#FFFFFF;
}

.cc-references-inputFilter {


    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    grid-gap: 0.5rem 0rem;


}

.cc-references-inputFilter > div {
    display: flex;
    flex-flow: column;
}

.cc-references-inputFilter > div > label {
    margin-left: 20px;
}

.cc-references-inputFilter > div > [type="checkbox"] {
    position: relative;
    z-index: 0;
    -webkit-appearance: none;
}

.cc-references-inputFilter > div > [type="checkbox"] + label {
    cursor: pointer;
    color: black;
}

.cc-references-inputFilter > div > [type="checkbox"] + label::before {
    width: 20px;
    height: 20px;
    border-radius: 3px;
    border: 1px solid black;
    background-color: #fff;
    display: block;
    content: "";
    float: left;
    margin-right: 10px;
    margin-bottom: 20px;
    z-index: 5;
    position: relative;
    top: 2px;
}

.cc-references-inputFilter > div > [type="checkbox"]:hover + label::before {
    box-shadow: inset 0px 0px 0px 3px #fff;
   /*
    border-color: #61A754;
    background-color: #61A754;
    */
    border-color: #6f8fb8;
    background-color: #6f8fb8;

    opacity: 0.5;
}

.cc-references-inputFilter > div > [type="checkbox"]:checked + label::before {
    box-shadow: inset 0px 0px 0px 3px #fff;
  /*
    border-color: #61A754;
    background-color: #61A754;
   */
    border-color: #6f8fb8;
    background-color: #6f8fb8;
}

/*************/
/* ITEM GRID */
/*************/
.cc-references-ajax-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    grid-gap: 2rem 0rem;
    /* values for showItemFirstTime animation */
    perspective: 2000px;
    margin-top: 30px;
    min-height: 100px;
}

.cc-references-itemWrapper {
    padding-top: 10px;
    /* values for showItemFirstTime animation */
    transform-style: preserve-3d;
    transition: transform .6s;
}

.cc-references-itemWrapper:hover {
    transition: transform .3s;
    transform: translateY(-10px);
}

.cc-references-itemWrapper > .content {
    margin: 10px;
    height: 100%;
    /* 
        use flex to be able to position read-more-btn on bottom 
        of a dynamic container inside of a grid template
        XXX works ONLY if read-more-btn is the only growable element
    */
    display: flex;
    flex-direction: column;

    /* values for showItemFirstTime animation */
    /*
    transform: translateY(50px) translateZ(0) rotateX(24deg);

     */
    opacity: .7;
    transition: all 1.4s;
    /* GPU acceleration */
    will-change: transform;
}

.cc-references-itemWrapper .content img {
    border-radius: 5px;
    width: 100%;
    height: 220px !important;
}

.cc-references-itemWrapper .content h4 {
    padding-left: 0;
    padding-top: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    min-height: 56px;
}

.cc-references-itemWrapper .content p {
    color: black;
    padding: 0;
    overflow: hidden;
    min-height: 25px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 8;
}

.cc-references-itemWrapper .content div {
    flex-grow: 10;
    position: relative;
    height: 35px;
    margin-top: 10px;
}

.cc-references-itemWrapper .content div a {
    position: absolute;
    bottom: 0;
    display: inline-block;
    background: #61A754;
    border-radius: 50px;
    font-family: Barlow;
    font-style: normal;
    font-weight: bold;
    font-size: 16px;
    line-height: 170%;
    letter-spacing: 0.01em;
    color: #FFFFFF;
    height: 45px;
    padding-left: 1rem;
    padding-top: 9px;
    padding-right: 17px;
    cursor: pointer;
}

.cc-references-itemWrapper .content div a::after {
    display: inline-block;
    content: url(./arrow-down.png);
    position: relative;
    top: 1px;
    margin-left: 15px;
    transform: rotate(-90deg);
}

@media only screen and (max-width: 750px) {
    .cc-references-wrapper-navBtn {
        grid-template-columns: 1fr;
    }

    .cc-references-inputFilter {
        grid-template-columns: 1fr;
    }

    .cc-references-ajax-wrapper {
        grid-template-columns: 1fr;
    }
}

@media only screen and (min-width: 750px) and (max-width: 1000px) {
    .cc-references-wrapper-navBtn {
        grid-template-columns: 1fr;
    }

    .cc-references-inputFilter {
        grid-template-columns: 1fr 1fr;
    }

    .cc-references-ajax-wrapper {
        grid-template-columns: 1fr 1fr;
    }
}

/*********************/
/* ITEM GRID MASONRY */
/*********************/
.masonry {
    display: grid;
    grid-gap: 10px;
    grid-auto-rows: 0;
}

@media only screen and (max-width: 750px) {
    .masonry {
        grid-template-columns: repeat(1, minmax(100px, 1fr));
    }
}

@media only screen and (min-width: 750px) and (max-width: 1099px) {
    .masonry {
        grid-template-columns: repeat(2, minmax(100px, 1fr));
    }
}

@media only screen and (min-width: 1100px) {
    .masonry {
        grid-template-columns: repeat(3, minmax(100px, 1fr));
    }
}

.masonry-item, .masonry-content {
    height: max-content;
    border-radius: 4px;
}

.masonry-item {
    /* values for showItemFirstTime animation */
    transform-style: preserve-3d;
    transition: transform .6s;
}

.masonry-item:hover {
    transition: transform .3s;
    transform: translateY(-10px);
    -filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, .3));
}

.masonry-content {
    /* values for showItemFirstTime animation */
    opacity: .7;
    transform: translateY(50px) translateZ(0) rotateX(24deg);
    transition: all 1.4s;
    /* GPU acceleration */
    will-change: transform;
}

.masonry-item {
    color: #111111;
}

.masonry-title, .masonry-description {
    margin: 0;
}

.masonry-title {
    font-weight: 700;
    font-size: 1.1rem;
    padding: 1rem 1.5rem;
}

.masonry-description {
    padding: 1.5rem;
    font-size: .75rem;
    border-top: 1px solid rgba(0, 0, 0, .05);
}


/************************/
/* ANIMATION/TRANSFORMS */
/************************/

.cc-references-showItemFirstTime {
    opacity: 1 !important;
  /*  transform: translateY(0) translateZ(0) rotateX(0) !important;*/
}


