html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, textarea, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-weight:inherit;
	font-style:inherit;
	font-size:100%;
	font-family:inherit;
	vertical-align:top;
	font-weight: 300;
}

/* ----------------------------------------------------------------------------------------*/

body {
	font-family: 'Open Sans', Arial;
	font-size: 16px;
	background: #fff;
}
			
input, textarea, select {
	font-family: 'Open Sans', Arial;
	font-size: 15px;
	color: #777;
	font-weight: 300;
}

header {
	height: 60px;
	background: #000;
	color: #fff;
}

header nav ul {
	float: right;
}

header nav ul li {
	
	float: left;
	list-style: none;
	
}
	
header nav ul li a {
	text-decoration: none;
	padding: 18px 7px 15px 7px;
	display: block;
	border-bottom: 5px solid #000;
}

header nav ul li a:hover {
	border-bottom: 5px solid #333;
}

header nav ul li a.current {
	border-bottom: 5px solid #fa17d8;
}

header h1 {
	float: left;
	margin-left: 30px;
	margin-top: 5px;
	height: 50px;
	width: 145px;
	background: url("../img/logo.gif");
	background-size: 145px 50px;
	font-size: 0;
	text-indent: -9999px;
	
}



header nav {
	float: right;
	text-align: right;
	margin-right: 15px;
}
	
header nav a {
	color: #fff;
}

.container {
	width: 100%;
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}

.hidden {
	display: none;
}

section#gifs {
	background: #fff;
	margin-bottom: 30px;
}


form input, form select {
	padding: 8px;
	box-sizing: border-box;
	margin-bottom: 20px;
	transition: all 0.3s ease-in-out 0s;
	-moz-transition: all 0.3s ease-in-out 0s;
	-webkit-transition: all 0.3s ease-in-out 0s;
	border: 1px solid #ccc;
}	
	
fieldset.outer {
	box-sizing: border-box;
	padding: 0px;
	margin-bottom: 0px;
}
	
fieldset h2 {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 2px;
}

fieldset.inner {
	float: left;
	margin-right: 20px;
}

#modal h2 {
	font-size: 17px;
	font-weight: 300;
	margin-bottom: 25px;
	border-bottom: 5px solid #444;
	position: absolute;
	top: 0;
	left: 0;
	padding-left: 120px;
	padding-top: 25px;
	width: 100%;
	background: #555;
	box-sizing: border-box;
	color: #fff;
	padding-bottom: 35px;
	transition: all 0.3s ease-in-out 0s;
	-moz-transition: all 0.3s ease-in-out 0s;
	-webkit-transition: all 0.3s ease-in-out 0s;
}
	
#modal h3 {
	font-size: 12px;
	font-weight: 300;	
	position: absolute;
	top: 0;
	left: 0;
	padding-left: 120px;
	padding-top: 50px;
	color: #eee;
	transition: all 0.3s ease-in-out 0s;
	-moz-transition: all 0.3s ease-in-out 0s;
	-webkit-transition: all 0.3s ease-in-out 0s;		
}
		
h3 {
	font-size: 20px;
	font-weight: 300;
	margin-bottom: 25px;
	
}

.fade {
	opacity: 0.5;
	-moz-opacity: 0.5;
	-webkit-opacity: 0.5;
}
		
#lean_overlay {
	position: fixed;
	z-index:100;
	top: 0px;
	left: 0px;
	height:100%;
	width:100%;
	background: #000;
	display: none;
}

#modal {
	display: none;
	background: #f0f0f0;
	width: 90%;
	max-width: 940px;
	box-sizing: border-box;
	overflow-y:scroll;
	max-height: 730px;
	top: 40px !important;
}
		
#breakdown {
	background: #ddd;
	padding: 10px;
	box-sizing: border-box;
	margin-bottom: 10px;
}

#inner_modal {
	padding: 30px;
	box-sizing: border-box;
	position: relative;
}

.modal_close {
	background: url("../shoppingcart/img/modal_close.png") no-repeat;
	background-size: 40px 40px;
	display: block;
	height: 40px;
	position: absolute;
	right: 30px;
	top: 26px;
	width: 40px;
	z-index: 2;
}

img#thumb {
	width: 80px;
	height: 45px;
	position: absolute;
	top: 27px;
	left: 30px;
	z-index: 99;
	transition: all 0.3s ease-in-out 0s;
	-moz-transition: all 0.3s ease-in-out 0s;
	-webkit-transition: all 0.3s ease-in-out 0s;
}

section#gifs div.column {
	margin-left: 10px;
	margin-right: 10px;
	margin-bottom: 30px;
	width: 300px;
	float: left;
	transition: all 0.3s ease-in-out 0s;
	-moz-transition: all 0.3s ease-in-out 0s;
	-webkit-transition: all 0.3s ease-in-out 0s;
}

section#gifs div.column .spot {
	
	width: 100%;
	/*padding-bottom: 56.25%;*/
	background-size: cover;		
}

input[type="button"] {
	background: #fb17d8;
	border: 0;
	color: #fff;
	cursor: pointer;
	width: 75%;
	border-sizing: border-box;
	margin-bottom: 0;
}

input#getAccount {
	background: #ddd;
	border: 0;
	color: #555;
	cursor: pointer;
	width: 25%;
	border-sizing: border-box;
	margin-bottom: 0;
}

form input {
	padding-top: 9px;
	padding-bottom: 9px;
}

td.label {
	padding-top: 10px;
	font-weight: 400;
	font-size: 14px;
}

#inner_modal table tr td input[type="text"], #inner_modal table tr td select {
	width: 260px;
}

form textarea {
	background: #fff;
	border: 1px solid #ccc;
	padding: 8px;
	box-sizing: border-box;
	width: 260px;
	resize: none;
	margin-bottom: 20px;
}

form input[type="text"]:focus, form select:focus, form textarea:focus {
	border: 1px solid #fb17d8;
}

div#usageContainer {
	position: relative;
}

div#usageJoiner {
	position: absolute;
	top: 42px;
	right: 0;
	background: #fff;
	width: 260px;
	height: 20px;
	z-index: 99;
	background: url(../shoppingcart/img/down.png) center center no-repeat;
	background-size: 10px 10px;
}

form#search {
	position: relative;
}

form#search input#search {
    background: #fff none repeat scroll 0 0;
    border: 0 none;
    color: #444;
    margin-right: 32px;
    padding-bottom: 7px;
    padding-top: 7px;
	font-size: 13px;
	border-radius: 3px 0 0 3px;
	-moz-border-radius: 3px 0 0 3px;
	-webkit-border-radius: 3px 0 0 3px;
	margin-bottom: 0;
}
input.search {
    background: #333 url("../img/search.png") no-repeat scroll center center;
    border: 0 none;
    border-radius: 0 3px 3px 0;
    color: #fff;
    font-size: 0;
    height: 32px;
    position: absolute;
    right: 0;
    top: 15px;
    width: 32px;
	margin-bottom: 0;
}
input.search:hover {
    background: #444 url("../img/search.png") no-repeat scroll center center;
    cursor: pointer;
}

@media (max-width: 639px) {
		
	/* --- 1 column --- */
	

	
	/* remove hearts from overlay */
	
	
		.overlay img {
			display: none !important;
		}
	
	div#header {
		padding-bottom: 0 !important;
		margin-bottom: 10px !important;
	}
	
	/* remove hearts from overlay */
	
	p#get_started, img#small_heart {
		
		display: none;
		
	}
	
	a#showForm {
		width: 100% !important;
		box-sizing: border-box;
	}
	
	input#checkout_now {
		width: 85% !important;
	}
	
	a.empty {
		width: 100% !important;
		box-sizing: border-box;
		margin-left: 0 !important;
	}
	
	
	img#heart, div#counter {
			display: none;
		}
		
		a.checkout {
			display: block;
			margin-bottom: 20px;
		}
	
	div#header form#filter {	
		margin-left: 5%;
		margin-right: 5%;		
	}
	
	div#pagination {
		
		margin-left: 5% !important;
		margin-right: 5% !important;
		text-align: center;
		
	}
	
	.dropdown {
		margin-bottom: 20px;
	}
	
	div#header input#search {
		margin-right: 0 !important;
	}
	
	div#header form#search {
		float: none !important;
		margin-left: 5% !important;
		margin-right: 5% !important;
		box-sizing: border-box;
		
	}
	
	div#header form div {
		float: none !important;
		box-sizing: border-box;
		margin-right: 0 !important;
	}
	
	div#header form input#search {
		width: 70% !important;
		box-sizing: border-box;
	}
	
	div#header form input.search {
		width: 30% !important;
		box-sizing: border-box;
	}
	
	
	
	section#gifs div.column {
		width: 90% !important;
		margin-left: 5%;
	}
	
	fieldset#projectDescription table {
		max-width: 900px !important;
	}
	
img.avatar {
		float: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
		display: block;
		margin-bottom: 5px !important;
	}

	p.jobTitle {
		
		font-size: 12px;
		text-align: center !important;
		margin-bottom: 20px;
		
	}
	
	#breakdown {	
		margin-bottom: 20px;
	}
	
	input#getAccount {
		margin-top: 20px;
	}
	
	div#usageJoiner {
		top: 42px;
		right: 0;
		
		width: 100%;
		height: 50px;

		
		background-size: 10px 10px;
	}
	
	fieldset#askForPrice, fieldset#askForPrice input {
		width: 100% !important;
	}
	
	#modal table tr td {
		display: block;
	}
	
	img#thumb, .byTalent {
		display: none;
	}
	
	
	
	#modal h2 {
		font-size: 14px !important;
		
		padding-left: 30px;
		padding-top: 28px;
		padding-bottom: 38px;
			
	}
	
	#modal h3 {
		font-size: 12px;
		padding-left: 30px;
		padding-top: 48px;
	}
	
	.modal_close {

		background-size: 30px 30px;
		height: 30px;
		position: absolute;
		right: 20px;
		top: 30px;
		width: 30px;
		z-index: 2;
	}
	
	
	
	
	header h1 {
		margin-left: 5%;
	}
	
	fieldset#askForPrice {
		float: none !important;
		margin-left: 0 !important;
	}
	
	#modal {
		
			overflow-y:scroll;
			top: 20px !important;
			bottom: 20px !important;
	}
	
	
	
	form input, form select {
		width: 100% !important;
		padding: 8px;
		box-sizing: border-box;
		margin-bottom: 20px;
	}
	
	
	
	input[type="submit"] {
		margin-bottom: 0;
	}
	
	#inner_modal form table tr td textarea, #inner_modal form table tr td select {
		width: 100%;
	}
	
	footer {
		margin-left: 5% !important;
		margin-right: 5% !important;
	}
	
	footer p {
		text-align: center;
	}
		
		
}
	
	@media (min-width: 640px) and (max-width: 959px) {
		
		/* --- 2 columns --- */
		
		img#heart, div#counter {
			display: none;
		}
		
		div#header {
		padding-bottom: 0 !important;
		margin-bottom: 10px !important;
	}
		
		p#get_started, img#small_heart {
		
		display: none;
		
	}
	
	a.empty {
		margin-left: 0 !important;
	}
	
	input#checkout_now {
		width: 92% !important;
	}
	
	a#showForm {
		width: 100% !important;
		box-sizing: border-box;
	}
		
		a.checkout {
			display: block;
			margin-bottom: 20px;
		}
		
		div#header form#filter {
			
			margin-left: 2%;
			margin-right: 2%;
			
			
		}
		
		div#pagination {
			
			margin-left: 2% !important;
			margin-right: 2% !important;
			
		}
		
		.dropdown {
			margin-bottom: 20px;
		}
		
		div#header input#search {
			margin-right: 0 !important;
		}
		
		div#header form#search {
			float: none !important;
			margin-left: 2% !important;
			margin-right: 2% !important;
			box-sizing: border-box;
			
		}
		
		div#header form div {
			float: none !important;
			box-sizing: border-box;
			margin-right: 0 !important;
		}
		
		div#header form input#search {
			width: 70% !important;
			box-sizing: border-box;
		}
		
		div#header form input.search {
			width: 30% !important;
			box-sizing: border-box;
		}
		
		
		
		
		section#gifs div.column {
			width: 46% !important;
			margin-left: 2% !important;
			margin-right: 2% !important;
			
			float: left;
			
		}
		
		fieldset#projectDescription table {
			max-width: 900px !important;
		}
		
		#breakdown {
			
			margin-bottom: 20px;
		}
		
		img.avatar {
			float: none !important;
			margin-left: auto !important;
			margin-right: auto !important;
			display: block;
			margin-bottom: 5px !important;
		}
	
		p.jobTitle {
			
			font-size: 12px;
			text-align: center !important;
			margin-bottom: 20px;
			
		}
		
		#modal table tr td {
			display: block;
		}
		
		div#usageJoiner {
			top: 42px;
			right: 0;
			
			width: 100%;
			height: 50px;

			
			background-size: 10px 10px;
		}
		
		fieldset#askForPrice, fieldset#askForPrice input {
			width: 100% !important;
		}
		
		#modal table tr td {
			display: block;
		}
		
		#modal { 
			overflow-y:scroll;
			top: 20px !important;
			bottom: 20px !important;
		}
		
		header h1 {
			margin-left: 2%;
		}
		
		form input, form select {
			width: 100%;
			padding: 8px;
			box-sizing: border-box;
			margin-bottom: 20px;
		}
		
		fieldset#askForPrice {
			float: none !important;
			margin-left: 0 !important;
		}
		
		fieldset#price {
			clear: both;
		}
		
		fieldset#askForPrice input {
			width: 100% !important;
		}
		
		#inner_modal form table tr td textarea, #inner_modal form table tr td select {
			width: 100%;
		}
		
		footer {
			margin-left: 2% !important;
			margin-right: 2% !important;
		}
		
	}
	
	
	.unavailable {
		opacity: 0;
		-moz-opacity: 0;
		-webkit-opacity: 0;
		transition: all 0.3s ease-in-out 0s;
		-moz-transition: all 0.3s ease-in-out 0s;
		-webkit-transition: all 0.3s ease-in-out 0s;
		cursor: auto;
	}
	
	.semiOpaque {
		
		opacity: 0.5;
		-moz-opacity: 0.5;
		-webkit-opacity: 0.5;
		
	}
	
	.error {
		background: #ffdfdf;
		border: 1px solid #ffa4a3
	}
	
	.pink {
		color: #fb17d8;
	}
	
	p#errorMessage {
		font-size: 14px;
		padding-top: 10px;
	}
	
	img.avatar {
		
		width: 60px;
		float: right;
		margin-left: 10px;
		border-radius: 50%;
		-moz-border-radius: 50%;
		-webkit-border-radius: 50%;
		margin-bottom: 20px;
		
		
	}
	
	p.jobTitle {
		
		font-size: 12px;
		text-align: right;
		padding-top: 5px;
		
	}
	
.overlay {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #222;
	opacity: 0.7;
	-moz-opacity: 0.7;
}

.spot h3 {
	color: #fff;
	display: block;
	opacity: 0;
	font-size: 13px;
	font-weight: 300;
	margin-left: 0;
	padding: 0;
	padding-left: 10px;
	padding-right: 10px;
	box-sizing: border-box;
	position: absolute;
	text-align: center;
	text-transform: uppercase;
	top: 44%;
	width: 100%;
	z-index: 999;
	transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  max-height: 35px;
  overflow: hidden;
}

.spot:hover h3 {
	top: 39%;
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
}
			
.spot h4 {
	color: #fff;
	display: block;
	font-size: 18px;
	padding: 0;
	position: absolute;
	text-align: center;
	/*text-transform: uppercase;*/
	top: 48%;
	width: 100%;
	z-index: 999;
	opacity: 0;
	-moz-opacity: 0;
	-webkit-opacity: 0;
	-moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  font-weight: 300;
}

.spot:hover h4 {
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	top: 43%;	
}
			
.spot h5 {
	color: #fff;
	display: block;
	font-size: 12px;
	padding: 0;
	position: absolute;
	text-align: center;
	text-transform: uppercase;
	top: 80%;
	left: 50%;
	width: 90px;
	margin-left: -45px;
	z-index: 999;
	opacity: 0;
	-moz-opacity: 0;
	-webkit-opacity: 0;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	font-weight: 300;
}

.spot:hover h5 {
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	top: 70%;
	border-bottom: 1px solid #fa17d8;
}
	
div#pagination {
	margin-left: 10px;
	margin-right: 10px;
	margin-bottom: 20px;
	font-size: 12px;
	
}

div#pagination span.disabled {
	display: none;
}

div#pagination a {
	margin-right: 20px;
	font-size: 12px;
	color: #fa17d8;
	text-decoration: none;
	transition: all 0.3s ease-in-out 0s;			
}

div#pagination a:hover {
	text-decoration: underline;
	color: #e91262;
}
				
				
				
div#header h2 {
	color: #fff;
	padding-top: 20px;
	margin-left: 25px;
	font-weight: 300;
	margin-bottom: 0;
	padding-bottom: 0;
	float: left;
	margin-right: 20px;
}

div#header {
	background: #555;
	vertical-align: middle;
	margin-bottom: 30px;
}

footer {
	margin-left: 10px;
	margin-right: 10px;
}

footer p {
	padding-top: 20px;
	border-top: 1px dashed #bbb;
	font-size: 12px;
	color: #bbb;
	padding-bottom: 20px;
	
}

a.checkout, a.pink, input.pink {
	padding: 10px 15px;
	font-size: 12px;
	text-decoration: none;
	background: #fa17d8;
	color: #fff;
	border-radius: 0;
}

a.heart_cta, input.heart_cta {
	padding: 10px 15px;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	background: #fff;
	border: 1px solid #ddd;
	border-top: 0;
	text-align: center;
	border-radius: 0;
	color: #555;
	text-transform: uppercase;
	background: url(../img/love_basket.png) 28% 9px no-repeat;
	background-size: 33px 20px;
	transition: all 0.3s ease-in-out 0s;
	-moz-transition: all 0.3s ease-in-out 0s;
	-webkit-transition: all 0.3s ease-in-out 0s;

}

a.heart_cta:hover, input.heart_cta:hover {
	
	color: #fff;
	border: 1px solid #fa17d8;
	border-top: 0;
	background: url(../img/love_basket_hover.png) 28% 9px no-repeat #fa17d8;
	background-size: 33px 20px;
	
}

div.information {
	background: url(../img/information.png) 14px 11px no-repeat #DBE3FF;
    border: 1px solid #A2B4EE;
	border-radius: 3px;
	-moz-border-radius: 3px;
	padding: 10px;
	padding-left: 32px;
	margin-bottom: 30px;
	color: #585B66;
	text-align: left;
	margin-left: 30px;
	margin-right: 30px;
	font-family: Arial, Sans-serif;
	margin-left: 20px;
	margin-right: 20px;
}

div.information a {
	color: #585B66;
}

/* --- notification divs --*/

div.alert-success {
		background: #dff0d8;
		border: 2px solid #d6e9c6;
		border-radius: 3px;
		-moz-border-radius: 3px;
		-webkit-border-radius: 3px;
		padding: 15px;
		color: #3c763d;
	}
	
	div.alert-error {
		background: #f2dede;
		border: 2px solid #ebccd1;
		border-radius: 3px;
		-moz-border-radius: 3px;
		-webkit-border-radius: 3px;
		padding: 15px;
		color: #a94442;
	}
	
	div.alert-information {
		background: #d9edf7;
		border: 2px solid #bce8f1;
		border-radius: 3px;
		-moz-border-radius: 3px;
		-webkit-border-radius: 3px;
		padding: 15px;
		color: #31708f;	
	}
	
	div.alert-attention {
		background: #fcf8e3;
		border: 2px solid #faebcc;
		border-radius: 3px;
		-moz-border-radius: 3px;
		-webkit-border-radius: 3px;
		padding: 15px;
		color: #8a6d3b;		
	}

	
	a.removep {
		margin-top: 5px;
	}
	
	a.empty {
		color: #555;
		border: 1px solid #555;
		padding: 9px;
		padding-bottom: 8px;
		text-decoration: none;
		display: block;
	}
	
	
	a#showForm, input#checkout_now {
		background: url("../img/get_price.png") 10px center no-repeat #fa17d8 !important;
		background-size: 20px 20px !important;
	}
	
	
	
	/* about page */
	
	
		.column h4 {
			
				text-align: center;
				font-weight: 400;
				margin-top: 20px;
				margin-bottom: 10px;
				
			
		}
		
		.column p {
			text-align: center; margin-bottom: 10px;
		}
		
		.column p a {
			color: #fa17d8;
		}
	
	
	/* about page */
	
	table tr td {
		padding-top: 10px;
		padding-bottom: 10px;
		border-bottom: 1px solid #ddd;
	}
	
	table tr.header td {
		background: #000;
		color: #fff;
		font-weight: 600;
	}
	
	table tr.header td:first-child {
		padding-left: 10px;
	}
	
	
	table tr.header td:last-child {
		padding-right: 10px;
	}