* {
    box-sizing:border-box;
}

html,body{
  width:100%;
  margin:0;
  padding:0;
}

body{
	font-family:sans-serif;
	background-color:#0b1b33;
	color:#ddd;
	overflow-x:hidden;
}

header{
    padding: 4rem 0 0 0;
}

header h1{
    font-size:5rem;
    margin-bottom:1rem;
}

#logo{
    cursor:pointer;
}

a{
	color: #fff;
    text-decoration:none;
}
a:hover{
    text-decoration:underline;
}
a:visited{
	color: #888;
}


h1{
	text-align:center;
	overflow-x:hidden;
}

h2{
	margin-top:4rem;
	overflow-x:hidden;
}

.month-header{
	text-align:center;
	font-size:6rem;
	padding:6rem 0;
	margin:0;
    margin-top:20vh;
}


h2 + .line{
	border-top:1px solid #ccc;
}

h4{
    margin-bottom:0;
}





#meta-header{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	margin-top:1rem;
	margin-bottom:4rem;
}

#total-count-container,
#generation-time-container{
    padding:1rem .5rem 0 .5rem;
    opacity:.6;
}







#agenda-container .month-header:first-of-type{
    display:none;
}



.line{
	display:flex;
	border-bottom:2px solid transparent;
	padding: 0.5rem 0rem 2rem 0rem;
	/*padding-bottom: 2rem;*/
    line-height: 2rem;
    margin-left:2rem;
    margin-right:2rem;
    width:calc(100% - 4rem);
    box-sizing:border-box;
    /*background-color:blue;*/
    border-top: 1px dotted #555;
}




.line > div{
	overflow:hidden;
	/*padding:.5rem .5rem .5rem 0;
	width:13%;*/
	box-sizing:border-box;
}

.line .line-name{
	min-width:15rem;
    padding-right:1rem;
    width:10%;
}
.line .line-name .value{
	/*color:#caca04;*/
    font-weight:bold;
}

.line .map-link,
.line > .line-adres a{
	text-decoration:none;
}


.map-link-icon{
	font-size: 150%;
	position: relative;
	display: inline-block;
	line-height: 0;
	filter: brightness(100);
    bottom: 0.1rem;
    margin-right:.5rem;
}

.line-adres:hover .map-link-icon{
    filter: brightness(1.5);
}

.line .line-date-and-time,
.line .line-date{
	min-width:10rem;
}

.line .line-date > span{
    display:inline-block;
}

/*
.line .line-date,
.line .line-month,
.line .line-year{
	width:10%;
	max-width:15rem;
}
*/

.line .line-time{
	min-width:4rem;
}

.line .line-title{
	min-width:15rem;
}

.line .line-title .value{
	font-size:1.6rem;
	font-weight:bold;
	color: #74c3d5;
}

.line .date-and-description{
    width:80%;
    display:flex;
}
.line .date-and-description > div{
    /*width: 10%;*/
    padding-right:1rem;
}


.line .name-and-description{
    min-width:12rem;
    display:flex;
    flex-grow:1;
    padding-right:2rem;
}

.line .title-and-description{
    padding-right:2rem;
    flex-grow:1;
}

.line .title-and-description,
.line .line-description{
	/*width:40%;
	max-width:30rem;*/
	min-width:12rem;
}

.line .line-description .value{
    line-height:1.8rem;
    max-width:30rem;
}

.line .line-description .value:not(:empty){
    display:inline-block;
    margin-bottom:.9rem;
    /*padding-bottom:.9rem;
    border-bottom:1px solid white;*/
}

.name-and-details{
    flex-grow:1;
    display:flex;
}

.name-and-details > div{
    width:100%;
}

.line .line-price{
	width:auto;
}


.line-name .value{
    font-size:1.2rem;
}

.line-date .key,
.line-time .key,
.line-name .key,
.line-title .key,
.line-price .key,
.line-description .key{
    display:none;
}

.key{
	opacity:.5;
	margin-bottom: 0.5rem;
	display: inline-block;
    display:none;
}

.line-name a,
.line-name a:visited{
    color:#eee;
}
.line-name a:hover{
    color:white;
}



.old{
	display:none!important;
}

.date-and-month{
    white-space:nowrap;
}
/*
.even{
	background-color:rgba(255,255,255,.1);
}
*/

/*
.line.today{
	background-color:#001437;
}
*/

/*
.line.even.hidden:not(.old) + .line:not(.even):not(.hidden),
.line.hidden:not(.even):not(.old) + .line.even:not(.hidden),
.line.even:not(.old):not(.hidden) + .line:not(.even):not(.hidden),
.line:not(.even):not(.old):not(.hidden) + .line.even:not(.hidden),
*/
.line.first-on-date:not(.hidden),
.line.even:not(.old) + .line:not(.even),
.line:not(.even):not(.old) + .line.even{
	border-top:10px solid white;
    margin-top: 6rem;
}

.month-header + .line .line-date,
.line.first-on-date:not(.hidden) .line-date,
.line.even:not(.old) + .line:not(.even) .line-date,
.line:not(.even):not(.old) + .line.even .line-date{
    font-size: 1.6rem;
    display: flex;
    flex-direction: column;
    margin-bottom: 0.5rem;
    color:white;
}

/*
.month-header + .line .date-and-month,
.line.first-on-date:not(.hidden) .date-and-month,
.line.even:not(.old) + .line:not(.even) .date-and-month,
.line:not(.even):not(.old) + .line.even .date-and-month{
    font-size:3.5rem;
    margin-top:1rem;
}
*/

.line.first-on-date:not(.hidden),
.month-header + .line:not(.hidden){
	border-top:10px solid white;
    margin-top: 6rem;
}

#filter-container + .month-header + a + .line{
    margin-top:0!important;
}

/*
.line:not(.first-on-date):not(.hidden),
.month-header + .line:not(.hidden) ~ .line:not(.hidden) {
    border-top:1px dotted #333;
    margin-top: 0;
}
*/


.date-and-time{
    display:flex;
    flex-direction:column;
    min-width:12rem;
}


.line .details{
    /*width:auto;*/
    width:30%;
    min-width:12rem;
}



.line.today{
    border-top: 10px solid white;
}
.line.today:not(.hidden) ~ .line.today { 
    border-top: 1px dotted #555; 
}


.list-container{
    padding:2rem;
}


#sources-container ul{
    list-style: none;
    padding-left: 0;
    line-height: 2rem;
}

#sources-container li{
    display:inline-block;
    padding-right:1rem;
}



#weekly-container{
	display:flex;
}

#weekly-container > div{
	padding-right:2rem;
}




#other-flex-container{
    display:flex;
    flex-wrap:wrap;
    line-height:2rem;
}

#other-flex-container > div{
    width:33%;
    min-width:15rem;
}

#other-flex-container a{
    display:inline-block;
    padding-left:.5rem;
}

#filter-container{
    width: 100%;
    padding: 0 2rem;
    font-size:1.6rem;
    margin-bottom:1rem;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
}

#filter-container > div{
    text-align:left;
    margin-top:1rem;
}

#filter-container span{
    display:none;
    font-size:1.6rem;
    font-weight:100;
    padding-right:1rem;
    opacity:.7;
}

#filter-container input,
#filter-container select{
    font-size:1rem;
    padding:.5rem;
    font-weight:bold;
    color:#333;
    border:none;
    border-radius:.5rem;
    overflow:hidden;
    background: rgba(255,255,255,.8);
}
#filter-container input{
    margin-right:1rem;
    background: rgba(255,255,255,.8);
}


#date-select-container{
    position:fixed;
    bottom:2rem;
    right:2rem;
    z-index:10;
}



.hidden{
    display:none!important;
}

.test{
    border:3px dotted red;
    background-color:white;
}

/*
.line-time .value:not(:empty){
    padding-right:.5rem;
}
*/

.line-ical-dl{
    cursor:pointer;
}

.line-ical-dl:hover .ical-dl-icon{
    filter: brightness(1);
}

.ical-dl-icon{
    filter: brightness(100);
    padding-right:.7rem;
    padding-left:.2rem;
    cursor:pointer;
}


.price-separator{
    padding-left:.3rem;
    padding-right:.2rem;
}

.price-euro-icon{
    padding-right:.3rem;
}


.time-separator{
    padding-left:.3rem;
    padding-right:.3rem;
}



/*  sold out */

div.line.full{
	opacity:.5;
	position:relative;
}
div.line.full::before{
	content:'Full / Sold out';
	position:absolute;
	top:0;
	left:0;
	padding:.3rem .8rem;
	/*background-color:#7e0000;*/
	background-color:black;
	
}

div.line.full .line-price{
	text-decoration:line-through
}





/*  Iframe experiment  */

#iframe-float:empty{
    width:0;
}

#iframe-float:not(:empty){
    width:calc(50vw - 2rem);
    height:calc(100vh - 8rem);
    position:fixed;
    right:2rem;
    top:2rem;
    bottom:1rem;
    background-color:black;
}

#iframe-float:empty + div{
    width:100%;
}
#iframe-float:not(:empty) + div{
    width:50vw;
}


#iframe-header{
    height:5rem;
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:stretch;
    cursor:pointer;
}

#iframe-header > *{
    display:flex;
    justify-content:center;
    align-items:center;
    width:50%;
}

#iframe-header > *:hover{
    background-color:#b65a5d;
}

#iframe-header-close-button{
    width:50%;
    border-right:1px solid white;
}

#iframe-header-open-button:hover{
    text-decoration:none;
}

/*  Same changes as for tablets / mobile */

#iframe-float:not(:empty) + div .name-and-details,
#iframe-float:not(:empty) + div .line .name-and-description{
    display:block;
}

#iframe-float:not(:empty) + div .date-and-time{
    flex-direction:column;
}

#iframe-float:not(:empty) + div .line .line-name{
    width:100%;
}


#iframe-float:not(:empty) + div #filter-container > div{
    text-align:left;
    margin-top:1rem;
    right: calc(50vw + 2rem);
}





@media screen and (max-width: 1200px) {

    .line .name-and-description{
        display:block;
    }
    
    .date-and-time{
        flex-direction:column;
    }
    
    .line .line-name{
        width:100%;
    }
}





.yikes{
	opacity:.5;
}

#db-done{
	color:green;
	font-weight:bold;
}



@media screen and (max-width: 800px) {
    
    header h1{
        font-size:3rem;
    }
    
    /*
    .line{
    	display:block;
    }
    */
    
	.line > .line-title{
		width:100%;
		min-width:100%;
		max-width:100%;
	}
	.month-header{
		font-size:4rem;
	}
    
    /*
    .line > .date-and-time{
        width:100%;
        flex-direction:row;
        padding-bottom:0;
    }
    */
    
    .line .line-date{
        min-width:12rem;
    }
    
    .line .title-and-description,
    .line .line-description{
    	width:100%;
    	max-width:100%;
    	/*min-width:20rem;*/
    }
    
    /*
    .line .date-and-time,
    .line > .details{
        width:100%;
    }
    */
    
    .line .date-and-description{
        width:100%;
    }
    
    .name-and-description{
        flex-direction:column;
    }
    
    .name-and-details{
        display:block;
    }
    
    .line .details{
        width:100%;
        padding-top:.5rem;
    }

    .line .name-and-description{
        display:block;
    }
    
    #filter-container{
        justify-content:space-between;
        margin-bottom:1rem;
    }
    
    #filter-container > div:not(#date-select-container){
        width:48%;
    }
    #filter-container input,
    #filter-container select{
        width:100%;
    }

    .line-ical-dl:not(:empty),
    .line-address:not(:empty){
        padding:.2rem .7rem;
        border-radius:1rem;
        border:1px solid rgba(255,255,255,.4);
        margin-bottom:.5rem;
    }
    
    .line-price:not(:empty){
        padding:.2rem 1rem;
        margin-bottom:.5rem;
    }
    
}


@media screen and (max-width: 600px) {
    
    
    header h1{
        font-size:2rem;
    }
    
    #filter-container{
        padding: 0 1rem;
    }
    
    .line{
        display:block;
        margin-left:1rem;
        margin-right:1rem;
        width: calc(100% - 2rem);
    }
    
    .map-link-icon{
        filter: brightness(2);
    }
    
    .line,
    .line .title-and-description,
    .line .name-and-description{
        padding-right:0;
    }
    
    .line .line-description .value:not(:empty){
        margin-bottom:.3rem;
    }
    
    .date-and-time{
        flex-direction: row;
        justify-content: space-between;
    }
    
    .line .line-time{
        min-width:0;
    }
    
    .ical-dl-icon{
        filter: brightness(1);
    }
    
    .line-ical-dl:hover .ical-dl-icon{
        filter: brightness(1.5);
    }
    
    .line .map-link{
        display:block;
    }
    
}



@media screen and (min-width: 801px) {
    
    .line-ical-dl:not(:empty):hover .ical-dl-text,
    .line-adres:not(:empty):hover .full-adres{
        text-decoration:underline;
    }
}


@media screen and (min-width: 1001px) {
    
    .line .details{
        min-width:15rem;
    }
}




@media screen and (min-width: 1200px) {
    
    .line .date-and-time{
        min-width:14rem;
    }
    .line .details{
        min-width:16rem;
    }
    
    /*
    ,
    .line a.open-external[href^="http"]::after,
    .line a.open-external[href^="https://"]::after
    */

    .line-title a.open-external::after
    {
        content: "";
        width: 16px;
        height: 16px;
        margin-left:.5rem;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' stroke='white' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z'/%3E%3C/svg%3E");
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        display: inline-block;
    	filter: brightness(100);
    }

    
    
}







