@media screen and (max-width: 1200px) 
{
	.calendar-options > .row > div:last-of-type
	{
		padding-left: 5%;
	}
	
	.calendar-table .date
	{
		font-size: 14px;
	}
	
	.mobile-contest .event:not(.end)
	{
		overflow: visible;
		list-style: none;
	}
	
	.mobile-contest .calendar-day:not(.c-saturday):not(.c-sunday) .event:not(.end) > span.title
	{
		display: contents;
	}
	
	.mobile-contest #contests-check-list
	{
		clear: both;
	}
}

@media screen and (max-width: 991px) 
{
	html .container
	{
		padding: 0;
	}
	
	.month-change
	{
		display: contents;
		align-items: center;
	}
	
	#holder,
	.clandar-content
	{
		margin: 0 0 1rem;
		padding: 0 15px;
	}
	
	.calendar-options
	{
		margin-bottom: 1rem;
		max-width: 100%;
		overflow: hidden;
	}
	
	.calendar-options label
	{
		font-size: 16px;
	}
	
	.calendar-options > .row > div,
	.calendar-options > .row > div:last-of-type
	{
		padding: 0 3rem;
	}
	
	.calendar-options > .row > div:last-of-type
	{
		border: none;
	}
	
	#contests-type-list > .row
	{
		display: flex;
		width: 100%;
	}
	
	#contests-type-list > .row > div
	{
		width: 30%;
	}
	
	#contests-type-list > .row > div:last-of-type
	{
		width: 70%;
	}
	
	.theme-showcase h2
	{
		margin-bottom: 1rem;
	}
	
	.clandar-content h2 + p.tac
	{
		font-size: 16px;
		margin-bottom: 1rem;
	}
	
	.calendar-table .date
	{
		font-size: 12px;
		text-overflow: clip;
	}
	
	body:not(.mobile-body) .calendar-table .date
	{
		display: grid;
	}
	
	.contest-table-block
	{
		padding: 0;
	}
	
	.contest-table-block .spoiler-head
	{
		background: #c6e4ff;
		color: #333333;
		font-size: 18px;
		font-weight: bold;
		padding: 20px;
		border-top: 2px solid #ffffff;
	}
	
	.contest-table-block .spoiler-head:after
	{
		content: url("/images/content/contests/calendar/arrow-down.png");
		float: right;
		transition: all .5s;
	}
	
	.contest-table-block .spoiler-head.active:after
	{
		transform: rotate(180deg);
	}
	
	.contest-table-block .spoiler-body
	{
		height: 0;
		min-height: 0;
		overflow: hidden;
		transition: all .8s;
	}
	
	.contest-table-block .spoiler-head.active + .spoiler-body
	{
		height: inherit;
		min-height: inherit;
	}
}

@media screen and (min-width: 768px) and (max-width: 768px) 
{ /* iPad mini */
	.calendar-options
	{
		max-width: 100%;
		overflow: hidden;
	}
	
	#contests-check-list
	{
		clear: both;
		min-height: 215px;
	}
	
	#contests-check-list > div:not(:first-of-type)
	{
		float: left;
	}
	
	.clandar-content h2 + p.tac br
	{
		display: none;
	}
	
	.event:not(.end)
	{
		overflow: visible;
		list-style: none;
	}
	
	.calendar-day:not(.c-saturday):not(.c-sunday) .event:not(.end) > span.title
	{
		display: contents;
	}
}

@media screen and (max-width: 767px) 
{
	.calendar-head
	{
		margin-top: 6rem;
	}
	
	#holder
	{
		width: 100%;
		padding: 0;
	}
	
	.calendar-table .date,
	.calendar-table .date > span
	{
		display: flow-root;
		width: 100%;
		text-align: center;
	}
	
	.calendar-table .date
	{
		margin-bottom: 2rem;
	}
	
	.calendar-day:not(.c-saturday) .event.begin:not(.end)
	{
		list-style-type: none;
	}
	
	.contest-table-block .nav-tabs a
	{
		font-size: 14px;
		padding: .75rem;
	}
	
	.table-tight > tbody > tr > td 
	{
		width: auto;
		min-width: 65px;
		height: 200px;
	}
	
	.table-tight > tbody > tr > td.outside
	{
		border-color: #cce2ff;
	}
	
	.event:not(.end) 
	{
		display: block;
		width: calc(100% + 2px);
		position: inherit;
		left: 1px;
		overflow: visible;
	}
	
	.calendar-day:not(.c-saturday):not(.c-sunday) .event:not(.end) > span.title
	{
		display: contents;
	}
	
	.event.begin
	{
		z-index: 1;
	}
	
	.event.begin:not(.end)
	{
		overflow: visible;
		text-overflow: clip;
	}
	
	#contests-type-list:before
	{
		content: "";
		display: block;
		padding: 5px 15px;
		margin-bottom: 1rem;
		border-bottom: 1px solid #add1e8;
	}
	
	.contest-table-block .spoiler-body .table tbody > tr > th,
	.contest-table-block .spoiler-body .table tbody > tr > td
	{
		text-align: left;
		vertical-align: middle;
	}
	
	.contest-table-block .spoiler-body .table tbody > tr > th[colspan="100%"]
	{
		text-align: center;
	}
	
	.calendar-options + div
	{
		padding: 0 15px;
		font-size: 12px;
	}
	
	.event.clear
	{
		height: 18px;
	}
}

@media screen and (max-width: 576px) 
{
	.calendar-head
	{
		background: url("/images/content/contests/calendar/header_mobile.jpg") no-repeat center top;
		height: 124px;
	}
	
	.calendar-options
	{
		padding: 2rem 0;
		max-width: 100%;
		overflow: hidden;
	}
	
	.calendar-options h3
	{
		width: 100%;
		text-align: center;
	}
	
	#contests-type-list > .row > div
	{
		width: 40%;
	}
	
	#contests-type-list > .row > div:last-of-type
	{
		width: 60%;
	}
	
	.calendar-table .date
	{
		font-size: 14px;
	}
	
	.event + .popover
	{
		padding: .1rem 1.5rem .5rem;
		font-size: 14px;
	}
	
	.event + .popover:before
	{
		width: 18px;
		height: 18px;
		left: calc(50% - 9px);
		bottom: -9px;
	}
	
	.event + .popover,
	.event + .popover > div,
	.event .popover-content,
	.event .popover-content p
	{
		font-size: 14px;
	}
	
	.contest-table-block .spoiler-head.active + .spoiler-body
	{
		overflow: auto;
	}
	
	.contest-table-block .spoiler-body .table tbody > tr > th,
	.contest-table-block .spoiler-body .table tbody > tr > td,
	.contest-table-block .spoiler-body .table tbody > tr > td > div,
	.contest-table-block .spoiler-body .table tbody > tr > td > p
	{
		font-size: 14px;
	}
}