/**
 * main.css
 *
 * 1. General HTML tags
 * 2. Masthead area
 * 3. Main content and sidebar
 * 4. Footer
 * 5. Media queries for responsive layout
 * 6. Accessibility helpers
 *
 */

/*********************************************************************
 * 1. General HTML tags
 *
 */

html,
body {
	min-height:100vh;
	padding:0;
	margin:0;
	font-family: 'Raleway', sans-serif;
	font-size:16px;
 }

 *{
	 box-sizing:border-box;
 }

.container{
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding:10px 20px;
	min-height:80vh;
}

.flex-container{
	 width:100%;
	 display:flex;
	 flex-direction:column;
	 justify-content: space-between;
	 align-content: flex-start | flex-end;
	 margin:0 auto;
}

.background-mandala{
	position:fixed;
	z-index:-100;
	left:-50%;
	top:-40%;
	opacity: .04;
	width:200%;
}

span{
	font-family: 'Dancing Script', cursive;
	font-size:2.5rem;
}

ul{
	padding-left:15px;
}
ul li {
	list-style: circle;
	line-height:1.5rem;
	margin-bottom:10px;
}

a {
	text-decoration:none;
	color:rgba(201,37,44,1);

}

img{
	margin:20px 0;
}
/*------Navigation Style--------------------------------*/

nav{
	display:none;
	width:100%;
}

.page-thumb a{
	color:black;
}

.page-thumb img{
	margin:0;
}

nav ul{
	padding:0;
	width:80%;
	margin:0 auto;
}

nav ul li{
	margin-bottom:0;
}


.topnav{
	text-align:center;
	padding-bottom:20px;
}

.topnav li{
	display:block;
	font-size:1.5rem;
	line-height:2.25rem;
	padding:10px;
}

.topnav a{
	color:white;
}


/*-------Typography style-------------------------------------------*/


h1{
	font-size:2rem;
	line-height:2.5rem;
}

h2{
	font-size:1.5rem;
	line-height:1.75rem;
	font-weight:600;
}

h3{
	font-size:1.25rem;
	line-height:1.5rem;
	font-weight:600;
}

p{
	line-height:1.3rem;
}

p span{
	font-size:1.5rem;
}

strong{
	font-weight:600;
}

body > h1, h2, h3, p{
	margin-bottom:20px;
}

img{
	width:100%;
}

.clearit{
	display:block;
	clear:both;
	width:100%;
}


/*Background image CSS for mobile-------------------------------------------------*/

.background-mobile{
	position:fixed;
	top:55%; left:50%;
	z-index:-100;
	min-width:150%;
	width:auto;
	height:auto;
	overflow:hidden;
	transform: translate(-50%, -50%);
}

.background-desktop{
	display:none;
}

/*----Header style------------------------------*/

header{
	color:white;
	width:100%;
	padding-bottom:10px;
}

.header-background{
	background-color: rgba(201,37,44,1);
	background-image: url(img/seamless.jpg);
	height:100%;
	width:100%;
}

header h1{
	text-align:center;
	padding: 20px 5% 0 5%;
	margin-bottom:0;
}

footer{
	padding:20px 5%;
	background-color:#000000;
	color:white;
	text-align:center;
}

footer p{
	margin-bottom:10px;
}

button#show-hide-menu{
	width:100%;
	padding-top:10px;
	font-size:1.5rem;
	border:none;
	background-color:transparent;
	color:white;
	text-transform:uppercase;
}

/*Home Page CSS------------------------------------------------------------*/
.promo-section{
	padding:40px 0;
	display:flex;
	flex-direction:column;
}

.promo{
	width:100%;
	margin:0 auto;
	background-color: rgba(255,255,255,.7);
	text-align:center;
	padding:20px;
	margin-bottom:40px;
}

.promo p{
	font-size:2rem;
	line-height:2.5rem;
}

.promo a{
	color:black;
}

.promo:last-child{
	margin-bottom:0;
}

.promo em strong{
	font-family: 'Dancing Script', cursive;
	font-size:2.5rem;
}



/*Media Pages CSS---------------------------------------------------------------------*/

.page-thumb{
	color:white;
	width:100%;
	margin:20px 0;
	padding: 0 0 20px 0;
	position:relative;
}

.page-thumb h2{
	text-transform:uppercase;
	margin-bottom:0;
	color:#828282;
}

.page-thumb-icon{
	position:absolute;
	top:20px; right:20px;
	font-size:3rem;
	color: rgba(255,255,255,.75);
}

.video{
	width:100%;
	margin: 40px 0;
}

.video h2{
	padding:10px;
}

.gallery {
	display: flex;
	flex-flow: row wrap;
	margin:40px 0;
	width:100%;

}

 .thumb {
	/* min-height: 300px; */
	height:200px;
	display: inline-block;
	background-size: cover;
	background-position: center;
	/* background-color:#cacaca; */
}

.thumb p{
	padding:10px 20px;
	background-color:rgba(0,0,0,.6);
	position:absolute;
	bottom:0;
	width:100%;
}

 a.thumb.swipebox {
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: calc(99.9% * 1/1 - (3px - 3px * 1/2));
	width: calc(99.9% * 1/3 - (3px - 3px * 1/2));
	/* height: calc(99.9% * 1/3 - (3px - 3px * 1/2));  */
	border: 1px solid #fff;
	color:white;
	position:relative;
}


/*Projects CSS------------------------------------------------------------------*/

.projects{
	width:100%;
	padding:20px;
	margin:0 auto;
	margin-bottom:40px;
}

.projects a{
	color:#000000;
}

.projects span{
	color:rgba(201,37,44,1);
}


/*--- Form styling --------------------------------------------------------- */

#contact-form{
	width:100%;
}

.InputfieldForm {
	width: 100%;
	margin: 0 auto;
}

.Inputfields, .Inputfields li {
	list-style: none;
	margin: 0.5rem 0;
	padding: 0;
	line-height: 1.1;
}

.Inputfields li label {
	font-size: 1rem;
	/* text-transform: uppercase; */
	font-family: var(--formFont);
	/* letter-spacing: 0.2rem; */
	/*font-weight: bold;*/
	margin-bottom: 0.25rem;
}

.InputfieldFileUpload {
	border: 1px solid rgb(194, 194, 194);
    padding: 0.5rem;
    border-radius: 0.25rem;
    margin-bottom: 1rem;
}

.InputfieldContent {
	margin: 0.5rem 0 1rem;
}

select,
input[type="text"],
input[type="email"],
textarea {
	font-family: var(--formFont);
  	border: 1px solid #c4c4c4;
  	border-radius: 0.25rem;
  	padding: 1rem;
  	width: 100%;
  	color: var(--formTextColor);
  	outline: medium none;
  	box-sizing: border-box;
  	font-size: 1rem;
}
select {
	background-color: var(--backColor);
}

.toggle-icon {
	display: none;
}

.ui-state-error {
	font-family: var(--formFont);
	font-weight: 400;
	font-size: 0.85rem;
	color: red;
}

#Inputfield_submit {
	border: none;
	padding: .5rem 1rem;
	background-color: #46f19e;
	color: var(--menuBkgColor);
	font-family: var(--hdgFont);
}

.ui-button-text{
	font-size:1.25rem;
}

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:    var(--formPlaceHolderColor);
	font-size: 1rem;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	color:    var(--formPlaceHolderColor);
	opacity:  1;
	font-size: 1rem;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	color:    var(--formPlaceHolderColor);
	opacity:  1;
	font-size: 1rem;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color:    var(--formPlaceHolderColor);
	font-size: 1rem;
}


@media only screen and (min-width: 768px){

	.flex-container{
		min-height:70vh;
		width:100%;
		flex-direction:row;
		flex-flow:row wrap;
	}

	.page-thumb{
		width:48%;
	}

	.promo-section{
		width:50%;
		margin:0 auto;
	}

}

@media only screen and (min-width:960px){
	.background-mobile{
		top:120%;
		max-width:100%;
	}

	.page-thumb{
		width:32%;
	}
}


@media only screen and (min-width: 1024px){
	.container{
		max-width:900px;
	}

	.topnav li{
		display:inline-block;
		font-size:1.25rem;
	}

	.background-mobile{
		top:80%;
		min-width:100%;
	}

	.promo-section{
		width:100%;
		margin-top:220px;
		flex-flow: row wrap;
	}

	.promo{
		width:40%;
	}

	.promo p{
		font-size:2.25rem;
	}

	.promo p em strong{
		font-size:2.5rem;
	}

	.page-thumb{
		width:32%;
	}

	.page-thumb h3{
		font-size:1rem;
	}

	a.thumb.swipebox{
		flex-basis: calc(99.9% * 1/3 - (3px - 3px * 1/2));
	}

}


@media only screen and (min-width: 1366px){

	.container{
		width:80%;
		max-width:1200px;
	}

	.background-mandala{
		top:-20%;
		left:0;
		max-width:100%;
	}

	button#show-hide-menu{
		display:none;
	}

	nav{
		display:block;
	}

	.topnav{
		width:100%;
		padding-top:28px;
	}

	.topnav ul{
		width:100%;
	}

	.topnav li{
		display:inline-block;
		font-size:1rem;
		padding:5px 10px;
		border-top: 1px solid white;
		border-bottom: 1px solid white;
	}

	.promo-section{
		margin-top:200px;
	}

	.promo{
		width:45%;
		margin-bottom:0;
		height:200px; 
	}

	.promo p{
		font-size:2.25rem;
	}

	.promo p em strong{
		font-size:3rem;
	}

	.background-desktop{
		display:block;
		position: fixed;
		top: 50%;
		left: 50%;
		min-width: 100vw;
		min-height: 100%;
		width: auto;
		height: auto;
		z-index: -100;
		transform: translateX(-50%) translateY(-50%);
  		background-size: cover;
  		transition: 1s opacity;
	}

	.background-desktop video{
		min-width:100vw;
	}

	.background-mobile{
		display:none;
	}

	h1{
		font-size:2rem;
		line-height:3.5rem;
	}

	header{
		height:110px;
		position:relative;
		z-index:100;
	}

	header h1{
		float:left;
		text-align:left;
	}

	span{
		font-size:2.25rem;
	}

	.page-thumb{
		width:24%;
		margin:20px 0;
		padding:0;
	}
	
	.page-thumb h3{
		padding:20px 5%;
	}

	.page-thumb span{
		font-size:2rem;
	}


	/*Media Pages CSS---------------------------------------------------------------------*/

	.gallery {
		width:100%;
	}

	.thumb{
		width:20%;
		height:240px;
	}

	a.thumb.swipebox{
		flex-basis: calc(99.9% * 1/5 - (3px - 3px * 1/2));
	}

}

@media only screen and (min-width: 1600px){

	.container{
		max-width:1600px;
		margin-top:30px;
	}

	.topnav li{
		font-size:1.25rem;
	}

	header h1{
		font-size:2.5rem;
	}

	header h1 span{
		font-size:3rem;
	}

	h1{
		font-size:3rem;
	}

	h1 span{
		font-size:3.5rem;
	}

	.promo-section{
		margin-top:360px;
		max-width:1200px;
	}

	.promo p{
		font-size:3rem;
		line-height:3.5rem;
	}

	.promo p em strong{
		font-size:3.5rem;
	}

}

@media only screen and (min-width: 1900px){
	.topnav li{
		font-size:1.5rem;
		padding:5px 20px;
	}

	.promo-section{
		margin-top:400px;
	}
}