section#footer {
    background: #fff;
}
.festival {
	text-align: center;
	color: #fff;
	font-size: 16px;
	line-height: 1.3;
	font-weight: 600 !important;
	 background: url(/img/event/festival/f-bg.jpg) no-repeat top / cover;">
}
.festival p {
	margin-bottom: 0px;
}
.festival .fw-bold {
	font-weight: 700;
    letter-spacing: -1px;
}
.festival .f-container {
    /* max-width: 920px; */
    padding-bottom: 150px;
    position: relative;
}
.f-btn-zone {
    padding-top: 60px;
}
button.f-menu, button.f-home {
    width: 70px;
    height: 70px;
    background: none;
    border: 3px solid #fff;
    border-radius: 100px;
    color: #fff;
    padding: 10px;
}
.festival h2 {
    font-size: 51px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}
.festival h5 {
	font-size: 27px;
}
.festival img {
	max-width: 720px;
}
.festival .festival-logo {
    position: fixed;
    right: 60px;
    width: 100px;
    bottom: 35px;
}
.festival-logo img {
    width: 130px;
}
.festival .table tbody tr td {
    font-family: 'SUIT', arial, sans-serif;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.5;
    padding: 15px;
	border: none;
    border-right: 1px solid #dee2e6;
    border-top: 1px solid #dee2d6;
}
.festival .table tbody tr td:nth-child(2n) {
	border-right: none;
}
.festival .table2 tbody tr td:nth-child(2n) {
	border-right: 1px solid #dee2e6;
}
.festival .table2 tbody tr td:nth-child(3n) {
	border-right: none;
}
.festival .box {
    font-size: 35px;
    padding: 30px 0px;
    border: none;
    background: rgb(255, 255, 255, 1);
    max-width: 720px;
    margin: 0 auto;
    color: #5a00ff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	font-family: 'SUIT', arial, sans-serif;
    font-weight: 600;
}
.festival .box.res:hover {
    background: #5a00ff;
    color: #fff;
    transition: 0.2s;
}
.festival .box.res:hover svg {
    fill: #fff;
    transition: 0.2s;
}

.festival .box .caption {
    background: #5a00ff;
	letter-spacing: 2px;
    display: inline-block;
    padding: 15px 30px;
    border-radius: 100px;
    font-size: 19px;
    color: #fff;
    margin-bottom: 15px;
}
.festival.family .box {
	color: #001eff;
}
.festival.family .box .caption {
	background: #001eff;
}
.festival .box h2 {
    font-size: 45px;
}
.festival .comming {
	position: relative;
    min-height: 250px;
    padding-top: 0px;
}
.festival img.coming {
    max-width: 500px;
    z-index: 9;
    position: relative;
}
.festival .title {
    padding: 3rem 0rem;
    margin: 0;
}
.festival .text-left {
    text-align: center !important;
}
.festival .f-btn {
    margin: 0 auto;
    display: flex;
    gap: 15px;
    margin-top: 25px;
}
.festival .f-btn h5 {
    font-size: 16px;
    font-weight: 800;
    color: #001eff;
    font-family: 'SUIT', arial, sans-serif;
}
.festival .f-btn img {
    width: 100%;
}
.festival .f-btn img.icon {
    width: 80px;
    margin-bottom: 10px;    
}
.festival .box {
    font-size: 35px;
    padding: 30px 0px;
    border: none;
    background: rgb(255, 255, 255, 1);
    margin: 0 auto;
    color: #5a00ff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: 'SUIT', arial, sans-serif;
    font-weight: 600;
}
.festival .box p.normal {
    font-size: 16px;
    margin-top: 15px;
}
.festival .f-btn .f-btn-box:hover {background: #5a00ff;}
.festival .f-btn .f-btn-box:hover h5, .festival .f-btn .f-btn-box:hover svg {color: #fff; fill: #fff;}
.festival .f-btn .f-btn-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
	padding: 15px;
}
.soon {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 2em;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;    
}
.soon h2 {
    transform: rotate(-6deg);
}
.festival .md {display: none;}
.festival .calender-zone {
	background: #fff;
	padding: 35px;
}
.festival .calender-title {
    font-size: 27px;
    padding: 20px;
    font-weight: 700;
    background: #001eff;
}
.festival .scroll-zone.col {
    padding: 0 20px;
}
.festival .lineup img {
    width: 100% !important;
}
.festival .lineup h2.date {
    display: flex;
    flex-direction: column;
    font-weight: 800;
    font-size: 71px;
    line-height: 1;
    letter: revert;
}
.festival .lineup h2.date span {
    color: #fff;
    font-size: 36px;
}
.lineup {
	padding: 0 100px;
}
.lineup .col-6 {
    position: relative;
    min-height: 1200px;
}
/* .lineup .col-6:first-child {
    margin-top: -200px;
}
.lineup .col-6:nth-child(2n)  {
    min-height: 1200px;
}
.lineup .col-6:nth-child(3n) {
	margin-top: -180px;
}
.lineup .col-6:nth-child(4n) {
	margin-top: 200px;
} */
.lineup .black-box {
    background-color: rgb(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
}
.lineup .table {
    color: #fff;
    border: none;
    border-top: 1px solid rgb(255, 255, 255, 0.3);
}
.lineup .table td {
    border: none !important;
    padding: 10px 0px;
}
.lineup .table tr {
    border-bottom: 1px solid #fff;
    border-color: rgb(255, 255, 255, 0.3);
}
.lineup img.coming {
    max-width: 500px;
    z-index: 9;
    position: absolute;
    top: 50%;
    left: 3px;
}
.festival .calender-table {background: #fff; width: 100%; table-layout: fixed;}
.festival .calender-table .row {margin: 0;}
.festival .calender-zone td.today {
    border: 1px solid #001eff !important;
    z-index: 999;
    position: relative;
    width: 100%;
    display: inline-block;
    color: #001eff;
    font-weight: 900 !important;
}
.festival .calender-zone td.today .col-12 {
	color: #001eff;
    font-weight: 900 !important;
}
.festival .calender-zone td.today:before {
    content: 'Today';
    position: absolute;
    background: #001eff;
    color: #fff;
    padding: 3px 10px;
    border-radius: 100px;
    transform: rotate(-30deg);
    left: -30px;
    top: -10px;
}
.festival .calender-table tr th {
    text-align: center;
    padding: 10px 0px;
    font-size: 13px;
    border: 1px solid #ddd;
    font-size: 11px;
}
.festival .calender-table tr td {
	font-size: 13px;
    padding: 5px 0 0 0;
    vertical-align: top;
    height: 57px;
    border: 1px solid #ddd;
}
.festival .calender-zone h5 {
    font-size: 27px;
    background: #2275ff;
    font-size: 16px;
    padding: 10px 0px;
    border-radius: 15px 15px 0 0;
    margin-bottom: 0;
}
.festival .concept h5 {
    background: no-repeat;
    color: #001eff;
    border-left: 5px solid #001eff;
    border-radius: 0;
    text-align: left;
    padding: 0 10px;
    margin: 20px 0px 10px;
    font-size: 16px;
    font-weight: 700;
}
.festival .concept .col-12 {
    padding: 10px 0px;
}
.festival .calender-table .col-12 {text-align: center; font-size: 13px; font-weight: bold; margin-bottom: 5px; padding: 0px;}
.festival .calender-table .col-6 {font-size: 12px; padding: 0px; max-width: 50% !important; text-align: left;}	
.festival .calender-table .col-6:nth-child(2n+1) {text-align: center;}
.festival .callender-mo {display: none;}
.festival .col-12.family {
    background: #00be9c;
    min-height: 10px;
	margin-bottom: 0;
}
.festival .col-12.infinity {
    background: #0186fc;
    min-height: 10px;
	margin-bottom: 0;
}
.festival .col-12.sunset {
    background: #fd5a17;
    min-height: 10px;
	margin-bottom: 0;
}
.festival .col-12.aqua {
    background: #fd4db9;
    min-height: 10px;
	margin-bottom: 0;
}
.festival .col-12.aqua {
    background: #fd4db9;
    min-height: 10px;
	margin-bottom: 0;
}
.festival .col-12.silence {
    background: #ff8a18;
    min-height: 10px;
	margin-bottom: 0;
}
.festival .modal-dialog {
    max-width: 70%;
}
section#footer {
    background: #fff;
    z-index: 9;
    position: relative;
}
@media screen and (max-width: 480px){
	.tab-content h2, .tab-content h4 {font-size: 19px;}
    .tab-content h2.display-3 {font-size: 51px;}
    .calender-table .col-6 {
	    font-size: 12px;
	    padding: 0px;
		letter-spacing: -0.5px;
		flex: 0 0 50% !important;
	}
	.callender-mo {display: block;}
	.scroll-zone {
	    display: block;
	    overflow-x: scroll;
	}
	.calender-table tr td {
	    padding: 20px 10px 20px 5px;
	}		
	
	.festival header,
	.festival .md {display: block;}
	.festival .pd,
	.festival .festival-logo {display: none;}
    .festival {
    	font-size: 15px;
    }
    .festival h2 {
	    font-size: 31px;
	}
	.festival h5 {
	    font-size: 19px;
	}
	.festival p.py-5,
	.festival .modal-body .py-5 {
	    padding-bottom: 2rem !important;
	    padding-top: 2rem !important;
	}
    .festival img,
    .festival .table {
        width: 100%;
    }
    .festival img.coming {
	    width: 290px;
	}
	.soon {top: 1em;}
    .festival .box .caption {
	    letter-spacing: 0px;
	    padding: 10px 25px;
	    font-size: 19px;
	}
	.festival .title {
	    padding: 2rem 0rem;
	}
    .festival .box .caption,
    .festival .table tbody tr td {
   		font-size: 15px;
   	}
   	.festival .comming {
        min-height: 100px;
        padding-top: 20px;
    }
   	.festival .box,
   	.festival .box h2 {
   		flex-direction: column !important;
    	font-size: 27px;
    }
	.festival .f-btn {
	    width: 100%;
	}

	.festival .f-btn {
	    flex-direction: column;
	}
	.f-btn-zone {
	    padding-top: 30px;
	}
	button.f-menu, button.f-home {
	    width: 45px;
	    height: 45px;
	    background: none;
	    border: 2px solid #fff;
	    border-radius: 100px;
	    color: #fff;
	    padding: 0px;
	}
	button.f-menu svg {
        width: 31px;
        margin-top: -2px;
    }
	button.f-home svg {
		width: 24px;
	    margin-top: 0px;
	}
	.festival .calender-title {
	    font-size: 21px;
	}
	.festival .calender-zone {
	    background: #fff;
	    padding: 10px;
	}
	.festival .scroll-zone.col, 
	.festival .concept .col {
        padding: 0px;
        flex: 0 0 100%;
		margin-bottom: 20px;
    }
    
    .lineup {
	    padding: 0;
	}
	.lineup .col-6 {
	    margin-bottom: 60px;
		min-height: auto;
	}
	.lineup .col-6:nth-child(2n),
	.lineup .col-6:nth-child(3n),
	.lineup .col-6:nth-child(4n) {
	    min-height: 500px;
	    margin-top: 0px;
	}
	.lineup .black-box {
	    height: 500px;
	}	
}