/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------ 6.0/00 - 21-08-22 */
/* file     -> expandbox.css */
/* colors   -> #EE741D | rgba(238,116,29) | hsla(25,86%,53%) */
/* ------------------------------------------------------------------------------ */
/* link     -> https://codepen.io/nailaahmad/pen/LGRxWJ */
/* info     -> gridbox / flexbox and expandbox with auto-counter */
/* ------------------------------------------------------------------------------ */
/* ROOT and VARIBLES */
:root {
	--hover-bgr:hsla(210,100%,56%,1);
    
    /* cards */
    --card-front-col: rgba(0,0,0,.6); /* black, gray OR client-color */
    --card-front-bgr: #fff;
    --card-back-col: #fff;
    --card-back-bgr: #EE741D;
    --card-ibox-hgt: 14rem;         /* min-height of the card - depends of the text card-back - def 14rem */
    --card-body-bdr: 1px solid rgba(0,0,0,.05);     /* border - def 1px */
    /* grid-area */
    --grid-area-gap: 1rem;          /* gap between flipboxes - def 1rem | min .3rem - check used shadow */
    --grid-area-pad: 1rem;          /* padding - check card-border-radius - def 1rem | min .3rem */
    --grid-area-bgr: none;          /* background - def none */
    --grid-area-bdr: 0px solid rgba(0,0,0,.25);     /* border - def 0px  */
    --grid-area-rad: 0rem;          /* border-radius - def 0rem */
    /* counter - card-front */ 
    --count-color: #ccc;         /* color of the counter - must be the same as card-back-background AND no transparent */
    --count-size: 4rem;             /* counter size - def 4rem */
    --count-pos-top: 0rem;          /* counte rposition top - NOT IN USE */
    --count-pos-right: 1.2rem;      /* counter position right - def 1.2rem */
    --count-pos-bottom: 0.6rem;     /* counter position bottom - def 0.6rem */ 
    --count-width: 1px;             /* counter stroke - def 1px | max 3px */
    /* animation */
    --time-flip: 0.8s;              /* def 0.8s */
	}

/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------ 6.0/00 - 20-08-22 */
/* CARDS */
.cards {
    display:flex;
    flex-flow:row wrap;
    gap: 1.5rem;
    counter-reset:Element; /* reset must be here */
    }

.card {
    width:calc((100% / 3) - 30px);
    transition:all 0.2s ease-in-out;
    }

@media screen and (max-width: 991px) {
  .card {
    width: calc((100% / 2) - 30px);
  }
}
@media screen and (max-width: 767px) {
  .card {
    width:100%;
  }
}

.card:hover .card__inner {
    background:rgba(238,116,29,.2);
    color:rgba(238,116,29,1);
    transform:scale(1.05);
    }
.card__inner {
    position:relative;
    width:100%;
    min-height: 6rem;
    padding: 1rem;
    font-size: 1.2rem;
    text-align: center;
    background:var(--card-front-bgr,#fff);
    color:var(--card-front-col,rgba(0,0,0,.6)); /* #eceef1; */
    border:var(--card-body-bdr,1px solid rgba(0,0,0,.05));
    border-radius:0.25rem;
    transition:all 0.2s ease-in-out;
    cursor:pointer;
    }
.card__inner:after {
    transition:all 0.3s ease-in-out;
    }
.card__inner .fa {
    width:100%;
    margin-top:0.25em;
    }
.card__expander {
    position:relative;
    display:flex;
    min-width: 100%;
    justify-content:center;
    /*align-items:center;*/
    font-size: 1.2rem;
    background: hsla(25,86%,53%,0.4) /* #333a45; black */
    color: #000; /* #eceef1; */
    border: 1px solid hsla(25,86%,53%,0.6);
    border-radius:0.25rem;
    transition:all 0.2s ease-in-out;
    }
/* expand content */
.card__expander h3 {
    display:block;
    align-items: center;
    padding: 1rem;
    font-size: 1.3rem;
    border: 0px solid green;
}
.card__expander p {
    display:block;
    padding: 1.2rem 4rem;
    /*font-size: 1.2rem;*/
    text-align:left;
    border: 0px solid orange;
}

/* close cross */
.card__expander .fa {
    position:absolute;
    top:1rem;
    right:1rem;
    font-size:2rem;
    color:rgba(238,116,29,1);
    cursor:pointer;
    }
.card__expander .fa:hover {
    opacity:0.9;
    }
.card.is-collapsed .card__inner:after {
    content:'';
    opacity:0;
    }
.card.is-collapsed .card__expander {
    max-height:0;
    min-height:0;
    margin-top:0;
    overflow:hidden;
    opacity:0;
    }
/* card -> if active */
.card.is-expanded .card__inner {
    background: rgba(242,143,69,1); /* #F28F45; /* #1abc9c; /* green */
    color: #fff;
    }
/* expandbox -> arrow top */
.card.is-expanded .card__inner:after {
    content:'';
    position:absolute;
    display:block;
    bottom: -31px;
    left:calc(50% - 16px);
    height:0;
    width:0;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-bottom: 16px solid #EE741D;
    opacity: 1;
    }
/* folder-icon */
.card.is-expanded .card__inner .fa:before {
    content:'\f07c';
    }
.card.is-expanded .card__expander {
    max-height: 1000px;
    min-height: 168px;
    margin-top: 30px;
    overflow:visible;
    opacity:1;
    }
.card.is-expanded:hover .card__inner {
    transform:scale(1);
    }
.card.is-inactive .card__inner {
    pointer-events:none;
    opacity: 0.5;
    }
/* card if NOT inactive */
.card.is-inactive:hover .card__inner {
    background: rgba(238,116,29,.2);
    transform:scale(1);
    }

@media screen and (min-width: 992px) {
  .card:nth-of-type(3n+2) .card__expander {
    margin-left: calc(-100% - 30px);
  }
  .card:nth-of-type(3n+3) .card__expander {
    margin-left: calc(-200% - 60px);
  }
  .card:nth-of-type(3n+4) {
      clear:left;
    }
  .card__expander {
    width:calc(300% + 60px);
  }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  .card:nth-of-type(2n+2) .card__expander {
    margin-left: calc(-100% - 30px);
  }
  .card:nth-of-type(2n+3) {
    clear: left;
  }
  .card__expander {
    width: calc(200% + 30px);
  }
}

/* ------------------------------------------------------------------------------ */
/* ------------------------------------------------------------ 6.0/00 - 20-08-22 */
/* css-counter postion background */
/* https://stackoverflow.com/questions/43514987/css-increasing-number-as-background-images-for-css */	
.card__inner::before { 
	position:absolute;
    display:flex;
	/*top:0;*/
  	right:var(--count-pos-right,1.2rem);
  	bottom:var(--count-pos-bottom,0.6rem);
	justify-content:center;
    align-items:center;
    counter-increment:Element 1;
	content:counter(Element) '';
	font-size:var(--count-size,4rem); 
	font: 800 Arial;
	  -webkit-text-fill-color:transparent; /* works FF, Chrome and Edge */
	  -webkit-text-stroke:var(--count-width,1px);
	  -webkit-font-smoothing:antialiased;
	color:var(--count-color,#EE741D); /* must be the same color als card-back background */
    opacity:1;
	z-index:999;
	}

/* shadow */
.shadow, .card__inner, .card__expander {
  box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.04), 0 2px 2px rgba(0, 0, 0, 0.04), 0 4px 4px rgba(0, 0, 0, 0.04), 0 8px 8px rgba(0, 0, 0, 0.04), 0 16px 16px rgba(0, 0, 0, 0.04);
}

/* ------------------------------------------------------------------------------ */
/* END */	
/* ------------------------------------------------------------------------------ */