@font-face {
  font-family: 'Dosis';
  font-style: normal;
  font-weight: normal;
  src: local('Dosis Light'), local('Dosis-Light'), url(http://themes.googleusercontent.com/static/fonts/dosis/v1/GpmMKE0dnXylect5ObzLR3YhjbSpvc47ee6xR_80Hnw.woff) format('woff');
}
@font-face {
  font-family: radiCal;
  font-style: normal;
  font-weight: normal;
  src: url('../imgs/radiCal_Icons.otf');
}

html, body, div, section, header, h1, h2, h3, h4, h5, h6, p, svg{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html, body{
	width: 100%;
	height: 100%;
}
html{
	font-size: 62.5%;
}
body{
	font-family: Dosis, Helvetica, sans-serif;
}

.icon_button{
	padding: 0;
	font-family: 'radiCal';
	font-size: 4rem;
	padding: 0 .2em;
}

/* ! •••••••••• COLORS •••••••••• */
[data-category="1"]{
	background-color: hsla(0, 86%, 64%, .75);
	fill: 			  hsla(0, 86%, 64%, .75);	
}
[data-category="2"]{
	background-color: hsla(16, 87%, 62%, .75);
	fill: 			  hsla(16, 87%, 62%, .75);
}
[data-category="3"]{
	background-color: hsla(33, 88%, 58%, .75);
	fill: 			  hsla(33, 88%, 58%, .75);
}
[data-category="4"]{
	background-color: hsla(45, 88%, 56%, .75);
	fill: 			  hsla(45, 88%, 56%, .75);
}
[data-category="5"]{
	background-color: hsla(174, 78%, 36%, .75);
	fill: 			  hsla(174, 78%, 36%, .75);
}
[data-category="6"]{
	background-color: hsla(176, 60%, 50%, .75);
	fill: 			  hsla(176, 60%, 50%, .75);
}

/* ! •••••••••• HEADER •••••••••• */
header{
	font-size: 1.6rem;
	height: 3.5rem;
	line-height: 3.5rem;
	text-align: center;
	background-color: #fff;
	box-shadow: 0 0 3px rgba(0,0,0,0.2);
	margin: 0;
	z-index: 1000;
}
	#head_title{
		font-size: 1em;
		font-weight: normal;
		display: inline-block;
		position: relative;
	}
	#head_title::before{
		content: '^';
		position: absolute;
		top: 0;
		font-family: 'radiCal';
		font-size: 3em;
		opacity: 0;
		-webkit-transform: translateY(.25em) translateX(-.5em);
		-webkit-animation: carat_out .5s ease-out;
	}
	.detailView #head_title::before{
		-webkit-animation: carat_in .5s ease-out forwards;
	}
	@-webkit-keyframes carat_in{
		from{
			-webkit-transform: translateY(.25em) translateX(-.5em);
			opacity: 0;
		}
		to{
			-webkit-transform: translateY(0) translateX(-.5em);
			opacity: 1;
		}
	}
	@-webkit-keyframes carat_out{
		from{
			-webkit-transform: translateY(0) translateX(-.5em);
			opacity: 1;
		}
		to{
			-webkit-transform: translateY(-.25em) translateX(-.5em);
			opacity: 0;
		}
	}
	#menu_btn{
		float: right;
	}
	#search_btn{
		float: left;
	}
	.show_options_menu #menu_btn{
		background-color: #ddd;
	}

/* ! •••••••••• CONTENT •••••••••• */
#content{
	position: absolute;
	top: 3.5rem;
	left: 0;
	bottom: 0;
	right: 0;
	overflow: hidden;
}

/* !••••• GRID VIEW ••••• */
#grid_view{
	position: absolute;
	top: 0; left: 0; bottom: 0; width: 100%;
	background-color: hsla(10, 15%, 70%, .2);
	-webkit-overflow-scrolling: touch;
	overflow-y: scroll;
}
	.week{
		width: 100%;
		padding: 0;
		margin: 0 0 -2px;
		-webkit-user-select: none;
	}
	.day_visual{
		display: inline-block;
		position: relative;
		width: 14.25vw;
		height: 14.25vw;
		padding: .5vw;
		margin: 0;
	}
	.day_visual circle{
		stroke-width: 2;
		stroke: #fff;
		fill: transparent;
	}
	.day_visual text{
		text-anchor: middle;
		font-family: 'Dosis', Helvetica, sans-serif;
	}
	.day_visual.highlight circle{
		fill: #fff;
		stroke-width: 0;
	}
	.day_visual:first-of-type circle,
	.day_visual:last-of-type circle{
		stroke: hsla(10, 50%, 64%, .2);
	}
	.day_visual.highlight:first-of-type circle,
	.day_visual.highlight:last-of-type circle{
		fill: hsla(10, 50%, 64%, .2);
	}
	.day_visual.today circle,
	.day_visual.highlight.today circle{
		fill: #000;
		stroke-width: 0;
	}
	.today text{
		fill: #fff;
	}

/* ! •••••••••• INFO PANE •••••••••• */
#info_pane{
	left: 0;
	overflow: hidden;
	color: #444;
	background-color: hsla(10, 15%, 70%, .1);
	box-shadow: 0 0 3px rgba(0,0,0,0.2) inset;
	padding: .25em 1.25em .25em .5em;
	font-size: 1.6rem;
}
	.info_text{
		-webkit-overflow-scrolling: touch;
		overflow: auto;
		margin-bottom: 3rem;
	}
	[contenteditable]{
		border-bottom: solid 1px transparent;
	}
	[contenteditable]:focus{
		outline: none;
		border-bottom: dotted 1px #999;
		color: hsl(0, 40%, 30%);
	}
	.title{
		font-weight: normal;
	}
	.notes{
		margin-top: .5em;
	}
	.color_strip{
		display: inline-block;
		height: 100%;
		position: absolute;
		right: 0;
		top: 0;
		vertical-align: bottom;
	}
	.color_strip .icon_button{
		line-height: 1;
		display: inline-block;
		color: #fff;
	}

#info_pane, #options_menu{
	position: absolute;
	top: 0;
	width: 100%;
	height: 35%;
	box-sizing: border-box;
	-webkit-transition: all .4s ease-out;
	transition: all .4s ease-out;
}
.show_options_menu #info_pane, .show_options_menu #options_menu{
	-webkit-transform: translateX(-100%);
}

/* ! •••••••••• OPTIONS MENU •••••••••• */
#options_menu{	
	position: absolute;
	left: 100%;
	background-color: #ddd;
	text-align: center;
	font-size: 2.2rem;
}
	.new_btns{
		height: 100%;
		width: 100%;
		background-color: #fff;
		font-family: Times;
		display: -webkit-flex;
		box-sizing: border-box;
	}
	.new_btn{
		position: relative;
		height: 100%;
		-webkit-flex: 1 1 auto;
	}
	.new_btn::after{
		content: '\2b';
		display: block;
		position: absolute;
		width: 100%;
		bottom: 1em;
		text-align: center;
	}

/* ! •••••••••• DETAIL VIEW •••••••••• */
#detail_view{
	position: absolute;
	width: 100%;
	height: 100%;	
	left: 0;
	bottom: 100%;
	background-color: #fff;
/* 	background-color: #f2eeed; */
	-webkit-transition: all .5s ease-out;
	transition: all .5s ease-out;
}
.detailView #detail_view{
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
	#knob_pane{
		position: absolute;
		left: 0;
		bottom: 0;
		height: 65%;
		width: 100%;
	}
	.knob{
		display: block;
		margin: 5% auto 0;
		height: 90%;
	}
	.knob circle{
		stroke-width: 2;
		stroke: black;
		fill: #fff;
}
	.knob text{
		text-transform: uppercase;
		text-anchor: middle;
		font-family: 'Dosis', Helvetica, sans-serif;
	}
	.knob .tick_marks{
		stroke: rgba(0,0,0,.2);
		stroke-width: .5;
	}
	
/* ! •••••••••• WEDGES •••••••••• */
	.wedge{
		cursor: pointer;
		-webkit-user-select: none;
	}
	
/* ! •••••••••• SEARCH VIEW •••••••••• */
#search_view{
	display: none;
	
	background: #ddd;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: .75em 0;
}
	.search{
		padding: .25em;
		font-size: .75em;
		width: 93%;
		border: none;
		box-shadow: none;
		border-radius: 2em;
	}
	.search::before{
		content: url('../imgs/search_icon.svg');
		float: left;
	}