/* Fonts
-------------------------------------------------------------- */

@import url(http://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700,300);

/* Defaults
-------------------------------------------------------------- */
body,ul,ol,dl,h1,h3,h4,h5,h6,td,th,caption,pre,p,blockquote,input,textarea,label
{
	font-family:"Open Sans",Verdana,Arial,Tahoma,sans-serif;
}

body,html
{
	height:100%;
}

body
{
	background-color:#333;
	color:#333;
}

body.home
{
	background-color:#fff;
}

body.user
{
	color:#fff;
}

hr
{
	display:none;
}

/* Common ID & Classes
-------------------------------------------------------------- */
#skip
{
	display:none;
}

.clear
{
	clear:both;
}

.hide
{
	display:none;
}

.left
{
	float:left;
}

.right
{
	float:right;
}

.text-left
{
	text-align:left;
}

.text-right
{
	text-align:right;
}

.last
{
	margin-bottom:0;
}

/* Headers
-------------------------------------------------------------- */
h1,h2,h3
{
}

h1
{
	display:block;
	margin-bottom:18px;
	padding:0 0 9px;
	border-bottom:1px solid #222;
	box-shadow:0 1px 0 rgba(255,255,255,0.1);
	font-weight:300;
	font-size:22px;
}

body.home h1
{
	border-bottom:1px solid #ddd;
	box-shadow: none;
}

h1.welcome
{
	font-size:18px;
}

h2
{
	margin:0 0 27px;
	padding:18px 0 5px;
	font-weight:300;
	font-size:21px;
}

body.user h2,body.gallery h2 {
	color: #fff;
	margin:0 10px 27px;
}

.loginform h2 {
	text-align: center;
	margin: 0;
}

h2 span
{
	margin-right:10px;
	color:#999;
}

h3
{
	margin-bottom:18px;
	padding-bottom:9px;
	border-bottom:1px solid #222;
	box-shadow:0 1px 0 rgba(255,255,255,0.1);
}

.imagelisting h4
{
	color:#333;
}

/* Text elements
-------------------------------------------------------------- */
p
{
	margin:0 0 1.5em;
}

ul
{
	margin:0 0 1.5em;
	list-style-position:inside;
	list-style-type:disc;
}

ul li
{
	margin:5px 0;
}

ol
{
	margin:0 0 1.5em;
	list-style:lower-roman;
	list-style-position:inside;
}

a,a:visited
{
	color:#333;
	text-decoration:none;
	-webkit-transition:color .25s ease-in;
	-moz-transition:color .25s ease-in;
	-o-transition:color .25s ease-in;
	transition:color .25s ease-in;
}

body.user a,body.user a:visited
{
	color:#fff;
}

a:hover
{
	color:#666;
	text-decoration:none;
}

strong
{
	font-weight:700;
}

em
{
	font-style:italic;
}

abbr
{
	border-bottom:1px dotted #999;
	cursor:help;
}

blockquote
{
	quotes:"\201C""\201D""\2018""\2019";
	text-align:center;
}

blockquote p
{
	display:inline;
	color:#435B75;
	text-shadow:0 1px 0 #F8F7F1;
	font-size:1.66em;
	font-family:Georgia,"Times New Roman",Times,serif;
	line-height:1.33em;
}

blockquote:before
{
	color:#ccc;
	content:open-quote;
	vertical-align:-.4em;
	font-size:4em;
	line-height:.1em;
}

blockquote:after
{
	color:#ccc;
	content:close-quote;
	vertical-align:-.4em;
	font-size:4em;
	line-height:.1em;
}

/* Common Text Classes
-------------------------------------------------------------- */
p.last
{
	margin-bottom:0;
}

.fa
{
	margin-right:10px;
	color:#999;
}

.error
{
	color:#fca904;
}

/* Main
-------------------------------------------------------------- */
#homecontent
{
	width: 100%;
	max-width:960px;
	background-color:#fcfcfc;
	margin: 0 auto;
	border-right: 1px solid #eee;
	border-left: 1px solid #eee;
}

#homecontent header
{
	padding:18px 5% 0;
}

#homecontent header .logo
{
	margin-bottom:18px;
	float: left;
}


#homecontent header h1
{
	border-bottom:none;
	box-shadow:none;
	font-size:28px;
}

.textblock
{
	padding:18px 5% 0;
}

.clientlogin
{
	float: right;
	margin-top: 18px;
}

.contentwrap
{
	position:relative;
	width: 660px;
	background-color:#fcfcfc;
}

.getintouch
{
	display:inline-block;
	margin:36px 0 36px 5%;
}

.boxed
{
	padding:18px 5% 0;
	border-top:1px solid #eee;
	border-bottom:1px solid #eee;
	background-color:#f5f5f5;
}

footer
{
	display:block;
	padding:18px 5%;
	border-top:1px solid #eee;
	font-size:12px;
	text-align: center;
}

.loginform {
	width: 200px;
	margin: 0 auto;
}

/* User
-------------------------------------------------------------- */
body.gallery,body.user
{
	background-color:#333;
	color: #fff;
}

body.gallery a, body.gallery a:visited,body.user a,body.user a:visited
{
	color: #fff;
}

body.gallery a:hover, body.user a:hover {
	color: #ccc;
}

body.gallery #container,body.user #container
{
	position:relative;
	margin:0 5%;
	padding:72px 0;
	width:90%;
}

.primarycontent
{
	margin:36px 20% 54px;
	width:60%;
	text-align:center;
}

#sidebar
{
	position:fixed;
	float:left;
	margin-top:73px;
	padding:18px 10px;
	width:20%;
	border-top:1px solid #2b2a2a;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	border-radius:5px;
	background-color:#2f2f2f;
}

#content
{
	float:right;
	width:75%;
	margin-top: 36px;
}

.textblock
{
	margin-bottom:36px;
}

.albumlisting li
{
	margin-bottom:5px;
	list-style:none;
}

.imagelisting li
{
	display:inline-block;
	margin:0 8px 18px 8px;
	padding:10px;
	border:1px solid #f0f0f0;
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
	border-radius:3px;
	background-color:#f8f8f8;
	box-shadow:0 0 1px rgba(0,0,0,0.7);
	list-style:none;
	text-align:center;
	vertical-align: top;
	width: 150px;
}

.imagelisting li:hover,.imagelisting li:focus
{
	background-color:#eee;
}

.imagelisting li label
{
	display:block;
	margin-bottom:5px;
}

.imagelisting img
{
	width:100%;
	height:auto;
}

.imagelisting li a,.imagelisting li a:visited
{
	color: #333
}

.imagelisting li a:hover
{
	color: #222
}

.profile
{
	position:absolute;
	top:18px;
	right:0;
}

.profile a
{
	padding:5px 20px;
	border-top:1px solid #2b2a2a;
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
	border-radius:3px;
	background-color:#2f2f2f;
	text-decoration:none;
	display: inline-block
}

body.gallery footer,body.user footer
{
	position:fixed;
	bottom:0;
	margin-top:54px;
	padding:18px 0 0;
	width:100%;
	border-top:1px solid #eee;
	background-color:#fcfcfc;
	text-align:center;
	font-size:12px;
}

footer p
{
	color:#333;
}

footer img
{
	display:inline-block;
	margin-right:10px;
	vertical-align:middle;
}

/* Shopping Cart
-------------------------------------------------------------- */
.button
{
	padding:5px 10px;
	border:none;
	border-bottom:2px solid rgba(0,0,0,0.2);
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
	border-radius:3px;
	background-color:#289C3B;
	color:#fff!important;
	text-transform:uppercase;
	word-break:break-word;
	cursor:pointer;
	-webkit-transition:background-color .25s ease-in;
	-moz-transition:background-color .25s ease-in;
	-o-transition:background-color .25s ease-in;
	transition:background-color .25s ease-in;
}

.button:hover
{
	background-color:#208a31;
	color:#fff;
}

.button .fa
{
	color:#fff;
}

#sidebar .button
{
	box-shadow:0 -1px 0 rgba(0,0,0,0.1);
}

#PPMiniCart *
{
	color:#333;
}

#PPMiniCart .minicart-remove
{
	left:275px!important;
}

#PPMiniCart .minicart-quantity
{
	height:22px!important;
}

/* Forms
-------------------------------------------------------------- */

form#form1_contact {
	padding: 0 5%;
	margin-bottom: 54px;
}

form div
{
	display:inline-block;
	margin:0 1px 0 5px;
}

form#form1_contact div {
	margin: 0 6px 0 0;
}

form div.block
{
	display:block;
}

label
{
	display:block;
	margin-bottom:9px;
}

input[type="email"],input[type="password"],input[type="text"]
{
	margin-bottom:18px;
	padding:5px;
	width:200px;
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
	border-radius:3px;
	color:#333;
	font-size:1em;
	border: 1px solid #ccc;
}

body.user input[type="email"],body.user input[type="password"],body.user input[type="text"]
{
	border:none;
	background:#fff;
	text-align:center;
}

textarea
{
	margin-bottom:18px;
	padding:5px;
	width: 100%;
	height: 172px;
	max-width:620px;
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
	border-radius:3px;
	color:#333;
	font-size:1em;
	border: 1px solid #ccc;
}


input[type="submit"]
{
	margin-bottom:18px;
	padding:8px 10px 6px;
	width:100px;
	border:none;
	border-bottom:2px solid rgba(0,0,0,0.2);
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
	border-radius:3px;
	background-color:#289C3B;
	color:#fff;
	text-transform:uppercase;
	word-break:break-word;
	cursor:pointer;
	-webkit-transition:background-color .25s ease-in;
	-moz-transition:background-color .25s ease-in;
	-o-transition:background-color .25s ease-in;
	transition:background-color .25s ease-in;
}

.gallery input[type="submit"]
{
	margin-bottom:0;
	width:100%;
}

input[type="submit"]:hover
{
	background-color:#208a31;
}

.error
{
	text-align: center;
	margin-top: 9px;
}

/* Colorbox
-------------------------------------------------------------- */
#colorbox,#cboxOverlay,#cboxWrapper
{
	position:absolute;
	top:0;
	left:0;
	z-index:9999;
	overflow:hidden;
}

#cboxWrapper
{
	max-width:none;
}

#cboxOverlay
{
	position:fixed;
	width:100%;
	height:100%;
}

#cboxMiddleLeft,#cboxBottomLeft
{
	clear:left;
}

#cboxContent
{
	position:relative;
}

#cboxLoadedContent
{
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}

#cboxTitle
{
	margin:0;
}

#cboxLoadingOverlay,#cboxLoadingGraphic
{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow
{
	cursor:pointer;
}

.cboxPhoto
{
	display:block;
	float:left;
	margin:auto;
	max-width:none;
	border:0;
	-ms-interpolation-mode:bicubic;
}

.cboxIframe
{
	display:block;
	width:100%;
	height:100%;
	border:0;
}

#colorbox,#cboxContent,#cboxLoadedContent
{
	-webkit-box-sizing:content-box;
	-moz-box-sizing:content-box;
	box-sizing:content-box;
}

/* 
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay
{
	background:#333;
}

#colorbox
{
	outline:0;
}

#cboxContent
{
	overflow:visible;
	margin-top:32px;
	background:#fff;
}

.cboxIframe
{
	background:#fff;
}

#cboxError
{
	padding:50px;
	border:1px solid #ccc;
}

#cboxLoadedContent
{
	background:#000;
}

#cboxLoadingGraphic
{
	background:url(../images/loading.gif) no-repeat center center;
}

#cboxLoadingOverlay
{
	background:#000;
}

#cboxTitle
{
	position:absolute;
	top:-22px;
	left:0;
	color:#000;
}

#cboxCurrent
{
	position:absolute;
	top:-22px;
	right:205px;
	text-indent:-9999px;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious,#cboxNext,#cboxSlideshow,#cboxClose
{
	position:absolute;
	top:-20px;
	overflow:visible;
	margin:0;
	padding:0;
	width:20px;
	height:20px;
	border:0;
	background:url(../images/controls.png) no-repeat 0 0;
	text-indent:-9999px;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active,#cboxNext:active,#cboxSlideshow:active,#cboxClose:active
{
	outline:0;
}

#cboxPrevious
{
	right:44px;
	background-position:0 0;
}

#cboxPrevious:hover
{
	background-position:0 -25px;
}

#cboxNext
{
	right:22px;
	background-position:-25px 0;
}

#cboxNext:hover
{
	background-position:-25px -25px;
}

#cboxClose
{
	right:0;
	background-position:-50px 0;
}

#cboxClose:hover
{
	background-position:-50px -25px;
}

.cboxSlideshow_on #cboxPrevious,.cboxSlideshow_off #cboxPrevious
{
	right:66px;
}

.cboxSlideshow_on #cboxSlideshow
{
	right:44px;
	background-position:-75px -25px;
}

.cboxSlideshow_on #cboxSlideshow:hover
{
	background-position:-100px -25px;
}

.cboxSlideshow_off #cboxSlideshow
{
	right:44px;
	background-position:-100px 0;
}

.cboxSlideshow_off #cboxSlideshow:hover
{
	background-position:-75px -25px;
}

/* Responsive
-------------------------------------------------------------- */
@media only screen and (max-width : 51.25em) {
	/* Smaller than 768px */
	#homecontent
	{
		max-width: 560px;
	}
	
	#gallery
	{
		padding-left: 560px
	}
	
	form div
	{
		display:inline-block;
		margin:0;
	}
	
	#sidebar
	{
		position:relative;
		width:27%;
	}
	
	#content
	{
		width:70%;
	}
	
	.primarycontent {
		margin-top: 36px;
	}
}

@media only screen and (max-width : 35.5em) {
	/* Smaller than 568px */
	
	#homecontent
	{
		position:relative;
		min-height:auto;
		width: 100%;
		max-width: 100%;
		background-color:#fcfcfc;
	}
	
	.primarycontent
	{
		margin: 36px 0 0;
		width:100%;
	}
	
	input[type="email"],input[type="password"],input[type="text"]
	{
		width: 100%;
	}
	
	body.gallery footer,body.user footer {
		position: relative;
		padding: 18px 2.5% 1px;
	}
	
	#sidebar
	{
		position:relative;
		float:none;
		width:100%;
		margin: 36px 0;
	}
	
	#content
	{
		float: none;
		width:100%;
	}
	
	.imagelisting
	{
		text-align: center;
		padding: 0;
	}
	
	.imagelisting li {
		width:45%;
	}
}

@media only screen and (max-width : 20em) {
	/* Smaller than 320px */
	
	.logo {
		width: 50%;
	}
	
	.logo img {
		width: 100%;
		height: auto;
	}

	.imagelisting li {
		width:60%;
	}
	
	.profile a {
		margin: 2px 0;
	}
	
	.primarycontent
	{
		margin: 54px 0 0;
		width:100%;
	}
	
	body.gallery footer,body.user footer
	{
		text-align: center;
	}
	
	footer img {
		display: block;
		margin: 0 auto 9px;
	}
}