/******************************************************************************
 Main page settings
 *****************************************************************************/
* {
	--main-theme-color: #e3d9e0;
	--main-theme-light: #f4eff3; /*#e2dae0;*/
	--main-theme-dark: #998392;
	--max-width: 1100px;

    margin: 0;
    padding: 0;

    font-family: Lucida Sans Unicode;
	line-height: 1.5;
    color: #333333;

}

/******************************************************************************
 Layout styles
 *****************************************************************************/
html {
    scroll-behavior: smooth;
}


main {
	display: flex;
	flex-direction: column;
	align-items: center;
}

aside {
	flex: 1 1 auto;
	background: var( --bgcolor );
}

nav {
	align-content: end;
	padding-right: 20px;
	padding-bottom: 0px;
	width: 100%;
}

.content {
	flex: 0 1 var( --max-width );
}

header {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	align-items: center;
	width: 100%;
	
	font-size: 32px;
    background-color: var( --main-theme-color );
}

.header-text {
	display: flex;
	flex-direction: column;
	flex: 1 1 80%;
	width: 80%;
	align-items: start;
	padding: 10px;
	color: var( --main-theme-dark );
}

.menu-button-wrapper {
    display: none;
	flex-direction: column;
	flex: 1 1 100%;
	align-items: flex-end;
}

footer {
	display: flex;
}

.footer-nav {
}

.footer-nav-items {
}

.logo-box {
    display: flex;
    flex: 0 0 auto;
    gap: 0px;
}

.logo-box img {
    width: 200px;
}

article {
    display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	width: 100%;
	align-items: center;
}


.article-content,
.article-content-rev {
    display: flex;
	flex: 0 1 auto;
	flex-direction: row;
	width: 90%;
	max-width: var( --max-width );
	padding: 40px 0px 40px 0px;
}

.services-row {
	display: flex;
	flex 1 1 auto;
	flex-direction: row;
}

.portfolio-container {
	display: flex;
	flex-direction: row;
}

/* Slideshow container */
.slideshow-container {
	flex-direction: row;
	max-width: 600px;
	position: relative;
	margin: auto;
}

.socialmedia-box {
	display: none;
	flex-direction: row;
    flex: 0 0 auto;
	align-items: end;
}

footer {
    display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	width: 100%;
	align-items: center;
	background: var( --main-theme-color );
}

/******************************************************************************
 Formatting styles
 *****************************************************************************/
.socialmediastyle {
    padding-left: 0px;
}

.socialmediastyle img {
    width: 40px;
}

.socialmedia {
    height: 20px;
    display: inline-block;
}

.banner-content img {
    width: 200px;
}

.title-pos {
    vertical-align: bottom;
}

header {
	display: flex;
	flex: 1 1 auto;
	background: #ffffff;
}

h1 {
    font-size: 24px;
	font-weight: normal;
	color: var( --main-theme-dark );
	padding-bottom: 20px;
}

h2 {
    font-size: 24px;
	font-weight: normal;
	color: var( --main-theme-dark );
	padding-bottom: 20px;
}

h3 {
    font-size: 20px;
	font-weight: bold;
	color: black;
}

p {
	padding-bottom: 10px;
}

/*** Anchor ("a") order matters! */
a {
    /**/
}

a:link {
    text-decoration: none;
}

a:visited {
    /* no changes to visited links */
}

a:hover {
    color: rgb(80, 80, 80); /* TODO - change color? */
    /*text-decoration: underline;*/
}

.link-button {
	display: flex;
	flex: 0 1 auto;
	flex-direction: column;
	align-items: center;
	background: var( --main-theme-color );
}

article:nth-child(even) {
    background-color: #ffffff;
}

article:nth-child(odd) {
    background-color: var( --main-theme-light );
}

.description-home {
	display: flex;
	flex-direction: column;
	flex: 1 1 50%;
	padding: 80px 40px 10px 15px;
}

.description {
	display: flex;
	flex-direction: column;
	flex: 1 1 50%;
	padding: 15px;
}

.side-photo {
	display: flex;
	flex-direction: column;
	flex: 1 1 25%;
	padding: 10px 15px 0px 15px;
}

.side-photo img {
	width: 100%;
	height: auto;
}

.service {
	position: relative;
	display: flex;
	flex: 1 1 auto;
	padding: 5px 5px 5px 10px;
}

.service-halfsize {
	position: relative;
	display: flex;
	flex: 1 1 auto;
	margin-bottom: 10px;
}

.service img,
.service-halfsize img {
	width: 100%;
	height: auto;
}

.service .overlay {
	position: absolute;
	/*top: 85%;*/
	top: 220px;
	bottom: 0;
	left: 50;
	right: 0;
	width: 100%;
	opacity: 0.85;
	/*transition: .5s ease;*/
	/*background-color: var( --main-theme-light );*/
	background-color: #ffffff;;
	align-content: center;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
}

.overlay a:hover {
	color: var( --main-theme-dark );
}

.overlay:hover {
	color: var( --main-theme-dark );
	opacity: 1;
}

td {
	vertical-align: top;
}

.price_cell {
	text-align: right;
}

.portfolio-group {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	margin: 10px;
}

.portfolio-group img:hover {
	box-shadow: 2px 5px 8px 3px;
}

.footer-content {
    display: flex;
	flex: 0 1 auto;
	flex-direction: column;
	width: 90%;
	max-width: var( --max-width );
}

.footer-nav {
	display: flex;
	flex-direction: row;
	flex: 1 1 auto;
	align-content: space-between;
}

.footer-nav-box {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: end;
}

.footer-nav-items {
	display: flex;
	flex: 1 1 auto;
	flex-direction: row;
	align-items: center;
	align-content: flex-end;
}

.footer-nav-items a {
    padding: 10px 20px;
}

.copyright {
	padding-top: 10px;
	padding-bottom: 5px;
	border-top: thin dotted black;
}

textarea {
    display: flex;
	flex: 1 1 auto;
    width: 100%;
    resize: both;
    min-height: 100px;
}

.submitbutton {
    background-color: #ffffff;
    margin-top: 10px;
    padding: 10px 10px;
    border: solid #f0f0f0;
    font-size: 20px;
}

@media ( max-width: 1000px ) {
}

@media ( max-width: 800px ) {


	header nav {
		display: none;
	}

	nav {
		
		padding-right: 0px;
		/*align-content: end;
		padding-bottom: 0px;
		width: 100%;*/
		/*border: thin solid black;*/
	}

	header {
		display: flex;
		flex-direction: row;
		background-color: #ffffff;/*var( --main-theme-color );*/
	}

	h1, h2, h3 {
		font-size: 16px;
	}

	.menu-button-wrapper {
		display: flex;
		flex-direction: column;
		flex: 1 1 100%;
		align-items: flex-end;
		padding-right: 10px;
		/*border: thin solid grey;*/
	}

	.article-content {
		display: flex;
		flex: 0 1 auto;
		flex-direction: column;
		width: 90%;
		max-width: var( --max-width );
		padding: 10px 0px 0px 0px;
		/*border: thin solid red;*/
	}

	.article-content-rev {
		display: flex;
		flex: 0 1 auto;
		flex-direction: column-reverse;
		width: 90%;
		max-width: var( --max-width );
		padding-top: 0px;
		/*border: thin solid red;*/
	}

	.portfolio-container {
		display: flex;
		flex-direction: column;
	}

	.description-home {
		display: flex;
		flex-direction: column;
		flex: 1 1 50%;
		padding: 0px 10px 0px 10px;
	}

	.description {
		display: flex;
		flex-direction: column;
		flex: 1 1 50%;
		padding: 0px 10px 20px 10px;
	}

	.side-photo {
		display: flex;
		flex-direction: column;
		flex: 0 1 auto;
		padding: 10px 10px 0px 10px;
	}

	.side-photo img {
		width: 100%;
	}

	.logo-box img {
		width: 150px;
	}

	.service {
		padding: 5px 5px 0px 10px;
	}

	.service-halfsize {
		display: none;
	}

	.service .overlay {
		position: absolute;
		top: 82%;
		bottom: 0px;
		left:  0;
		right: 0;
		width: 90%;
		opacity: 0.85;
		/*transition: .5s ease;*/
		background-color: var( --main-theme-light );
		align-items: center;
		text-align: center;
	}

	.service img {
		width: 80%;
	}

	.socialmediastyle img {
		width: 30px;
	}

	/*article {
		flex-direction: column;
		place-content: center;
		align-items: center;

		padding-top: 20px;
		padding-bottom: 20px;
		font-size: 14px;
	}*/

	.reverse-order {
		flex-direction: column-reverse;
	}

	.services-row {
		display: flex;
		flex 1 1 auto;
		flex-direction: column;
	}

	.footer-nav {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		align-content: space-between;
	}

	.footer-nav-box {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		align-items: start;
	}

	.footer-nav-items {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		align-items: start;
		padding-bottom: 10px;
	}

	.footer-nav-items a {
		padding: 5px 0px 5px 0px;
		font-size: 14px;
	}

}	

/******************************************************************************
 Awesome fonts
 *****************************************************************************/

@font-face {
	font-family: 'FontAwesome';
	src: url('data/fontawesome-webfont.eot?v=4.7.0');
	src: url('data/fontawesome-webfont.eot') format('embedded-opentype'), url('data/fontawesome-webfont.woff2') format('woff2');
	font-weight: normal;
	font-style: normal
}

.fa {
	display: inline-block;
	font: normal normal normal 20px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}

.fa-mail:before {
	content: "\f003";
	font-size: 32px;
}

.fa-home:before {
	content: "\f015";
	font-size: 32px;
}

.fa-phone:before {
	content: "\f095";
	font-size: 32px;
}

.fa-bars:before {
	content: "\f0c9";
	font-size: 32px;
}
