﻿/* ================> SV CSS (LAYOUT) <================ */
/*
	font-size: 100% = 1em = 16px = 12pt
	font-size:  80% = 0.8em = 13px = 10pt
	font-size:  95% = 0.95em = 15px = 11pt
	font-size: 120% = 1.2em = 19px = 14pt
*/
*{box-sizing:border-box;}
/* ----------> NORMAL GRID STYLES <---------- */
.mainbody{
	display:grid;
	grid-gap:0px 5px; /* row col */
	max-width:85%;
	margin:50px auto;
	padding:0px;
	background-color:rgba(255,255,255,0.15);
}
/* FLEXBOX elements inside MainBody grid container */
header{
	display:flex;
	flex-flow:row nowrap;
	justify-content:space-between;
}
header > div{
	padding:0px;
}
article{
	display:flex;
	flex-flow:row wrap;
	padding:0px 10px;
}
article > * {
	flex:1 100%;
}
/* FLEXBOX - split into 2 colomns if screen is WIDER than 700px */
@media screen and (min-width: 700px){
	.left{flex:2 0px;padding-right:16px;}
	.right{flex:1 0px;padding-left:32px;border-left:1px lightgray solid;}
}

/* FLEXBOX container layout (portfolio.htm) */
.flex-pix{
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
	align-items:center;
}
figure{
	padding:8px;
	border:1px gray solid;
	box-shadow: 0px 4px 8px 0px rgba(0,0,0,0.2), 0px 6px 20px 0px rgba(0,0,0,0.19);
	background-color:white;
	
}
figure > img{
	display:block;
	max-width:80%;
	height:auto;
	margin-left:auto;
	margin-right:auto;
	border:1px gray solid;	
}
figure:hover{
	background-color:rgba(47,137,189,0.75); /* PowderBlue */
}
figcaption{
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	font-size:0.8em;
	text-align:center;
}
/* ----------> BOTTOM FIXED FOOTER Flexbox layout <---------- */
footer{
	display:flex;
	position:fixed;
	left:0px;
	bottom:0px;
	width:100%;
	margin:0px;
	padding:10px 20px;
	background-color:rgba(51,51,51,0.85); /* DarkGray (#333) */
	flex-flow:row nowrap;
	justify-content:space-between;
	align-content:center;
	align-items:center;
}
footer > div{
	width:33.33%;
	margin:0px 2px;
	font-size:0.8em;
	color: white;
}
/* ----------> TOP NAVIGATION BAR Style <---------- */
/* https://www.w3schools.com/howto/howto_js_topnav_responsive.asp */
.navbar {
	list-style:none;
	position:fixed;
	box-sizing:border-box;
	top:0px;
	left:0px;
	width:100%;
	margin:0px;
	padding:0px;
	overflow:hidden;
	background-color:#333;
	z-index:1;
}
.navbar .active{
	background-color:#8b0000!important;
	color:white;
}
/* Hide the link that should show only on small screens [≡] */
.navbar .icon{
	display:none;
	font-size:1em;
}
.navbar a{
	display:block;
	float:left;
	background-color:#333;
	border:none;
	border-right:1px white solid;
	border-radius:0px!important;
	padding:6px 16px;
	color:white!important;
	font-size:0.8em;
	text-align:center;
	text-decoration:none;
}
/* Change color on hover */
.navbar a:hover{
	background-color:#C0C0C0!important;
	border:none;
	border-right:1px white solid;
	color:black!important;
	text-decoration:none;
}
.navbar .active:hover{
	background-color:#8b0000!important;
	color:white!important;
}
/* ----------> SPECIAL GRID LAYOUT (contact.htm) <---------- */
.grid-card{ /* Outside box */
	margin-top:400px;
	margin-left:9%;
	max-width:34%;
	height:auto;
	padding:2px;
	background-color:white;
}
.grid-card > div{ /* Text boxes */
	font-size:1.2vw;
	white-space:nowrap; 
	overflow:hidden;
	text-overflow:ellipsis;
}
.grid-card p.name{
	font-size:1.2em;
	font-weight:bold;
	margin:0px;
}
.grid-card p{margin:0px;margin-top:10px;}
.grid-card:hover{display:block;cursor:pointer;}
/* ----------> MODAL DIALOG BOX Style <---------- */
/* Modal - Background (blanking main page) */
.modal{
	display:none; /* Hidden */
	position:fixed;
	left:0;
	top:0;
	width:100%; /* Full width */
	height:100%; /* Full height */
	overflow:hidden;
	background-color:rgb(0,0,0); /* Fallback color */
	background-color:rgba(0,0,0,0.75); /* Black w/opacity */
	cursor:default;
	z-index:1;
}
/* Modal - Content box (text) */
.modal-content{
	background-color:white;
	width:50%;
	height:auto;
	margin-top:20%;
	margin-left:auto;
	margin-right:auto;
	padding-bottom:16px;
	border:1px #333333 solid;
	font-size:2em;
}
/* Modal - Close button */
.modal-close{
 	display:block;
	float:left;
 	width:100%;
	margin-bottom:16px;
	padding:4px 8px;
	background-color:rgba(140,0,0,0.75);
	color:white;
	font-size:18pt;
	border:1px #333333 solid;
}
.modal-close:hover, .modal-close:focus{
	color:#2f89bd;
	text-decoration:none;
	cursor:pointer;
}
.bottomremark{
	display:none;
	position:absolute;
	bottom:80px;
	right:16px;
	overflow:hidden;
	font-size:0.8em;
}
/* --------------> Responsive Layouts <--------------- */
/* ----------> Breakpoints for contact.htm <---------- */
@media screen and (max-width:1400px){
	.grid-card{margin-top:320px;}
}
@media screen and (max-width:1080px){
	.grid-card{margin-top:240px;}
	.grid-card p.name{margin-bottom:4px;font-size:1.2em;}
	.grid-card p{margin:0px;font-size:1em;}
	.bottomremark{display:inline-block;}
}
@media screen and (max-width:800px){
	.grid-card{margin-top:180px;}
	.grid-card p.name{font-size:1.5em;}
	.grid-card p{margin:0px;font-size:1.2em;}
	.modal-content{width:75%;}
}
@media screen and (max-width:640px){
	.grid-card{margin-top:146px;}
}
@media screen and (max-width:520px){
	.grid-card{margin-top:120px;}
}
@media screen and (max-width:400px){
	.grid-card{margin-top:90px;}
	.grid-card p.name{font-size:2em;}
	.grid-card p{margin:0px;font-size:1.2em;}
	.modal-content{width:90%;font-size:3em;}
}
@media screen and (min-width:1600px){
	.grid-card{margin-top:480px;}
	.modal-content{width:36%;font-size:1.5em;}
}
@media screen and (min-width:2000px){.grid-card{margin-top:570px;}}
@media screen and (min-width:2400px){
	.grid-card{margin-top:720px;}
	.modal-content{width:30%;font-size:1.2em;}
}
@media screen and (min-width:3100px){.grid-card{margin-top:900px;}}
/* ----------> NAVIGATION BAR (Menu) Responsive Layout <---------- */
@media screen and (max-width:650px){
	/* Hide Navigation Bar on small screens (except icon) */
	.navbar a:not(:last-child){display:none;}
	.navbar a.icon{display:block;float:left;}
	/* The "responsive" class is added to the "nav" with JavaScript when the user clicks on the icon. */
	.navbar.responsive{background-color:rgba(51,51,51,0.65)!important;}
	.navbar .active{background-color:rgba(125,0,0,0.70) !important;color:white!important;}
	.navbar.responsive a{
		background-color:rgba(51,51,51,0.65);
		display:block;
		float:none;
		text-align:left;
	}
	.navbar.responsive a.icon{position:absolute;right:0px;top:0px;}
}