/*** GRID ***/ 

.grid {
    width:100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: masonry;
    column-gap: 15px;
    row-gap: 25px;
}

.grid .cal-column {

}
@media (min-width: 768px) {
    .grid {
        grid-template-columns: repeat(3, 1fr);
        column-gap: 30px;
        row-gap: 30px;
    }   
}
@media (min-width: 1200px) {
    .grid {
        grid-template-columns: repeat(4, 1fr);
        column-gap: 40px;
        row-gap: 40px;
    }  
}
@media (min-width: 1400px) {
    .grid {
        grid-template-columns: repeat(4, 1fr);
        column-gap: 40px;
        row-gap: 40px;
    }  
}
@media (min-width: 1600px) {
    .grid {
        grid-template-columns: repeat(4, 1fr);
        column-gap: 45px;
        row-gap: 45px;
    }
}
@media (min-width: 1800px) {
    .grid {
        grid-template-columns: repeat(4, 1fr);
        column-gap: 50px;
        row-gap: 50px;
    }
}

.cal-time-alt {
    margin-bottom: 10px;
}
.cal-fil-tracks, .cal-fil-prog, .cal-fil-trans  {
    position: relative;
    padding-left: 26px;
    overflow: visible;cursor: pointer;
    margin-top: 3px;
}
.cal-fil-tracks span, .cal-fil-prog span, .cal-fil-trans span   {
    line-height: 140%;
}
.cal-fil-prog, .cal-fil-trans  {
    padding-left: 22px;
}

.cal-fil-trans {
    padding-left: 32px;
    cursor: default;
}
.cal-fil-trans span {


}
.cal-fil-trans .ico-translatex {
    width:22px;
    margin-left: -32px;
    margin-top: 2px;
    float:left;
}

.cal-fil-tracks .circ {
    position: absolute;
    top:0; left:0;
    transform: translateY(45%);
    width: 14px; height: 14px;
    border: 2px solid #888;
    border-radius: 50%;
}
.cal-fil-prog .circ, .cal-fil-trans .circ {
    position: absolute;
    top:0; left:0;
    transform: translateY(85%);
    width: 10px; height: 10px;
    border: 1px solid #fff;

}
.cal-fil-prog.active .circ, .cal-fil-trans.active .circ {
    background-color: #ccc; 
}
.cal-fil-reset {
    font-size: 0.9em;
    color: #fff;
    margin-top: 16px;
    display: inline-block;
    opacity: 0;
    transition: opacity .2s;
    background: #666;
    padding: 0px 10px;
    border-radius: 5px;
}
.cal-fil-reset:hover {
    color: #fff;
    cursor: pointer;
}


/** COLOR **/

:root {
    --col-1: #038287; /** Business **/
    --col-2: #db8222; /** Technology **/
    --col-3: #559745; /** Environment **/
    --col-4: #d53585; /** Emotional **/
    --col-5: #3c2b8d; /** Church **/
}

.cal-block-each {
    border: 2px solid rgba(255,255,255,0.6);
    border-radius: 1em;
    overflow: hidden;
    color: white;
    background: none;
    position: relative;
}

.cal-block-each.track1 {
    border-color: var(--col-1); 
}
.cal-block-each.track2 {
    border-color: var(--col-2);
}
.cal-block-each.track3 {
    border-color: var(--col-3);
}
.cal-block-each.track4 {
    border-color: var(--col-4);
}
.cal-block-each.track5 {
    border-color: var(--col-5);
}

.cal-block-each.track1.track5 {
    background: linear-gradient(var(--color-black), var(--color-black)) padding-box, linear-gradient(to bottom right, var(--col-1), var(--col-5)) border-box;
    border: 2px solid transparent;
}
.cal-block-each.track1.track3 {
    background: linear-gradient(var(--color-black), var(--color-black)) padding-box, linear-gradient(to bottom right, var(--col-1), var(--col-3)) border-box;
    border: 2px solid transparent;
}


.fil-t1 .circ {
    border-color: var(--col-1); 
}
.fil-t2 .circ {
    border-color: var(--col-2); 
}
.fil-t3 .circ {
    border-color: var(--col-3); 
}
.fil-t4 .circ {
    border-color: var(--col-4); 
}
.fil-t5 .circ {
    border-color: var(--col-5); 
}

.fil-t1 .circ.active {
    background-color: var(--col-1); 
}
.fil-t2 .circ.active {
    background-color: var(--col-2); 
}
.fil-t3 .circ.active {
    background-color: var(--col-3); 
}
.fil-t4 .circ.active {
    background-color: var(--col-4); 
}
.fil-t5 .circ.active {
    background-color: var(--col-5); 
}

.cal-header {
    text-align: center;
    width: 100%;
    padding: 1.5em 1em 1.75em;
}
.cal-header .ttl {
    font-size: 1.25em;
    font-weight: 600;
    line-height: 130%;
    display: block !important;
}
.cal-header-info {
    font-size: 14px;
    line-height: 150%;
}
.cal-header .slogan {
    padding-top: 10px;

}    
.cal-header .desc {
    padding-top: 10px;
    font-weight: 400;
    color: #bababa;
}
.portrait {
    aspect-ratio: 1 / 1.25;
}

.portrait img {
    object-fit: cover;

}
@media (min-width: 1400px) {

}
@media (min-width: 1600px) {
    .cal-header .ttl {
        font-size: 1.3em;
        line-height: 130%;
    }
}
@media (min-width: 1800px) {
    .cal-header .ttl {
        font-size: 1.4em;
        line-height: 130%;
    }
}


.pagination {
  display: inline-block;
}

.pagination a {
  color: white;
  float: left;
  padding: 8px 16px;
  text-decoration: none;
}

.pagination a.active {
  background-color: #4CAF50;
  color: white;
  border-radius: 5px;
}

.pagination a:hover:not(.active) {
  background-color: #ddd;
  color: #222;
  border-radius: 5px;
}
