
/*===================== COLOR DEFINITIONS AND VARIABLES =====================*/ 
:root{
	/* TOP NAV */
	--navbar-primaryColor: #FFFFFF;
	--navbar-primaryColor-text: #3e3e3e;
	--navbar-secondaryColor: #FFFFFF;
	--navbar-secondaryColor-text: #819CAF;
	
	/* GENERAL COLORS */
	--textColor: #3e3e3e;
	--primaryColor: #819CAF;
	--primaryColor-text: #FFFFFF;
	--secondaryColor: #E7E4DD;
	--secondaryColor-text: #3e3e3e;
	--thirdColor: #F6F5F3; 
	--thirdColor-text: #3e3e3e;
	
	/* FONTS */
	--siteFont-main: open-sans, "Helvetica Neue", Helvetica, Arial, sans-serif;	
	--siteFont-headings: museo-slab, "Helvetica Neue", Helvetica, Arial, sans-serif;	
	--siteFont-nav: open-sans, "Helvetica Neue", Helvetica, Arial, sans-serif;	
}


/*===================== GLOBAL =====================*/ 
html, body { height: 100%; width:100%;}

body {
	font-family: var(--siteFont-main);
	font-size: 18px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.75rem;
	color: var(--textColor);
	background-color: #FFFFFF;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.row { margin-left: 0; margin-right: 0;}

h1, h2, h3, h4, .h1, .h2, .h3, .h4 {
	font-family: var(--siteFont-headings);
	font-weight: 500;
	font-style: normal;
	line-height: 1.65rem;
}

h1 { font-size: 52px;}
h2 { font-size: 32px;}
h3 { font-size: 24px;}
h4 { font-size: 18px;}
p { margin-top: 1rem; margin-bottom:0;}

ul {
	list-style-type: none;
	list-style-position: outside;
	text-indent: -.5rem;
	padding-left: 0;
}

li { margin-top: 0; margin-bottom: 0;}

.bulleted-list li:before,
.bulleted-list li:before {
	content:"· ";
}

a {
	color: var(--primaryColor);
	text-decoration: none;
}
a:hover, a:focus {
	color: var(--textColor);
	text-decoration: none;
}

a, a:hover, a:focus, a:active* {
	outline: none;
}


/*===================== IMAGE STYLES =====================*/ 
.center-image { margin-left: auto; margin-right: auto; }


/*===================== NAVIGATION  =====================*/
/* COVER section navigation */
.navbar {
	min-height: 0;
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 0;
	margin-bottom: 0;
}
.navbar-fixed-top { margin: 0 auto;}

#custom-nav {
	background-color: rgba(255,255,255, 0.45);
	border-bottom: 1px solid transparent;
	/*box-shadow: none;*/
	-webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
	box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
	z-index: 999;
	-webkit-transition: background .5s ease-in-out, opacity .5s ease;
	-moz-transition: background .5s ease-in-out, opacity .5s ease;
	transition: background .5s ease-in-out, opacity .5s ease;
}

/*#custom-nav .container {
    padding-top: 2px;
    padding-bottom: 2px;
    -webkit-transition: padding-top .5s ease, padding-bottom .5s ease;
    -moz-transition: padding-top .5s ease, padding-bottom .5s ease;
    transition: padding-top .5s ease, padding-top .5s ease, padding-bottom .5s ease;
}*/

/* PAGE navigation - turns solid white with no trasparency */
#custom-nav.solid {
	top: 0;
	min-width: 100%;
	background-color: rgba(255,255,255, 1); 
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	-webkit-transition: background .5s ease-in-out, opacity .5s ease;
	-moz-transition: background .5s ease-in-out, opacity .5s ease;
	transition: background .5s ease-in-out, opacity .5s ease;
}

.navbar-brand,
.navbar-default .navbar-brand,
.navbar-default .navbar-brand:hover, 
.navbar-default .navbar-brand:focus,
.navbar-default .navbar-nav > li > a,
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
	font-family: var(--siteFont-nav);	
	color: var(--textColor);
	background-color: transparent;
	font-size: 15px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.09rem;
	line-height: 1rem;
	height: 1rem;
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 2rem;/*determines height of navbar*/
	margin-bottom: 2rem;/*determines height of navbar*/
}
.navbar-default .navbar-nav .nav-link {
	padding-right: 1rem;
	padding-left: 1rem
}
.navbar-default .navbar-toggler {
	color:rgba(0,0,0,.0);
	border-color: rgba(0,0,0,.08);
}
.navbar-default .navbar-toggler-icon {
	background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
}

/*`lg` applies to medium devices (tablets, less than 992px)*/
@media (max-width: 991.98px) {
	#custom-nav { background-color: rgba(255,255,255, 0.8); }
	.navbar-brand,
	.navbar-default .navbar-brand,
	.navbar-default .navbar-brand:hover, 
	.navbar-default .navbar-brand:focus,
	.navbar-default .navbar-nav > li > a,
	.navbar-default .navbar-nav > li > a:hover,
	.navbar-default .navbar-nav > li > a:focus {
		margin-top: 1.5rem;/*determines height of navbar*/
		margin-bottom: 1.5rem;/*determines height of navbar*/
	}
}


/*===================== PORTFOLIO SECTION =====================*/
/*portfolio tabs/pill navigation*/
.portfolio-nav-container {
	padding-bottom: 2.25rem;
}
#portfolio-thumbs-section .fade {
  transition: opacity 0.35s linear;
}
#portfolio-thumbs-section .nav-pills .nav-link {
  background: none;
  border: 0;
  border-radius: 0;
}
#portfolio-thumbs-section .nav-pills li { 
	padding: 0 1.40rem;
}
#portfolio-thumbs-section .nav-pills li button { 
  color: #819CAF;
	font-weight: 600;
	font-size: 18px;
}
#portfolio-thumbs-section .nav-pills .nav-link.active,
#portfolio-thumbs-section .nav-pills .show > .nav-link {
	color: #3e3e3e;
	background-color: #FFF;
	border-bottom: 1px rgba(0,0,0,.15) solid;
}
/*`md` applies to small devices (landscape phones, less than 768px)*/
@media (max-width: 767.98px) {
	.portfolio-nav-container { padding-bottom: 1.5rem; }
	#portfolio-thumbs-section .nav-pills li { padding: 0 0.8rem; }
}
/*`sm` applies to x-small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) {
	.portfolio-nav-container { padding: 0 1rem 1.2rem 1rem; }
	#portfolio-thumbs-section .nav-pills li { padding: 0; }
	#portfolio-thumbs-section .nav-pills li button { font-size: 17px;}
	#portfolio-thumbs-section .nav-pills .nav-link.active,
	#portfolio-thumbs-section .nav-pills .show > .nav-link { border-bottom: 0; }
	#portfolio-thumbs-section .nav-link { padding: 0.15rem; }
}

#portfolio-section-top {
	background-color: transparent;
	min-height: 75px;
	/*margin-top: -61px;*/
}
#portfolio-intro {
	padding: 2.5rem 0 3rem 0;
}
.portfolio-title {
	color: var(--primaryColor);
	font-size: 50px;
	/*line-height: 2.25rem;*/
	text-align: center;
}
.portfolio-text {
	text-align: center;
	padding-left: 3rem;
	padding-right: 3rem;
}

#portfolio-thumbs-section {
	padding-bottom: 5rem;
}
#portfolio-thumbs-section .container {
	padding-right: 3rem !important;
  padding-left: 3rem !important;
}
#portfolio-thumbs-section .row {
  --bs-gutter-x: 3rem;
}
.portfolio-thumb {
	margin-bottom: 2rem;
}
/*.portfolio-thumb img {
	box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px;
}*/

/*`xxl` applies to x-large devices (large desktops, less than 1400px)*/
@media (max-width: 1399.98px) {
	#portfolio-thumbs-section .container { padding-right: 2.5rem !important; padding-left: 2.5rem !important; }
	#portfolio-thumbs-section .row { --bs-gutter-x: 2.5rem; }
}
/*`xl` applies to large devices (desktops, less than 1200px)*/
@media (max-width: 1199.98px) {
	#portfolio-thumbs-section .container { padding-right: 1.75rem !important; padding-left: 1.75rem !important; }
	#portfolio-thumbs-section .row { --bs-gutter-x: 1.75rem; }
}
/*`lg` applies to medium devices (tablets, less than 992px)*/
@media (max-width: 991.98px) {
	#portfolio-intro {padding: 1.5rem 0 2rem 0;}
	#portfolio-thumbs-section .container { padding-right: 0 !important; padding-left: 0 !important; }
	#portfolio-thumbs-section .row { --bs-gutter-x: 1.25rem; }
}
/*`md` applies to small devices (landscape phones, less than 768px)*/
@media (max-width: 767.98px) {
	#portfolio-intro { padding: 1.5rem 0 1.5rem 0; }
	#portfolio-thumbs-section { padding-bottom: 3rem; }
}
/*`sm` applies to x-small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) {
	.portfolio-thumb { margin-bottom: 1.35rem; }
}
/*`xs` returns only a ruleset and no media query*/

.box-kb-effect {
	overflow: hidden;
	margin-bottom: 5px;
	box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -28px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px, rgb(209, 213, 219) 0px 0px 0px 1px inset;
}
.box-kb-effect img {
	width: 100%;
	margin-left: 0px;
	position: relative;
	transition-property: all;
	transition-duration: 0.8s; 
	transition-timing-function: ease-in-out;
	transition-delay: 0s;
}
.box-kb-effect:hover img {
	/*transform: scale(1.2) rotate(2deg);*/
	transform: scale(1.05) rotate(0deg);
}

.thumb-caption {
	/*border-bottom: 1px solid #CCCCCC;*/
	padding: 1rem 0;
	/*min-height:108px;*/
}
.thumb-caption-title,
.thumb-caption-project,
.thumb-caption-client {
	font-family: var(--siteFont-main);
	color: var(--textColor);
	text-align: center;
	line-height:1.45rem;
}
.thumb-caption-title {
	font-size: 16px;
	font-weight: 600;
	margin: 0;
}
.thumb-caption-project {
	font-size: 16px;
	margin: 0;
}
.thumb-caption-client {
	font-size: 16px;
	margin-top: 0.35rem;
}

/*`lg` applies to medium devices (tablets, less than 992px)*/
@media (max-width: 991.98px) {
	.thumb-caption-client { display: none; }
}


/*===================== PROFILE SECTION STYLES =====================*/ 
#profile-section-top {
	background-color: var(--thirdColor);
	min-height: 75px;
	/*margin-top: -61px;*/
}
#profile-intro {
	background-color: var(--thirdColor);
	padding: 2rem 0 5rem 0;
}
.profile-title {
	color: var(--primaryColor);
	font-size: 50px;
	line-height: 3.25rem;
	text-align: center;
	padding-bottom: 2rem;
}
/*.profile-portrait {
	max-height: 320px;
	padding: 1rem 0 1rem 0;
	margin:0 auto;
}*/

/*`lg` applies to medium devices (tablets, less than 992px)*/
@media (max-width: 991.98px) {
	#profile-intro { padding: 1.5rem 0 4.25rem 0; }
}


/*===================== CONTACT SECTION STYLES =====================*/ 
#contact-section-top {
	background-color: var(--secondaryColor);
	min-height: 75px;
	/*margin-top: -61px;*/
}
#contact-area {
	background-color: var(--secondaryColor);
	padding: 2rem 0 4rem 0;
}
.contact-title {
	color: var(--primaryColor);
	font-size: 50px;
	line-height: 3.25rem;
	text-align: center;
}
.contact-icons {
	text-align: center;
}
.social-icons {
	height: 54px;
	width: 54px;
	margin: 2rem 1rem 3rem 1rem;
	outline: none;
	display: inline;
}

/*`lg` applies to medium devices (tablets, less than 992px)*/
@media (max-width: 991.98px) {
	#contact-area { padding: 0.75rem 0 1.5rem 0; }
	.social-icons { margin: .75rem 1rem 2rem 1rem; }
}
/*`sm` applies to x-small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) {
	#contact-area { padding: 0 0 0.5rem 0; }
	.social-icons { margin: 0.5rem 1rem 2rem 1rem; }
}


/*===================== FOOTER STYLES =====================*/ 
footer {
	background-color: var(--primaryColor);
	padding: 4rem 0 6rem 0;
}
.footer-copyright-text,
.footer-credits-text {
	color:#FFF;
	font-size: 16px;
	line-height: 1.75rem;
	text-align: center;
}

/*`lg` applies to medium devices (tablets, less than 992px)*/
@media (max-width: 991.98px) {
	footer { padding: 1.5rem 0 2.5rem 0; }
}

/*===================== RETURN TO TOP =====================*/ 
#return-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: rgba(0, 0, 0, 0.15);
    width: 50px;
    height: 50px;
    /*display: block;*/
    text-decoration: none;
    -webkit-border-radius: 35px;
    -moz-border-radius: 35px;
    border-radius: 35px;
    display: none;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
	z-index: 9999;
}
#return-to-top i {
    color: #fff;
    margin: 0;
    position: relative;
    left: 15px;
    top: 9px;
    font-size: 22px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
#return-to-top:hover { background: rgba(0, 0, 0, 0.25);}
#return-to-top:hover i {color: #fff; }

/*`md` applies to small devices (landscape phones, less than 768px)*/
@media (max-width: 767.98px) {
	#return-to-top {
		bottom: 15px;
		right: 15px;
		width: 40px;
		height: 40px;
	}
	#return-to-top i {
		left: 13px;
		top: 5px;
		font-size: 15px;
	}
}








/*===================== BS5 MEDIA QUERIES  =====================*/
/* grid-breakpoints:
		xs: 0
		sm: 576px
		md: 768px
		lg: 992px
		xl: 1200px
		xxl: 1400px
*/
	 
/*`xxl` applies to x-large devices (large desktops, less than 1400px)*/
@media (max-width: 1399.98px) {
}
/*`xl` applies to large devices (desktops, less than 1200px)*/
@media (max-width: 1199.98px) {
}
/*`lg` applies to medium devices (tablets, less than 992px)*/
@media (max-width: 991.98px) {
}
/*`md` applies to small devices (landscape phones, less than 768px)*/
@media (max-width: 767.98px) {
}
/*`sm` applies to x-small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) {
}
/*`xs` returns only a ruleset and no media query*/

/*Example - Apply styles starting from medium devices and up to extra large devices*/
@media (min-width: 768px) and (max-width: 1199.98px) {
}






/* MEDIA QUERIES TO DELETE - Break Points - Bootstrap 5
============================================================================================*/
/* grid-breakpoints:
		xs: 0
		sm: 576px
		md: 768px
		lg: 992px
		xl: 1200px
		xxl: 1400px
*/

#test-queries { text-align: center; padding: 10px 0;}

/* `XXL` applies to x-large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
	#test-queries { background-color: blue;} 
	.test-breaks:after { color: white; 
		content: "XXL - XX-Large devices (larger desktops, 1400px and up) * .col-xxl- * container max 1320px";}
}


/*`XXL` applies to x-large devices (large desktops, less than 1400px)*/
@media (max-width: 1399.98px) {}
/* X-Large devices (desktops, 1200px to 1399.98px) */
@media (min-width: 1200px) and (max-width: 1399.98px) {
	#test-queries {background-color: green;} 
	.test-breaks:after {color: white; content: "X-Large devices * .col-xl- * (min-width: 1200px) and (max-width: 1399.98px)";} 
}
/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {}


/*`XL` applies to large devices (desktops, less than 1200px)*/
@media (max-width: 1199.98px) {}

/* Large devices (tablets, 992px to 1199.98px) */
@media (min-width: 992px) and (max-width: 1199.98px) {
	#test-queries {background-color: orange;} 
	.test-breaks:after {color: white; content: "Large devices * .col-lg- * (min-width: 992px) and (max-width: 1199.98px)";} 
}
/*Large devices (desktops, 992px and up)*/
@media (min-width: 992px) {}


/*`LG` applies to medium devices (tablets, less than 992px)*/
@media (max-width: 991.98px) {}
/* Medium devices (landscape phones, 768px to 991.98px) */
@media (min-width: 768px) and (max-width: 991.98px) {
	#test-queries {background-color: red;}
	.test-breaks:after {color: white; content: "Medium devices * .col-md- * (min-width: 768px) and (max-width: 991.98px)";}
}
/*Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) {}


/*`md` applies to small devices (landscape phones, less than 768px)*/
@media (max-width: 767.98px) {}
/* Small devices (landscape phones, 576px to 767.98px) */
@media (min-width: 576px) and (max-width: 767.98px) {
	#test-queries {background-color: purple;}
	.test-breaks:after {color: white; content: "Small devices * .col-sm- * (min-width: 576px) and (max-width: 767.98px)";}
}
/*Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) {}


/*`sm` applies to x-small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) {
	#test-queries {background-color: gray;}
	.test-breaks:after {color: white; content: "Extra small devices .col- (max-width: 575.98px)";}
}
/*`xs` returns only a ruleset and no media query*/
/*X-Small devices (portrait phones, less than 576px)
No media query for `xs` since this is the default in Bootstrap*/
