body, div, img, p, span, h1, h2, h3 {margin: 0; padding: 0; display: block;}
@font-face { font-family: 'Cadman-Regular'; src: url('fonts/Cadman_Roman.otf') format('OpenType'); }
@font-face { font-family: 'Cadman-Bold'; src: url('fonts/Cadman_Bold.otf') format('OpenType'); }
body
{	
	width: 100%;
	line-height: 20px;
	font-family: Cadman-Regular, Helvetica, Arial, sans-serif;
	font-size: 14px;
	color: #000000;
}
a
{
	color: #ff606E;
	cursor: pointer;
}
a:hover
{
	transform: scale(1.2);
	transition: transform 0.3s linear;
}
.spicon { background-image: url('../system/iconset.png'); }
/* -------------------------------------- 	   Lazy Load		-------------------------------------- */
.lazyimg
{
	background-image: url(../system/loading-cupcake.gif); 
	background-size: 100px 100px;
	background-position: center center;
	background-repeat: no-repeat;
}
img[data-src] { opacity: 0; }
img { opacity: 1; transition: opacity 0.5s linear; }
/* -------------------------------------- 	   Banner		-------------------------------------- */
.banner
{
	display: block;
	width: 550px;
	margin: 0 auto;
}
.banner img
{
	display: block;
	width: 100%;
}
/* -------------------------------------- 	   Navigation		-------------------------------------- */
nav
{
	position: relative;
	display: inline-block;
	width: 100%;
	margin: 15px 0 15px 0;
	font-size:22px;
	font-family: Cadman-Bold;
}
nav:after
{
	display: table;
	content: "";
	clear: both;
}
nav .navicon{ display: none; }
nav ul 
{
	width: 880px;
	margin: 0 auto;
	padding: 0;
	border-top: 1px solid #808080;
	text-align: center;
	list-style: none;
}
nav ul li
{
	display: inline-block;
	margin: 0 auto;
	padding: 0;
}
nav a
{
	display: block;
	padding: 0 30px;
	line-height: 3em;
	text-decoration: none;
	color: #000000;
}
nav ul li ul li:hover { background: #fbf1fb; }
nav a:hover
{
	color: #ff606E;
	text-shadow: 1px 1px #000000;
	transform: scale(1.15);
	transition: all 0.3s linear;
}
nav ul ul
{
	position: absolute;
	top: 60px;
	margin: 0;
	display: none;
	width: 250px;
	text-align: left;
	background-color: #fff9ff;
	border-top: none;
	border-left: 1px solid #fbf1fb;
	border-right: 1px solid #fbf1fb;
	border-bottom: 1px solid #fbf1fb;
	z-index: 10;
}
nav ul ul a
{
	font-size: 1em;
	line-height: 2em;
	color: #000000;
}
nav ul ul a:hover { color: #ff606E; }
nav ul li:hover > ul { display: block; /*inherit*/ }
nav ul ul li
{
	position: relative;
	display: list-item;
	float: none;
}
nav ul ul ul li
{
	position: relative;
	top: -60px;
	left: 170px;
}
li > a:after { content: ''; }
li > a:only-child:after { content: ''; }
.toggle, [id^=drop] { display: none; }

/* -------------------------------------- 	   Footer		-------------------------------------- */
#footer
{
	display: block;
	float: left;
	width: 100%;
	padding: 40px 0 40px 0;
	overflow: hidden;
}
#footer .social
{
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
#footer .social a
{
	display: inline-block;
	width: 74px;
	height: 74px;
	margin: 0 20px;
}
#footer .social .socialico
{
	display: block;
	width: 100%;
	height: 100%;
	background-size: 450px 300px;
}
#icofb { background-position: -300px -151px; }
#icoig { background-position: -375px -151px; }
#footer .info
{
	display: block;
	float: left;
	width: 100%;
	text-align: center;
}
#footer .info .cell
{
	display: inline-block;
	width: 350px;
	padding: 0 15px;
	margin: 30px auto 0 auto;
}
#footer .info .cell a
{
	display: inline-block;
	width: 100%;
	margin: 0 auto;
	text-decoration: underline;
}
#footer .info .cell .fico
{
	width: 50px;
	height: 50px;
	margin: 0 auto;
	background-size: 300px 200px;
}
#ficohouse { background-position: -100px -50px; }
#ficoemail { background-position: 0px -50px; }
#ficophone { background-position: -50px -50px; }
#footer .info .cell span
{
	display: block;
	width: 100%;
	font-size: 20px;
	line-height: 1.5em;
}
#footer a:hover
{
	transform: scale(1.2);
	transition: all .3s linear;
}
#footer .table
{
	display: block;
	float: left;
	width: 100%;
	margin: 30px 0 0 0;
	overflow: hidden;
}
#footer table
{
	width: 100%;
	font-size: 20px;
	line-height: 1.4em;
}
#footer table td
{
	width: 50%;
}
#footer table .hours_cell_l
{
	text-align: right;
	padding-right: 1em;
}
#footer table .hours_cell_r
{
	text-align: left;
	padding-left: 1em;
}
#hours_open
{
	color: #008031;
	font-weight: bold;
}
#hours_close
{
	color: #ff3131;
	font-weight: bold;
}
/*#footer table .hours_sign{ margin-left: 0.4em; }*/
#copyright
{
	display: block;
	float: left;
	width: 100%;
	margin: 30px 0 0 0;
	font-size: 1.1em;
	text-align: center;
}

/* -------------------------------------- 	   Mobile		-------------------------------------- */
@media all and (max-width : 880px)
{
	.banner
	{
		width: 70%;
		margin: 80px auto 0 auto;
	}
	nav
	{
		display: block;
		width: 100%;
		position: fixed;
		top: 0; left: 0;
		margin: 0;
		padding: 0;
		font-size: 30px;
		z-index: 9;
		background-color: #fbf1fb;
	}
	#menu
	{
		background-color: #ffffff;
	}
	nav a, nav ul, nav ul li, nav ul li a
	{
		padding: 0;
		margin: 0;
	}
	nav a:hover
	{
		transform: none;
	}
	/* -------------------------------------- 	   Icons		-------------------------------------- */
	nav .navicon, nav .navicon_r
	{
		display: block;
		float: left;
		width: 40px;
		height: 40px;
		margin: 5px 11px 5px 11px;
		cursor: pointer;
		background-size: 240px 160px;
	}
	nav .navicon_r
	{
		float: right;
		margin: 5px 15px 5px 15px;
	}
	#icomenu { background-position: 0px 0px; } /* horizontal, vertical */
	#icoemail, #contactico { background-position: 0px -40px; }
	#icophone { background-position: -40px -40px; }
	#homeico { background-position: -80px -40px; }
	#faqico { background-position: -120px -40px; }
	#cakeico { background-position: -200px -40px; }
	#classesico { background-position: 0px -120px; }
	#weddingico { background-position: -160px -40px; }
	#corpico { background-position: 0px -80px; }
	#cupcakeico { background-position: -40px -80px; }
	#babyico { background-position: -80px -80px; }
	#croqico, #macaico { background-position: -120px -80px; }

	.toggle + a, .menu{ display: none; }
	.toggle
	{
		display: block;
		padding: 0;
		color: #3d3d3d;
		border: none;
	}
	.toggle:hover
	{
		background-color: #de9a9a;
	}
	.toggle, nav a
	{
		line-height: 55px;
	}
	[id^=drop]:checked + ul
	{
		display: block;
		float: left;
		width: 100%;
		height: 350px;
		height: 100vh;
		padding-bottom: 40px; /*corresponds to height of menu bar*/
		overflow: auto;
		text-align: left;
	}
	nav a
	{
		display: block;
		color:#3d3d3d;
		text-decoration: none;
	}
	nav a:hover
	{
		color: #ffffff; 
		background-color: #de9a9a;
	}
	nav ul ul a{ color: #3d3d3d;}
	nav ul ul a:hover { color: #ffffff; }
	nav ul li
	{
		display: block;
		width: 100%;
		border-bottom: 1px solid #c2c2c2;
	}
	nav ul li span
	{
		display: block;
		margin-top: 10px;
	}
	nav ul ul
	{
		position: static;
		float: left;
		color: #3d3d3d;
		height: auto !important;
	}
	nav ul ul li
	{
		display: block;
		width: 100%;
	}
	nav ul ul ul li { position: static; }
	nav ul ul li:hover > ul, nav ul li:hover > ul { display: none; }

	@media all and (max-width : 400px)
	{
		#footer .info .cell
		{
			width: 100%;
			padding: 0;
		}
	}

	@media all and (max-width : 330px)
	{
		nav ul li
		{
			display: block;
			width: 94%;
		}
	}
}
