/*
Theme Name: SM Portfolio 2026
Author: Sebastien Marchal - greatwhitefrog.com
Theme URI: greatwhitefrog.com
Description: Portfolio theme.
Version: 3.0
*/

/* Colours
----------------------- */

:root {
	--color-primary:       #e10052;  /* pink — header, buttons, primary accents */
	--color-purple-dark:   #3B1C32;  /* dark purple — sorting bar, h1.grid */
	--color-purple:        #945f84;  /* light purple — body text, links */
	--color-purple-mid:    #683f5c;  /* mid purple — content paragraphs, social icons */
	--color-purple-hover:  #57324c;  /* hover/active state for links and buttons */
	--color-purple-muted:  #b082a3;  /* muted purple — sort btn default text */
	--color-purple-light:  #d5b9cd;  /* light pink — underline rule, agency text */
	--color-purple-faint:  #dbcbd6;  /* faint purple — in-grid btn text */
	--color-nav-arrow:     #ebebec;  /* near-white — prev/next nav arrows */
	--color-bg:            #f4f4f2;  /* page background */
	--color-bg-btn:        #f0f0f2;  /* light grey — page content buttons */
	--color-white:         #fff;
	--color-shadow:        rgba(107, 60, 93, 0.2);  /* grid item hover shadow */
}

/*  Global Layout
----------------------- */
body {
	margin: 0; padding: 0;
	background: var(--color-white);
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	color: var(--color-purple);
	}
#main {
	padding-bottom: 4em;
	background: var(--color-bg);
	}
hr {
	background: transparent;
	border: none;
	clear: both;
	}
.sub-container {
	margin: 0 auto;
	}


/*  Primary colour
----------------------- */
#content.single a,
#content.page a,
#header,
.btn,
#wrapper #sorts a.is-checked,
#sorts a.btn:focus,
#sorts.single .col2 span.inactive {
	background-color: var(--color-primary);
	}

h1.grid span,
div.item .info h2 a:hover,
div.item .info h2 a:focus,
div.item:hover .info h2 a,
#content .entry-content h1,
#footer h2,
#footer a,
#footer #social a:hover {
	color: var(--color-primary);
	}


/*  Global Fonts
----------------------- */
#wrapper a {
    		transition: color .1s ease-out;
	}
#content.single a,
#content.page a {
	color: var(--color-white);
	padding: 2px 5px;
	border-radius: 3px;
	text-decoration: none;
    		transition: background-color .1s ease-out;
    white-space: nowrap;
	}
#content.single a:hover,
#content.page a:hover {
	background: var(--color-purple-hover);
	}
#footer a:hover {
	color: var(--color-purple-hover);
	}


/*  Header
----------------------- */
#header {
	margin: 0;
	}
#header .sub-container {
	padding: 1.6em 0;
	color: var(--color-white);
	font-size: 1.5em;
	}
	#header .sub-container a { line-height: 100%; }
	#header a:link,
	#header a:visited { color: var(--color-white); text-decoration: none; }
	#header a:hover,
	#header a:active,
	#header a:focus { color: var(--color-purple-dark); text-decoration: none; outline: none; }

#branding {
	float: left;
	font-size: 1.2em;
	}


/*  Main Menu
----------------------- */
#mobile-toggle { display: none; }
div.main-menu { float: right; }
div.main-menu ul li {
	margin: .4em 0 0 1em;
	display: inline-block;
	}
	div.main-menu ul li a {
		display: block;
		font-size: .7em;
		line-height: 100%;
		font-weight: 300;
		}
/* External Link indicator */
	div.main-menu ul li a[target="_blank"]:after {
		content: "\f08e";
		display: inline-block;
		font-family: FontAwesome;
		font-style: normal;
		font-weight: normal;
		line-height: 1;
		font-size: 50%;
		margin-left: 5px;
		}


/*  Sorting Menu
----------------------- */
#sorts {
	margin: 0 auto 3em auto; padding: 1.1em 0 1.1em 0;
	background: var(--color-purple-dark);
	color: var(--color-white);
	}
	#sorts .col1 {
		float: left;
		}
	#sorts .col2 {
		float: right;
		}
	#sorts span {
		margin-right: .5em;
		font-size: .8em;
		}
	#sorts a {
		margin: 0 0 0 5px;
		font-size: .8em;
		}
#sorts .col1 select,
label#select-label { display: none; }

/* Grid
----------------------- */
h1.grid {
	margin: 0 auto 1em auto;
	color: var(--color-purple-dark);
	font-size: 1.5em;
	}
	h1.grid span i { margin: 0 .3em 0 .2em; font-size: .8em; }
	
#grid {
	margin: 0 auto;
	}

div.item {
	margin-bottom: 2%; padding: 0;
	width: 23.5%;
	height: auto;
	background: var(--color-white);
    transition: background-color .15s ease-out;
    transition: box-shadow .15s ease-out;
	}
div.item:hover {
	background: var(--color-white);
	box-shadow: 0 0 8px var(--color-shadow);
	}
div.item.double { width: 49%; }
.grid-gutter { width: 2%; }
div.item a.image { outline: none; }
div.item a.image img {
	width: 100%;
	height: auto;
	display: block;
    transition: opacity .15s ease-out;
	}
	div.item:hover a.image img {
		opacity: .8;
		}
div.item .info {
	padding: 12px 20px 15px 20px;
	clear: both;
	}
	div.item .info h2 {
		margin: 0 0 0 0;
		font-size: .8em;
		line-height: 125%;
		}
		div.item .info h2 a {
			color: var(--color-purple);
			text-decoration: none;
			}
		div.item .info h2 a:hover,
		div.item .info h2 a:focus,
		div.item:hover .info h2 a { /* see up top */  }
		
		div.item .info h2 a i {
			margin-left: 5px;
			transition: margin-left .25s ease-out;
			}
			div.item:hover .info h2 a i,
			div.item .info h2 a:focus i {
				margin-left: 8px;
				}
		
		div.item .info p a { font-size: .6em; }


/* Buttons
----------------------- */
.btn {
	padding: 3px 6px 3px 6px; margin-right: 5px;
	border: none;
	border-radius: 4px;
	color: var(--color-white);
	font-size: .7em;
	text-transform: capitalize;
	font-weight: 300;
	outline: none;
    transition: color .1s ease-out;
    transition: background-color .1s ease-out;
	}
.btn:hover,
.btn.is-checked {
	cursor: pointer;
	}

/* Sorting buttons */
#sorts a.btn { background: transparent; color: var(--color-purple-muted); text-decoration: none; }
#sorts a.btn:hover { background: var(--color-purple-hover); color: var(--color-white); }
#sorts a.is-checked { color: var(--color-white); }
#sorts a.btn:active,
#sorts a.btn:focus { color: var(--color-white); }

/* in-grid buttons */
#grid .item a.btn { color: var(--color-purple-faint); border-radius: none; background: transparent; padding: 0; }
#grid .item a.btn:hover { background: transparent; color: var(--color-purple-muted); }

/* Content buttons */
.page a.btn { background: var(--color-bg-btn); color: var(--color-purple); }
.page a.btn:hover { background: var(--color-purple-hover); color: var(--color-purple-muted); }

/* Single page buttons */
#sorts.single a.btn i { margin-right: 3px; }
#sorts.single .col2 span.inactive {
	padding: 3px 6px 3px 6px; margin-right: 5px;
	color: var(--color-white);
	border-radius: 4px;
	outline: none !important;
	text-transform: capitalize;
	}


/* Single post display
----------------------- */
#sorts.single {
	height: auto;
	}
#sorts.single .col1 {
	float: left;
	}
#content.single .image-block {
	margin: 0 auto;
	float: none;
	max-width: 100%;
	}
	#content.single .image-block ul {
		text-align: center;
		}
		#content.single .image-block ul li {
			margin: 0 10px 16px 10px;
			display: inline-block;
			}
			#content.single .image-block ul li img {
				display: inline-block;
				max-width: 100%;
				width: 100%;
				/* box-shadow: 0 0 8px rgba(107, 60, 93, 0.1); */
				}
			
			/* media-specific */
			#content.single .image-block ul li.desktop { /* fake browser */
				padding-top: 25px;
				padding-bottom: 7px;
				border-radius: 5px;
				border-top-left-radius: 5px;
				border-top-right-radius: 5px;
				border-bottom-left-radius: 5px;
				border-bottom-right-radius: 5px;
				background: url("images/browser-bar-dots.png") 10px 0 no-repeat, 
							url("images/browser-bar-pattern.png") left top repeat-x, 
							url("images/browser-bar-pattern.png") left bottom repeat-x;
				background-size: auto 25px;
				}
			#content.single .image-block ul li.iphone img { /* iphone tweaks */
				margin: 20px 0;
				max-width: 50%;
				}

/* Post navigation, back to top link */
#nav .nav-previous a { position: absolute; left: 2%; top: 320px; }
#nav .nav-next a { position: absolute; right: 2%; top: 320px; }
#backtotop { position: fixed; right: 2%; bottom: 10px; display: none; }
#wrapper #nav a,
#backtotop {
	padding: 20px 20px 20px 15px;
	font-size: 4em;
	font-weight: 300;
	background: transparent;
	color: var(--color-nav-arrow);
    		transition: color .1s ease-out;
    outline: none;
	}
	#wrapper #nav a:hover,
	#wrapper #nav a:focus,
	#wrapper #nav a.active,
	#backtotop:hover,
	#backtotop:focus {
		color: var(--color-purple-hover);
		}


/* Page titles
----------------------- */
#content .entry-content .underline {
	height: 1px;
	width: 10%;
	background: var(--color-purple-light);
	}
#content.single .entry-content .entry-utility {
	margin: 0 0 2em 0;
	text-align: center;
	font-size: .7em;
	display: none;
	}


/* Page Content
----------------------- */
#content {
	padding: 1em 0 1em 0;
	}
#content.single .entry-content {
	width: 100%;
	}
#content .entry-content h1 {
	margin: 0 auto 0.8em auto;
	max-width: 70%;
	text-align: center;
	font-size: 3em;
	}
#content .entry-content .content {
	margin: 2em auto 2em auto; padding: 0 0 1.5em 0;
	text-align: left;
	/*
	border-top: 1px solid #e8dbe4;
	border-bottom: 1px solid #e8dbe4;
	*/
	color: var(--color-purple);
	}
	#content .entry-content .content p {
		margin: 0 0 1.5em 0;
		line-height: 160%;
		color: var(--color-purple);
		font-size: .9em;
		margin: 0 0 1.5em 0;
		line-height: 165%;
		font-size: 1.1em;
		color: var(--color-purple-mid);
		}
		#content.single .entry-content .content p:last-child {
			margin-bottom: 0;
			}
	#content .entry-content .content p em {
		font-style: italic;
		}
	
	#content .entry-content p.agency {
		text-align: center;
		font-size: .7em;
		color: var(--color-purple-light);
		text-transform: uppercase;
		letter-spacing: .1em;
		}


/* Colophon
----------------------- */
#footer {
	margin: 70px auto 100px auto;
	width: 100%;
	font-weight: 300;
	clear: both;
	}
#footer .col1,
#footer .col2 {
	padding-right: 10%;
	}
#footer .col1 { float: left; width: 40%; }
#footer .col2 { float: left; width: 40%; }
#footer .col3 { float: right; width: auto; text-align: left; }

#footer h2 {
	margin: 0 0 .8em 0;
	font-size: 1.2em;
	font-weight: 300;
	}
#footer p {
	margin: 0 0 1em 0;
	font-size: .9em;
	line-height: 160%;
	}
/*  copyright */
#footer small {
	margin: 0 0 2em 0;
	clear: both;
	font-size: .7em;
	display: block;
	line-height: 160%;
	}
/*  badges */
.badges {
	clear: both;
	}

/*  Social */
#footer #social {
	margin: 0 0 1em 0;
	}
	#footer #social a {
		margin-right: 7px;
		font-size: 1.6em;
		line-height: 100%;
		color: var(--color-purple-mid);
		}
	
