@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800);

/*------------------------------------------------------------------
[Table of contents]

1. Loader / #loader
2. Colors
3. Header / header
4. Home Slider / .home-slider
5. Home2
6. Gallery / .gallery
7. Footer / footer
8. Blog / .main
9. Aside / aside
10. Blog Post / .post-page
11. Work / .work-page
12. Contact / .contact-page
13. Archive / .archive
14. Countdown / #countdown
15. Shortcodes / .shortcode-page
16. Media Queries / @media
-------------------------------------------------------------------*/


p{
	font-family: "Open Sans";
	margin-top: 10px;
}

p .categories{
	margin-top: 10px;
	margin-bottom: 10px;}
	
.recopilation{
font-size: 12px;
margin-top: 10px;
margin-bottom: 20px;
text-align: justify;
}


span{
	color:#49b4ff;
}

iframe{
	border:none;
}

h1 {
margin-top: 20px;
color:#2a2a2a;
font-weight: normal;
font-family: "Montserrat";
font-size: 22px;
}


h2{

    margin-bottom:15px;
	font-weight: normal;
	font-family: "Montserrat";
	color:#2a2a2a;
	
}

h3{
	font-weight: 400;
	color:#2a2a2a;
	text-transform: uppercase;
}



.download-blocks  a{
font-size:14px;
padding-top:100px;
}

.ads{
margin-bottom: 15px;
}


.asense{
width:728px;
margin: 0 auto;
}

#privacy{
text-align: justify;
}

/**********************
******1. Loader****
**********************/

#loader{
	position: fixed;
	top: 0;
	left:0;
	width: 100%;
	height: 100%;
	background:#fff;
	z-index: 100;
	text-align: center;
}

#loader img{
	margin: 20% auto;
}

/**********************
******2. Colors*****
**********************/

.color-red{
	background-color: #e12727;
}

.color-blue{
	background-color: #49b4ff;
}

.color-violet{
	background-color: #7c90ec;
}

.color-yellow{
	background-color: #ffa810;
}

.color-gray{
	background-color: #aaaaaa;
}

.color-green{
	background-color: #00c012;
}

.color-beige{
	background-color: #d1b68f;
}

.color-facebook{
	background-color: #486fb0;
}

.color-twitter{
	background-color: #5cb5e8;
}

.color-youtube{
	background-color: #ea5932;
}


/**********************
******3. Header*****
**********************/

header{
	padding-top: 50px;
	text-align: center;
}

#responsive-menu-button{
	color:#aaa;
	display: none;
	width: 30px;
	height: 30px;
	margin: 20px auto -10px;
}

.menu{
	padding-top: 35px;
	display: block;
}

.menu li>a{
	display: block;
	font-size: 14px;
	font-family: "Montserrat";
	font-weight: 700;
	color:#444;
	padding: 13px 18px;
	text-transform: uppercase;

	transition: all 0.2s;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
}

.menu li:hover>a{
	color:#222;
	background-color: #eee;
}

.menu .dropdown:hover .dropdown-menu{
	display: block;
}

.menu .dropdown-menu{
	display:none;
}


.menu .dropdown-menu:before{
	content:"\f0d8";
	font-family: "FontAwesome";
	color:#fff;
	font-size: 14px;
	position: absolute;
	left:49%;
	top:-13px;
}

.dropdown-menu li{
	display: block;
	width: 100%;
}

.dropdown-menu li a{
	font-family: "Open Sans";
	font-size: 12px;
	color:#888;
	font-weight: 400;
	border-top: 1px solid #eee;
	text-transform: none;
}

.dropdown-menu li:first-child a{
	border-top: none;
}

.dropdown-menu li:hover a{
	color:#222;
	background-color: #eee;
}

header p{
	font-size: 14px;
	color:#555;
	padding: 5x 100px 10px;
}

#menu-button{
	color:#aaa;
	display: block;
	width:30px;
	height: 30px;
	margin: 0 auto 10px;
}

.filters:before{
	background-color: #49b4ff;
	height: 100%;
	width:0;
	position: absolute;
	top:0;
	left: 0;
	content: '';
	z-index: -1;

	transition: all 0.5s;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
}

.filters ul{
	opacity: 0;
	position: relative;
	max-height: 0;


	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
}

.filters li{
	display: none;
	cursor:pointer;
	font-size: 11px;
	font-family: "Montserrat";
	font-weight: 700;
	color:#fff;
	padding: 12px 15px;
	text-transform: uppercase;

	transition: all 0.2s;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
}

.filters li:hover,
.filters li.active{
	background-color: rgba(255,255,255,0.3);
}

/**********************
******4. Home Slider*****
**********************/

.home-slider{
	position: relative;
}

.home-slider img{
	max-width: 100%;
	height: auto;
}

.home-slider .controls{
	position: absolute;
	z-index: 100;
	top:50%;
	left:50%;
	margin-top: -40px;
	margin-left:-570px;
}

.home-slider .controls .prev a,
.home-slider .controls .next a{
	position: absolute;
	display: block;
	top:0;
	left:0;
	width:80px;
	height: 80px;
}

.home-slider .controls .prev,
.home-slider .controls .next{
	cursor: pointer;
	position: relative;
	display: inline-block;
	width:80px;
	height: 80px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}

.home-slider .controls .prev:hover,
.home-slider .controls .next:hover{
	background-color: rgba(255,255,255,0.1);
}

.home-slider .controls .next{
	margin-left:980px;
}

/**********************
******5. Home2*****
**********************/

.gallery .filter-section{
	text-align: center;
	position: relative;
	z-index: 10;
	margin-top: -30px;
	margin-bottom: 30px;
}

.gallery .filter-section #menu-button{
	position: absolute;
	top:-40px;
	left:50%;
	width: 40px;
	height: 40px;
	padding-top: 10px;
	background-color: #f9f9f9;
	box-shadow: inset 0 -5px 10px -6px rgba(0,0,0,0.4);
	
	-webkit-border-radius: 2px 2px 0 0;
	-moz-border-radius: 2px 2px 0 0;
	border-radius: 2px 2px 0 0;
	margin-left: -20px;

	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
}

/**********************
******6. Gallery*****
**********************/

.gallery{
	background-color: #eee;
	padding-top: 30px;
	padding-bottom: 5rem;
}

.grid{
	padding: 0;
	margin: 0;
	list-style: none;
}

.work figure {
	position: relative;
	overflow: hidden;
	margin-bottom: 30px;
	box-shadow: 0 3px 10px 0 rgba(0,0,0,0.1);
	border-radius: 10px;

	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
}

.work figure img {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
}

.work figcaption {
	position: absolute;
	top: 0;
	z-index: 11;
	width: 100%;
	height: 100%;
	text-align: center;
	padding-top: 40px;
}

.work figcaption h3 {
	-webkit-transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
}

.work figcaption .divider{
	width: 70px;
	height: 2px;
	margin:15px auto;
	-webkit-transition: opacity 0.1s, -webkit-transform 0.1s;
	transition: opacity 0.1s, transform 0.1s;
}

.work figcaption p {
	padding:0 35px;
	color: #555;
	font-size: 13px;
	-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
	transition: opacity 0.3s, transform 0.3s;
}

.work figcaption h3,
.work figcaption p,
.work figcaption .divider {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

.work figure .button {
	position: absolute;
	border: none;
	text-transform: uppercase;
	-webkit-transition: opacity 0.2s, -webkit-transform 0.2s, background 0.1s;
	transition: opacity 0.2s, transform 0.2s, background 0.1s;
}

.work figcaption,
.work figcaption h3,
.work figcaption p,
.work figcaption .divider
.work figure .button {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.work svg {
	position: absolute;
	top: -1px; /* fixes rendering issue in FF */
	z-index: 10;
	width: 100%;
	height: 100%;
}

.work svg path {
	fill: #fff;
}

.work:hover figcaption h3,
.work:hover figcaption p,
.work:hover figcaption .divider {
	-webkit-transform: translateY(-20px);
	transform: translateY(-20px);
}

.work:hover figcaption p,
.work:hover figcaption .divider {
	opacity: 0;
}

.work figcaption p {
	-webkit-transition-delay: 0.05s;
	transition-delay: 0.05s;
}

.work figure .button {
	bottom: 0;
	left: 0;
	padding: 15px;
	width: 100%;
	background: rgba(84,109,142,0.8);
	color: #fff;
	font-family: "Montserrat";
	font-weight: 400;
	font-size: 12px;
	border-radius: 0 0 10px 10px;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}

.work figure .button:hover {
	background: rgba(84,109,142,1);
}

.work figure .button i,
.btn i{
	margin-right: 10px;
	font-size: 14px;
}

 .work:hover figure .button {
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

 .work figcaption h3, 
 .work figcaption p{
	-webkit-transition-timing-function: cubic-bezier(0.250, 0.250, 0.115, 1); /* older webkit */
	-webkit-transition-timing-function: cubic-bezier(0.250, 0.250, 0.115, 1.445);
	timing-function: cubic-bezier(0.250, 0.250, 0.115, 1.445);
}

 .work:hover figcaption p{
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
	-webkit-transition-duration: 0.1s;
	transition-duration: 0.1s;
}

.gallery .row:last-child{
 	text-align: center;
 	padding-bottom: 30px;
}

/**********************
******7. Footer*****
**********************/

footer{
	background-color: #444;
	padding:20px 0;
}

footer .container{
	text-align: center;
}

footer img{
	float:left;
}

footer .social{
	text-align: center;
	display: inline-block;
}


footer .social li a{
	display: block;
	width: 40px;
	height: 40px;
	padding-top: 10px;
	text-align: center;
	background-color: transparent;

	transition: all 0.2s;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
}

footer .social li a:hover{
	background-color: rgba(255,255,255,0.1);
}

footer .social li a i{
	color:#fff;
	font-size: 14px;
}


footer p{
	float: right;
	padding-top: 12px;
	color: #fff;
	font-size: 12px;
}

/**********************
******8. Blog*****
**********************/

.main{
 	background-color: #eee;
 	padding-top: 30px;
}

.post, aside{
	background-color: #fff;
	box-shadow: 0 3px 10px 0 rgba(0,0,0,0.1);
	margin-bottom: 30px;

	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

.content,
.comments{
	position: relative;
	z-index: 10;
	padding: 0 30px 30px;
	overflow: hidden;
	background-color: #fff;
	box-shadow: 0 3px 10px 0 rgba(0,0,0,0.1);
	margin-bottom: 30px;

	-webkit-border-radius: 0 0 3px 3px;
	-moz-border-radius:  0 0 3px 3px;
	border-radius:  0 0 3px 3px;
}

.content:first-child,
.comments{
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius:  3px;
}

.post .content{
	box-shadow:none;
}

.main h3{
	margin:0 -30px;
	padding: 30px;
	line-height: 22px;
	border-bottom: 1px solid #eee;
}

.content h3 a{
	color:inherit;

	transition: all 0.2s;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
}

.content h3 a:hover{
	color:#49b4ff;
}

.content p,
.post p{
	padding-top: 15px;
	color:#555;
	font-size: 13px;
}

.post a>img{
	max-width: 100%;
}

.post .details{
	padding: 20px 0 0;
}

.post .details li{
	padding-right: 25px;
}

.post .details li:last-child{
	padding-right: 0;
}

.post .details a{
	font-family: "Open Sans";
	color:#aaa;
	font-size: 11px;
}

.post .details a:hover{
	color:#666;
}

.post .details i{
	color:#49b4ff;
	padding-right: 10px;
	font-size: 14px;
}

.post .details i.fa-heart-o{
	color:#e5451a;
}

.post a>img,
.post>img,
.post .slider,
.contact-page .map iframe{
	width: 100%;
	-webkit-border-radius: 10px 10px 0 0;
	-moz-border-radius: 10px 10px 0 0;
	border-radius: 10px 10px 0 0;
	box-shadow: 0 3px 10px 0 rgba(0,0,0,0.1);
}

blockquote{
	position: relative;
	box-shadow: 0 3px 10px 0 rgba(0,0,0,0.1);
	font-family: "Montserrat";
	font-size: 14px;
	font-weight: 700;
	color:#fff;
	text-transform: uppercase;
	padding: 25px 30px;
	border:none;

	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

blockquote:after{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height: 100%;
	background: rgba(255,255,255,0);
}

blockquote:hover:after{
	background: rgba(255,255,255,0.1);
}

blockquote p,
.post blockquote p{
	color:#fff;
	padding:0;
}

blockquote i,
.post blockquote i{
	padding-right: 10px;
}

blockquote:before{
	content: '“';
	position: absolute;
	top:0;
	left:0;
	font-size: 200px;
	line-height: 135px;
	color:rgba(255,255,255,0.2);
}

blockquote footer{
	font-size: 13px;
	padding: 20px 0 0;
	font-weight: 400;
	text-transform: none;
	font-family: "Open Sans";
	background-color: transparent;
	color: #fff;
}

blockquote footer:before{
	content:none;
}

.post .slider{
	position: relative;
}

.post .slider .controls{
	position: absolute;
	z-index: 100;
	top:50%;
	width:100%;
	margin-top: -20px;
	opacity: 0;

	transition: all 0.2s;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
}

.post .slider:hover .controls{
	opacity: 1;
}

.post .slider .controls .prev,
.post .slider .controls .next{
	display: inline-block;
	position: relative;
	padding:0;
	width: 40px;
	height: 40px;
	text-align: center;
	color:#fff;
	font-size: 24px;

	transition: all 0.2s;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
}

.post .slider .controls .prev a,
.post .slider .controls .next a{
	position: absolute;
	display: block;
	top:0;
	left:0;
	width: 40px;
	height: 40px;
}

.post .slider .controls .next{
	float: left;
}

.post .slider .controls .next{
	float: right;
}

.post .slider .controls .prev:hover,
.post .slider .controls .next:hover{
	background: rgba(255,255,255,0.3);
}

.post .slider .bx-controls{
	position: absolute;
	bottom: 0;
	height: 35px;
	margin-bottom: 0;
	background: transparent;
	text-align: center;
	width: 100%;
}

.post .slider .bx-pager-link{
	background: rgba(255,255,255,0.5);
}

.post .slider .bx-pager-link:hover,
.post .slider .bx-pager-link.active{
	background: #fff;
}

/**********************
******9. Aside*****
**********************/

aside{
	padding:30px;
}

aside h6{
	text-transform: uppercase;
	font-weight: 700;
	margin-bottom: 20px;
	margin-top: 0;
}

aside .input-group{
	margin:0 -30px;
	padding: 0 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #eee;
	margin-bottom: 25px;
}

aside .form-control::-moz-placeholder {
  color: #aaa;
  font-size: 13px;
  font-family: "Open Sans";
  opacity: 1;
}
 aside .form-control:-ms-input-placeholder {
  color: #aaa;
  font-size: 13px;
  font-family: "Open Sans";
  opacity: 1;
}
aside .form-control::-webkit-input-placeholder {
  color: #aaa;
  font-size: 13px;
  font-family: "Open Sans";
  opacity: 1;
}

.slider img{
	max-width: 100%;
	height: auto;
}

.slider .bx-controls{
	height: 35px;
	margin-bottom: 25px;
	background: #eee;
}

.slider .bx-pager{
	text-align: center;
}

.slider .bx-pager-item{
	display: inline-block;
	position: relative;
}

.slider .bx-pager-link{
	background-color: #ddd;
	width: 7px;
	height: 7px;
	display: block;
	font-size: 0;
	margin:0 4px 0;

	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;

	transition: all 0.2s;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
}

.slider .bx-pager-link:hover,
.slider .bx-pager-link.active{
	background-color: #49b4ff;
}

.flickr{
	margin:0 -8px 16px;
}

.flickr a,
.flickr img{
	width: 40px;
	height: 40px;
	display: inline-block;
}

.flickr a{
	margin:5px 5px;
}

.small-post{
	margin-bottom: 25px;
}

.small-post img{
	float:left;
	width:45px;
	height:45px;
	max-width: 100%;
	max-height: 100%;
	margin-right: 20px;
	margin-top: 4px;
}

.small-post p{
	font-size: 13px;
	line-height: 16px;
	color: #555;
	margin-top: -4px;
}

.small-post:hover p{
	color: #222;
}

.twitter{
	margin-bottom: 15px;
}

.categories{
	list-style: none;
	padding: 0;
	margin-bottom: 20px;
}

.categories{
	margin-top: -8px;
}

.categories li,
.categories li a{
	transition: all 0.2s;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
}

.categories a{
	position: relative;
	display: block;
	font-size: 13px;
	color:#555;
	padding: 7px;
	padding-left: 0;
}

.categories a:before{
	content:'•';
	position: relative;
	color:#49b4ff;
	font-size: 24px;
	padding-right: 10px;
	top: 4px;
	line-height: 0;
}

.categories li:hover{
	background: #eee;

	transition: all 0.1s;
	-webkit-transition: all 0.1s;
	-moz-transition: all 0.1s;
	-o-transition: all 0.1s;
}

.categories li:hover a{
	padding-left: 10px;
	color: #222;

	transition: all 0.1s;
	-webkit-transition: all 0.1s;
	-moz-transition: all 0.1s;
	-o-transition: all 0.1s;
}

aside img{
	width: 100%
}




/**********************
******11. Work****
**********************/

.work-page .post .content{
	text-align: center;
}

.client i{
	color:#49b4ff;
	padding-right: 10px;
}

p.client, .client a{
	font-size: 11px;
	color: #888;
}

.client a:hover{
	color: #555;
}

.main .work h3{
	border:none;
	margin:0;
	padding: 0;
}





/**********************
******13. Archive*****
**********************/

ul.archive {
	list-style: none;
	padding-left: 0;
	margin-top: -10px;
}

ul.archive li{
	margin-bottom: 1px;
}

ul.archive li a{
	display: block;
	background-color: #eee;
	font-size: 13px;
	color:#888;
	font-family: "Open Sans";
	padding:12px;

	transition: all 0.2s;
  	-webkit-transition: all 0.2s;
  	-moz-transition: all 0.2s;
  	-o-transition: all 0.2s;
}

ul.archive li:hover a{
	background-color: #ddd;

	transition: all 0.1s;
  	-webkit-transition: all 0.1s;
  	-moz-transition: all 0.1s;
  	-o-transition: all 0.1s;
}

ul.archive li:hover a i{
	padding-left: 10px;
	color:#49b4ff;

	transition: all 0.1s;
  	-webkit-transition: all 0.1s;
  	-moz-transition: all 0.1s;
  	-o-transition: all 0.1s;
}

ul.archive li a i{
	padding-right: 10px;

	transition: all 0.2s;
  	-webkit-transition: all 0.2s;
  	-moz-transition: all 0.2s;
  	-o-transition: all 0.2s;
}

.archive-result .content h3{
	padding-bottom: 0;
	border-bottom: none;
}



/**********************
******15. Shortcodes****
**********************/

.shortcode-page .post .row{
	margin-bottom: 20px;
}

.shortcode-page h3{
	margin-bottom: 20px;
}

.shortcode-page .btn{
	margin-bottom: 5px;
}


/**********************
******16. Media Queries***
**********************/
@media (min-width: 320px) and (max-width: 767px) {

	.home-slider .controls{
		display: none;
	}
	
	#responsive-menu-button{
		display: block;
		position: absolute;
		top:0px;
		right: 20px;
	}

	.menu{
		display: none;
		position:absolute;
		top:20px;
		right: 60px;
		width:80%;
		background-color: #fff;
		-webkit-box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.1);
		box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.1);
		padding-top: 0;
		z-index: 100;
	}

	.menu li{
		display: block;
		text-align: left;
	}

	.menu .dropdown .dropdown-menu{
		display: block;
		position: relative;
		box-shadow: none;
		width: 100%;
		left:0;
		margin-left: 0;
	}

	.menu .dropdown-menu:before{
		content:"";
		font-family: "FontAwesome";
	}

	.dropdown-menu li{
		display: block;
		width: 100%;
		text-align: left;
		padding: 0 15px;
	}

	header p {
		padding: 20px 20px 30px;
	}

	footer img,
	footer ul,
	footer p{
		display: block;
		float: none;
		margin:5px auto;
	}

	.grid>li{
		width: 100%;
	}

	#contact .col-sm-12 {
		margin-bottom: 20px;
	}

	#contact .row {
		margin-bottom: 0px;
	}

	#countdown{
		padding:10px 20px 40px;
	}

	#countdown .countdown_section{
		width:50%;
	}

	.countdown-page .info {
		padding: 30px;
	}
}

@media (min-width: 320px) and (max-width: 991px)  {
	#menu-button {
		display: none;
	}

	.filters li {
		display: inline-block;
	}

	.filters ul {
		opacity: 1;
		max-height: 100%;
	}

	.filters:before {
		width: 100% !important;
	}
}

@media (min-width: 768px) and (max-width: 1199px)  {
	.post .details li {
		padding-right: 10px;
	}

	.post .details i {
		padding-right: 3px;
	}
	.small-post img {
		margin-right: 15px;
	}

	#twitter-widget-0{
		width:100%;
		max-width: 100% !important;
		min-width: 100% !important;
	}

	.small-post p {
		font-size: 11px;
		line-height: 14px;
	}

@media (min-width: 768px) and (max-width: 991px) {
	
	.home-slider .controls{
		margin-left: -360px;
	}
	.home-slider .controls .next {
		margin-left: 560px;
	}

	#countdown {
		padding: 100px 100px;
	}

	.countdown-page .info {
		padding: 50px 100px 100px;
	}

	#contact .col-sm-12 {
		margin-bottom: 20px;
	}

	#contact .row {
		margin-bottom: 0px;
	}

}

@media (min-width: 992px) and (max-width: 1199px) {
	.home-slider .controls{
		margin-left: -470px;
	}
	.home-slider .controls .next {
		margin-left: 780px;
	}
}

@media (min-width: 1200px) {

}

.download-blocks  a{
font-size:20px;
padding-top:100px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}




}


/**********************************************
****** Minimal pill-shaped top menu
****** Overrides the original menu styles above.
**********************************************/

.menu .list-inline > li{
	padding-left: 3px;
	padding-right: 3px;
}

.menu li > a{
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #5F6B7A;
	padding: 12px 22px;
	border: 1px solid transparent;
	border-radius: 999px;
	background-color: transparent;
	transition: color .2s, border-color .2s;
}

.menu li:hover > a,
.menu li > a:focus-visible{
	color: #1C2530;
	border-color: #D5DCE4;
	background-color: transparent;
	outline: none;
}

/* Current page: outline in brand colour */
.menu .list-inline > li.active > a{
	color: #546D8E;
	border-color: #546D8E;
	background-color: transparent;
}

/* Categories dropdown: flat, thin border, no shadow */
.menu .dropdown-menu{
	border: 1px solid #E3E8EE;
	border-radius: 12px;
	padding: 8px;
	margin-top: 0;
	box-shadow: none;
}

.menu .dropdown-menu:before{
	content: none;
}

.menu .dropdown-menu li a{
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: #5F6B7A;
	border: none;
	border-radius: 8px;
	padding: 9px 14px;
	text-align: left;
}

.menu .dropdown-menu li:hover a{
	color: #1C2530;
	background-color: #F4F6F8;
}

@media (min-width: 320px) and (max-width: 767px) {
	.menu{
		border-radius: 12px;
		padding: 8px;
		box-shadow: 0 0 0 1px #E3E8EE;
	}
	.menu .list-inline > li{
		padding: 0;
	}
	.menu li > a{
		border-radius: 8px;
		padding: 12px 14px;
	}
	.menu .dropdown .dropdown-menu{
		border: none;
		padding: 0 0 0 10px;
	}
	.menu .dropdown-menu li{
		padding: 0;
	}
}

@media (prefers-reduced-motion: reduce){
	.menu li > a{ transition: none; }
}


/**********************************************
****** Google search box in the top menu (all pages)
****** Removes the Google watermark and gives the box
****** the same minimal pill style as the menu.
**********************************************/

.menu #cse-search-box{
	display: inline-block;
	vertical-align: middle;
	margin: 0;
}

.menu #cse-search-box > div{
	display: flex;
	align-items: center;
	height: 44px;
	padding: 3px 3px 3px 18px;
	background: #fff;
	border: 1px solid #D5DCE4;
	border-radius: 999px;
	transition: border-color .2s, box-shadow .2s;
}

.menu #cse-search-box > div:hover{
	border-color: #B9C4D0;
}

.menu #cse-search-box > div:focus-within{
	border-color: #546D8E;
	box-shadow: 0 0 0 3px rgba(84, 109, 142, .15);
}

/* Text field: !important overrides the inline styles Google's script adds (watermark, border) */
.menu #cse-search-box input[name="q"]{
	width: 170px !important;
	height: 36px;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	outline: none;
	box-shadow: none;
	background: transparent none !important;
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 14px;
	color: #1C2530;
}

/* Search button: round, magnifier icon instead of text */
.menu #cse-search-box input[name="sa"]{
	flex: none;
	width: 36px;
	height: 36px;
	margin: 0 0 0 6px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	font-size: 0;
	color: transparent;
	text-indent: -9999px;
	overflow: hidden;
	-webkit-appearance: none;
	appearance: none;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235F6B7A' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat center / 18px;
	transition: background-color .2s;
}

.menu #cse-search-box input[name="sa"]:hover,
.menu #cse-search-box input[name="sa"]:focus-visible{
	outline: none;
	background-color: #F4F6F8;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23546D8E' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E");
}

@media (min-width: 320px) and (max-width: 767px) {
	.menu #cse-search-box{
		display: block;
		margin: 6px 0 2px;
	}
	.menu #cse-search-box input[name="q"]{
		flex: 1;
		width: auto !important;
		min-width: 0;
	}
}


/**********************************************
****** TEST: menu + search as one toolbar (style-test.css)
**********************************************/

@media (min-width: 768px) {

	/* Menu items and search in one airy row, no outer frame */
	.menu > .list-inline{
		display: inline-flex;
		align-items: center;
		gap: 14px;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.menu > .list-inline > li{
		padding: 0;
	}

	.menu > .list-inline > li > a{
		padding: 12px 24px;
		border: 0;
		text-decoration: none;
	}

	/* Inside the bar: soft fill on hover instead of outline */
	.menu > .list-inline > li:hover > a,
	.menu > .list-inline > li > a:focus-visible{
		color: #1C2530;
		background-color: #F4F6F8;
	}

	.menu > .list-inline > li.active > a{
		color: #546D8E;
		background-color: #EEF2F6;
	}

	/* Search: separated by a hairline, fills the rest of the bar */
	.menu li.menu-search{
		margin-left: 14px;
		padding-left: 28px;
		border-left: 1px solid #E3E8EE;
	}

	.menu li.menu-search #cse-search-box > div{
		height: 44px;
		padding: 2px 2px 2px 16px;
		background: #F6F8FA;
		border: 1px solid transparent;
		border-radius: 999px;
		box-shadow: none;
	}

	.menu li.menu-search #cse-search-box > div:hover{
		border-color: #E3E8EE;
	}

	.menu li.menu-search #cse-search-box > div:focus-within{
		background: #fff;
		border-color: #546D8E;
		box-shadow: 0 0 0 3px rgba(84, 109, 142, .15);
	}

	.menu li.menu-search #cse-search-box input[name="q"]{
		width: 230px !important;
	}
}

/* Medium screens (tablets / small laptops): tighter spacing, no wrapping */
@media (min-width: 768px) and (max-width: 1099px) {
	.menu > .list-inline{ gap: 4px; }
	.menu > .list-inline > li > a{ padding: 12px 14px; white-space: nowrap; }
	.menu li.menu-search{ margin-left: 6px; padding-left: 12px; }
	.menu li.menu-search #cse-search-box input[name="q"]{ width: 150px !important; }
}

.menu #cse-search-box input[name="q"]::placeholder{
	color: #8A95A3;
	opacity: 1;
}

.menu li > a:hover,
.menu li > a:focus{
	text-decoration: none;
}

/* Keyboard hint: press "/" to search */
.menu .search-key{
	flex: none;
	margin: 0 4px 0 8px;
	padding: 1px 7px;
	font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
	font-size: 11px;
	line-height: 18px;
	color: #8A95A3;
	background: #fff;
	border: 1px solid #D5DCE4;
	border-radius: 5px;
	box-shadow: none;
}

.menu #cse-search-box > div:focus-within .search-key,
.menu #cse-search-box input[name="q"]:not(:placeholder-shown) ~ .search-key{
	visibility: hidden;   /* keeps its space so the bar doesn't jump */
}

@media (hover: none), (max-width: 767px) {
	.menu .search-key{ display: none; }
}

@media (min-width: 320px) and (max-width: 767px) {
	.menu li.menu-search{
		margin: 6px 0 2px;
	}
}



/**********************************************
****** TEST 11: header split in two
****** Top band (logo + menu) and intro both white,
****** separated only by a faint grey line.
**********************************************/

header{
	padding-top: 0;
	background-color: #fff;
}

header .header-top{
	padding: 50px 0 28px;
	background-color: #FBFCFD;
	border-bottom: 1px solid #ECEFF3;
}

header .header-intro{
	padding-top: 8px;
}

@media (max-width: 767px) {
	header .header-top{
		padding: 50px 0 20px;
	}
}

/* No underline on header links (logo, menu) */
header .header-top a,
header .header-top a:hover,
header .header-top a:focus{
	text-decoration: none;
}

header .header-top a img{
	border: 0;
}

/* Logo link: no underline, outline or border of any kind */
header .header-top a.logo-link,
header .header-top a.logo-link:hover,
header .header-top a.logo-link:focus,
header .header-top a.logo-link:active{
	display: inline-block;
	line-height: 0;
	text-decoration: none !important;
	border: 0 !important;
	box-shadow: none !important;
	background: none !important;
	outline: none;
}

header .header-top a.logo-link:focus-visible{
	outline: 2px solid #546D8E;
	outline-offset: 4px;
	border-radius: 4px;
}

header .header-top a.logo-link img{
	display: block;
	border: 0;
}

/* Mobile hamburger button: no underline when tapped or focused */
#responsive-menu-button,
#responsive-menu-button:hover,
#responsive-menu-button:focus,
#responsive-menu-button:active{
	text-decoration: none !important;
	border: 0;
	outline: none;
	box-shadow: none;
}

#responsive-menu-button:focus-visible{
	outline: 2px solid #546D8E;
	outline-offset: 4px;
	border-radius: 4px;
}


/**********************************************
****** Final (download) page: rounded white block
**********************************************/

.work-page .post{
	margin-bottom: 30px;
	overflow: hidden;
	background-color: #fff;
	border-radius: clamp(6px, 1.2vw, 10px);   /* 10px on desktop, a bit less on phones */
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .1);
}

.work-page .post > img{
	display: block;
	border-radius: 0;
	box-shadow: none;
}

.work-page .post .content{
	margin-bottom: 0;
	border-radius: 0;
	box-shadow: none;
}


/**********************************************
****** TEST 6: menu details on the near-white grey band
**********************************************/

@media (min-width: 768px) {
	.header-top .menu > .list-inline > li:hover > a,
	.header-top .menu > .list-inline > li > a:focus-visible{
		background-color: #EEF1F5;
	}
	.header-top .menu > .list-inline > li.active > a{
		background-color: #E8EDF3;
	}
	.header-top .menu li.menu-search #cse-search-box > div{
		background: #fff;
		border-color: #E6EAEF;
	}
	.header-top .menu li.menu-search #cse-search-box > div:hover{
		border-color: #D3DAE2;
	}
}


/**********************************************
****** TEST 6: more breathing room on desktop
**********************************************/

@media (min-width: 992px) {
	.main{
		padding-top: 56px;
		padding-bottom: 96px;
	}
	.gallery{
		padding-top: 48px;
		padding-bottom: 96px;
	}
	/* Related blocks: clearly separated from the main block above */
	.related{
		margin-top: 56px;
	}
}


/**********************************************
****** TEST 6: new minimal footer (light, two rows)
**********************************************/

/* Whatever is below the footer on short pages uses the same colour */
html{
	background-color: #FBFCFD;
}
body{
	background-color: #fff;
}

footer.site-footer{
	padding: 64px 0 28px;
	background-color: #FBFCFD;
	border-top: 1px solid #ECEFF3;
	font-family: "Open Sans", Arial, sans-serif;
	color: #5F6B7A;
	text-align: left;
}

/* Reset the old footer rules (floats, white text) */
footer.site-footer .container{
	text-align: left;
}
footer.site-footer img{
	float: none;
}
footer.site-footer p{
	float: none;
	margin: 0;
	padding: 0;
	color: inherit;
}
footer.site-footer ul{
	margin: 0;
	padding: 0;
	list-style: none;
}
footer.site-footer a{
	color: #3D4A5A;
	text-decoration: none;
	transition: color .2s;
}
footer.site-footer a:hover,
footer.site-footer a:focus{
	color: #546D8E;
	text-decoration: none;
}

.footer-grid{
	display: grid;
	grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr));
	gap: 40px;
	padding-bottom: 48px;
}

.footer-brand .footer-logo{
	display: inline-block;
	line-height: 0;
}
.footer-brand .footer-logo img{
	display: block;
	height: 34px;
	width: auto;
}
.footer-brand p{
	max-width: 30em;
	margin-top: 16px;
	font-size: 13px;
	line-height: 1.7;
}

footer.site-footer .footer-title{
	margin: 4px 0 16px;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #8A95A3;
}

.footer-col li + li{
	margin-top: 10px;
}
.footer-col a{
	font-size: 14px;
}

/* Social: small round outlined icons */
.footer-social{
	display: flex;
	gap: 8px;
}
footer.site-footer .footer-social a{
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid #E1E6EC;
	border-radius: 50%;
	color: #5F6B7A;
	background: #fff;
	transition: color .2s, border-color .2s;
}
footer.site-footer .footer-social a:hover{
	color: #546D8E;
	border-color: #546D8E;
}
.footer-col .footer-social li + li{
	margin-top: 0;
}
.footer-social i{
	font-size: 15px;
}

.footer-bottom{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 24px;
	padding-top: 24px;
	border-top: 1px solid #ECEFF3;
	font-size: 12px;
	color: #8A95A3;
}

/* Tablet: brand on its own row, links in three columns */
@media (min-width: 768px) and (max-width: 991px) {
	.footer-grid{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.footer-brand{
		grid-column: 1 / -1;
	}
}

/* Mobile: everything stacked and centred */
@media (max-width: 767px) {
	footer.site-footer{
		padding: 44px 0 24px;
		text-align: center;
	}
	footer.site-footer .container{
		text-align: center;
	}
	.footer-grid{
		grid-template-columns: 1fr;
		gap: 28px;
		padding-bottom: 32px;
	}
	.footer-brand p{
		margin-left: auto;
		margin-right: auto;
	}
	.footer-social{
		justify-content: center;
	}
	.footer-bottom{
		flex-direction: column;
		justify-content: center;
	}
}


/**********************************************
****** TEST 7: sticky footer (standard flexbox technique)
****** The page is at least as tall as the window; the content
****** area grows to fill any free space, so on short pages the
****** footer sits at the bottom of the screen, and on long pages
****** it simply follows the content.
**********************************************/

body{
	display: flex;
	flex-direction: column;
	min-height: 100vh;      /* older browsers */
	min-height: 100dvh;     /* mobile: respects the browser bars */
}

body > header,
body > footer{
	flex: none;
}

/* The main content area (grey) takes up the remaining space */
body > .main,
body > .gallery,
body > main{
	flex: 1 0 auto;
}


/**********************************************
****** TEST 8: safety net for short pages
****** The page background behind everything is the footer colour,
****** so any space left at the bottom of the window looks like the
****** footer continuing. Each section keeps its own colour.
**********************************************/

html,
body{
	background-color: #FBFCFD;
}

header .header-intro,
header{
	background-color: #fff;
}

header .header-top,
footer.site-footer{
	background-color: #FBFCFD;
}

.main,
.gallery{
	background-color: #eee;
}


/**********************************************
****** TEST 8: no underlines in the footer
**********************************************/

footer.site-footer a,
footer.site-footer a:hover,
footer.site-footer a:focus,
footer.site-footer a:active{
	text-decoration: none !important;
}

footer.site-footer a:hover{
	color: #546D8E;
}

footer.site-footer .footer-logo{
	display: inline-block;
	line-height: 0;
}

footer.site-footer .footer-logo img{
	display: block;
	border: 0;
}


/**********************************************
****** Follow card (replaces the Facebook widget, no scripts)
**********************************************/

.follow-card{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
	margin-bottom: 30px;
	padding: 36px 24px 32px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .1);
}

.follow-card .follow-icon{
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin-bottom: 6px;
	border: 1px solid #E1E6EC;
	border-radius: 50%;
	color: #546D8E;
	font-size: 20px;
}

.follow-card p{
	margin: 0;
	padding: 0;
	float: none;
}

.follow-card .follow-title{
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #1C2530;
}

.follow-card .follow-text{
	max-width: 22em;
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 13px;
	line-height: 1.6;
	color: #5F6B7A;
}

.follow-card .follow-btn,
.follow-card .follow-btn:hover,
.follow-card .follow-btn:focus{
	text-decoration: none;
}

.follow-card .follow-btn{
	margin-top: 8px;
	padding: 10px 22px;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	color: #546D8E;
	border: 1px solid #546D8E;
	border-radius: 999px;
	transition: background-color .2s, color .2s;
}

.follow-card .follow-btn:hover{
	color: #fff;
	background-color: #546D8E;
}


/**********************************************
****** TEST 12: dark footer (#444) in harmony with
****** the light greys and the corporate blue #546D8E
**********************************************/

html{
	background-color: #444444;   /* same as footer, below the page */
}
body{
	background-color: #FBFCFD;
}

footer.site-footer{
	background-color: #444444;
	border-top: 0;
	color: #C5CAD1;
}

/* Links: light grey, light corporate blue on hover */
footer.site-footer a,
footer.site-footer a:focus{
	color: #E4E7EB;
}
footer.site-footer .footer-col a:hover{
	color: #A9BCD5;
}

footer.site-footer .footer-title{
	color: #9AA2AC;
}

footer.site-footer .footer-brand p{
	color: #C5CAD1;
}

/* Original small footer logo at its natural size */
footer.site-footer .footer-logo img{
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: none;
}

/* Social icons: even 1px outline all the way round, corporate blue on hover */
footer.site-footer .footer-social a,
footer.site-footer .footer-social a:focus{
	box-sizing: border-box;
	width: 40px;
	height: 40px;
	padding: 0;
	color: #E4E7EB;
	background-color: transparent;
	border: 1px solid #6B6F74;
	border-radius: 50%;
	box-shadow: none;
}
footer.site-footer .footer-social a:hover{
	color: #fff;
	background-color: #546D8E;
	border-color: #546D8E;
}
footer.site-footer .footer-social a:focus-visible{
	outline: 2px solid #A9BCD5;
	outline-offset: 3px;
}
footer.site-footer .footer-social i{
	line-height: 1;
}

/* Bottom row */
footer.site-footer .footer-bottom{
	border-top: 1px solid #555A60;
	color: #9AA2AC;
}


/**********************************************
****** TEST 13: line icons before the popular categories
**********************************************/

footer.site-footer .footer-cat{
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

footer.site-footer .footer-icon{
	flex: none;
	width: 20px;
	height: 20px;
	color: #8E969F;
	transition: color .2s, transform .2s;
}

footer.site-footer .footer-cat:hover .footer-icon{
	color: #A9BCD5;
	transform: translateY(-1px);
}

footer.site-footer .footer-cat span{
	color: inherit;
}

@media (max-width: 767px) {
	footer.site-footer .footer-cat{
		justify-content: center;
	}
}

@media (prefers-reduced-motion: reduce){
	footer.site-footer .footer-icon{ transition: none; }
}

/* Follow card inside a sidebar (contact page): no card-in-card */
aside .follow-card{
	margin-bottom: 0;
	padding: 12px 0 4px;
	box-shadow: none;
	background: transparent;
}
