/*///////// Candysur ///// Mi Agencia ///// Daniel Sánchez //////////*/

:focus { outline: none; } /*// remove dotted outline/border in Firefox */ button:focus, a:focus, a:active, button::-moz-focus-inner, input[type="reset"]::-moz-focus-inner, input[type="button"]::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, select::-moz-focus-inner, input[type="file"] > input[type="button"]::-moz-focus-inner { outline: none !important; } select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #000; }


/*////////// General //////////*/

body
{
	overflow-x: hidden;
	padding-top: 70px;
	font-family: 'Lato', sans-serif;
	
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-moz-font-feature-settings: "liga" on;
}

.containerGral
{
	padding-top: 40px;
	background-color: white;
}

iframe { border: 0; }

/*// Buttons //*/

.btn-default, .btn-default:focus
{
	width: 120px;
	height: 45px;
	line-height: 33px;
	font-size: 18px;
	color: white;
	background-color: #0066B2;
	border: none;
	text-decoration: none;
	border-radius: 0;
	transition: 300ms;
}

.btn-default:hover, .btn-default:active
{
	background-color: #73c5ff;
	color: white;
}

/*// Forms //*/

label
{
	font-weight: 500;
	color: #5d5d5d;
	font-size: 13px;
}

.form-control:focus {
	border-color: #0066B2;
	outline: 0;
	box-shadow: none
}

input[type="text"], input[type="email"], textarea
{
	border: none;
	border-left: 1px solid transparent;
	border-radius: 0;
	min-height: 50px;
	font-size: 18px;
	box-shadow: none;
	transition: border 300ms;
	background-color: #f5f5f5;
}

textarea.form-control
{
	height: 270px;
	padding: 12px;
	border: none;
	border-left: 1px solid transparent;
	border-radius: 0;
	box-shadow: none;
	font-size: 18px;
	resize: vertical;
	background-color: #f5f5f5;
}


/*////////// Font //////////*/

h1, h2, h3, h4, h5
{
	font-family: 'Lato', sans-serif;
	color: #0066B2;
	letter-spacing: 1px;
}

h2
{
	margin: 40px 0;
	font-size: 36px;
	text-align: center;
	letter-spacing: 1px;
}

p
{
	font-size: 15px;
}

a
{
	color: #0066B2;
	transition: color 300ms;
}

a:hover, a:active
{
	color: #73c5ff;
	text-decoration: none;
}


/*////////// Header //////////*/

.navbar-default
{
	background-color: transparent;
	border: none;
	-webkit-transition: background-color 600ms, box-shadow 600ms;
	-moz-transition: background-color 600ms, box-shadow 600ms;
	transition: background-color 600ms, box-shadow 600ms;
	z-index: 100;
	box-shadow: none;
}

.navbar-default .navbar-nav>li>a, .navbar-default .navbar-nav>li>a:focus
{
	padding: 23px 15px 27px 15px;
	color: #0066b2;
	text-decoration: none;
	transition: color 300ms;
}

.navbar-default .navbar-nav>li>a:hover, .navbar-default .navbar-nav>li>a:active
{
	color: #c2e5ff;
}

.navbar-brand
{
	width: 265px;
	height: 70px;
	padding: 10px;
}

nav img
{
	width: 245px;
	margin-right: 15px;
}

nav ul
{
	list-style-type: none;
	padding: 0 15px;
	margin: 50px 0;
}

nav ul li
{
	font-size: 16px;
}

.menuMobile .fa-navicon, .menuMobile .fa-navicon:hover, .menuMobile .fa-navicon:active, .menuMobile .fa-navicon:focus
{
	color: #0066b2;
	cursor: pointer;
}

.menuMobile .dropdown-menu {
	position: fixed;
	width: 100%;
	top: 60px;
	left: -1000px;
	display: block;
	z-index: 1000;
	min-width: 160px;
	padding: 0;
	margin: 0;
	font-size: 16px;
	list-style: none;
	background-color: #0066B2;
	-webkit-background-clip: padding-box;
	background-clip: padding-box;
	border: 0;
	border: none;
	border-radius: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
	transition: 600ms ease-in-out;
}

.menuMobile .dropdown-menu li a
{
	padding: 12px 20px;
	color: white;
	text-decoration: none;
	border-bottom: 2px solid #0677cc;
}

.dropdown-menu>li>a:focus, .dropdown-menu>li>a:hover {
	background-color: #015492;
}

.navbar-header
{
	z-index: 100;
}

.bkgMenuMobile
{
	display: none;
	background-color: rgba(0, 102, 178, 0.5);
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
}

.dropdown-menu p
{
	margin: 0;
	padding: 12px 20px;
	background-color: #0677cc;
}
.menuMobile .dropdown-menu li a.insideP {
	padding: 12px 20px 12px 40px;
}
.menuMobile .dropdown-menu li a>.fa
{
	float: right;
	padding: 3px 0;
}


/*////////// Home //////////*/


.initImg, .carousel .item
{
	width: 100%;
	background-size: cover;
	background-position: center bottom;
	/* Pos link menu */
	padding-top: 0;
	margin-top: -70px;
}

.carousel .item
{
	margin-top: 0;
}

.initDiv
{
	position: absolute;
	top: 100px;
	width: calc(100% - 30px);
	text-align: center;
}

.initDiv h1
{
	font-size: 42px;
	font-weight: 600;
	color: rgb(255, 255, 255);
	text-shadow: 2px 2px 30px #002a4a;
	letter-spacing: 3px;
	position: relative;
	z-index: 1;
}

.initDiv .btn-default
{
	width: 200px;
	height: 60px;
	line-height: 46px;
	font-size: 20px;
	position: relative;
	z-index: 2;
}

.carousel
{
	position: relative;
	z-index: 1;
	margin: 0 -15px;
}


/*////////// About us //////////*/

.about>div
{
	position: relative;
	overflow: hidden;
}

.about>div:last-of-type
{
	padding-bottom: 60px;
}

.aboutUsDiv:first-of-type
{
	position: relative;
	padding: 40px 0;
	z-index: 2;
}

.aboutUsDiv:nth-of-type(2)
{
	position: relative;
}


.aboutUsDiv:first-of-type>div:first-of-type
{
	margin-top: 60px;
}

#aboutUs h2
{
	margin: 0 0 40px 0;
	text-align: left;
}

#aboutUs ul, #gallery ul
{
	list-style-type: none;
	padding: 0;
}

#gallery ul
{
	margin-bottom: 40px;
}

#aboutUs ul li, #gallery ul li
{
	font-size: 15px;
	margin: 5px 0;
}

#gallery ul li
{
	font-size: 13px;
}

#aboutUs ul .fa, #gallery ul .fa
{
	padding-right: 20px;
	color: #0066B2;
}

#gallery ul .fa
{
	padding-right: 20px;
	color: white;
}

.aboutImgR
{
	position: absolute;
	top: 0;
	left: 50%;
	height: 580px;
	padding: 0;
	background-image: url(../img/about1.jpg);
	background-position: center center;
	background-size: cover;
}

.aboutImgL
{
	position: absolute;
	top: 0;
	left: 0;
	height: 440px;
	background-position: 50% 100%;
	background-size: cover;
	margin-left: 0;
}

.aboutUsDiv:nth-of-type(2)>div:nth-of-type(2)
{
	position: absolute;
	top: calc(50% - 140px);
	left: 50%;
	transform: translate(0, calc(-50% + 110px));
	margin-left: 45px;
}

.featureWe
{
	width: 100%;
	clear: both;
}

.featureWe>span
{
	font-size: 45px;
	float: left;
	width: 60px;
	margin: 0 20px 80px 0;
	text-align: center;
	color: #0066B2;
}

#services>.col-md-6
{
	padding-left: 30px;
}


/*////////// Gallery / Projects //////////*/

#gallery>.row, footer
{
	margin-top: 30px;
	margin-bottom: 60px;
}

.containerGallery
{
	background-image: url(../img/bkg2.jpg);
	background-attachment: fixed;
	background-size: 100%;
	background-color: #00589a;
	background-position: 50%;
	position: relative;
	z-index: 0;
	padding: 10px 15px 40px 15px;
	color: white;
}

.containerGallery a>img
{
	margin-bottom: 15px;
}

.containerGallery h2
{
	margin-bottom: 30px;
	color: white;
}

.containerGallery p
{
	text-align: center;
	margin-bottom: 40px;
}

article img
{
	width: 100%;
}

article figcaption
{
	margin: 0 0 30px 0;
	padding: 5px 10px;
	font-size: 15px;
	color: white;
	background-color: #035c9e;
}

article a>figure
{
	opacity: 1;
	transition: opacity 300ms;
}
article a:hover>figure
{
	opacity: 0.7;
}


/*////////// Footer / Contact //////////*/

footer
{
	padding-bottom: 20px;
}

footer h2
{
	margin-top: 0;
}

footer>.row address
{
	text-align: right;

}

footer>.row address .fa
{
	color: #0066B2;
	font-size: 30px;
	padding: 15px 0;
	text-align: center;
	line-height: 15px;
	margin-top: 10px;
}

footer .btn
{
	position: relative;
	margin-top: 10px;
}

#contact .container-fluid
{
	padding: 0;
}

#contact>div iframe
{
	width: 100%;
	height: 410px;
	border: 0;
}

#contact>div p
{
	text-align: center;
	font-size: 12px;
	margin: 0;
	padding: 18px 0;
	color: #73c5ff;
	background-color: #0066B2;
	margin-top: 40px;
}

#contact>div p>a
{
	color: white;
}

#contact>div p>a:hover, #contact>div p>a:active
{
	color: #73c5ff;
}

.formSpinner
{
	display: none;
	margin: 5px 0;
	font-size: 25px;
	text-align: center;
}

#location
{
	border-right: 1px solid #9c9c9c;
}

address a
{
	text-decoration: none;
}

#brandsContact img
{
	margin: 0 0 0 auto;
	width: 155px;
}


/*////////// Responsive //////////*/

/*// XS //*/

@media screen and (max-width: 767px)
{
	/*///// Init /////*/
	
	.initImg, .carousel .item {
		margin-top: -10px;
	}
	.initDiv {
		position: static;
		margin: 0 auto;
	}
	.initDiv h1 {
		margin-top: 35px;
		font-size: 32px;
		color: rgb(0, 102, 178);
		text-shadow: none;
	}
	
	/*///// About /////*/
	
	.aboutUsDiv:first-of-type>div:first-of-type {
		margin-top: 30px;
	}
	#services>.col-md-6
	{
		padding-left: 15px;
	}
	.about>div:last-of-type {
		padding-bottom: 0;
	}
		
	/*///// Gallery /////*/
	
	.containerGallery
	{
		top: 0;
		padding-bottom: 0;
		margin-bottom: 0;
		background-size: cover;
	}
	.featherlight .featherlight-image
	{
		width: 100% !important;
	}
	
	/*///// Footer /////*/
	
	
	#brandsContact img {
		margin: 0;
	}
	#contact>div p {
		margin-top: 20px;
	}
}


/*///// SM /////*/

@media screen and (max-width: 991px)
{
	h3 { font-size: 20px; }
	
	/*///// Header /////*/
	
	.navbar-brand {
		width: 215px;
		height: 60px;
	}
	nav img {
		width: 195px;
	}
	.menuMobile {
		position: absolute;
		top: 15px;
		right: 25px;
		font-size: 20px;
		color: white;
	}
	
	/*///// About /////*/
	
	.featureWe>span {
		margin: 0 20px 65px 0;
	}
	.aboutImgL {
		width: 100%;
		height: 211px;
		margin-top: 10px;
		margin-left: 0;
		position: static;
	}
	.aboutUsDiv:first-of-type {
		padding-top: 0;
		padding-bottom: 20px;
		padding-right: 0;
	}
	#aboutUs h2 {
		margin: 0 0 20px 0;
	}
	.aboutImgR {
		width: 100%;
		height: 250px;
		margin-bottom: 0;
		position: static;
		margin-top: 0;
	}
	.aboutUsDiv:nth-of-type(2)>div:nth-of-type(2) {
		position: static;
		transform: none;
		margin-left: 0;
		padding: 60px 15px 0 15px;
		padding-bottom: 40%;
	}
	
	/*///// Contact /////*/
	
	#contact {
		padding-top: 0;
	}
	footer>.row>div:nth-of-type(2) {
		padding-top: 50px;
		border: 0;
	}
	footer h2 {
		margin-top: 40px;
	}
	footer {
		margin-bottom: 0;
		padding-bottom: 0;
	}
	footer>.row address {
		margin-top: 20px;
		text-align: left;
	}
	#location {
		border-right: none;
	}
	#brandsContact img {
		margin: 0 auto;
	}
}

.carousel-inner>.item>a>img, .carousel-inner>.item>img {
	opacity: 0 !important;
}

@media screen and (max-width: 991px) and (min-width: 768px)
{
	.aboutUsDiv:first-of-type {
		padding-top: 0;
		padding-right: 0;
	}
	.about>div:last-of-type {
		padding-bottom: 0;
	}
	#services { padding-bottom: 50px; }
}

@media screen and (max-width: 1199px) and (min-width: 992px)
{	
	.aboutUsDiv:first-of-type>div:first-of-type {
		margin-top: 40px;
	}
}

@media only screen and (min-width: 768px) {
	#location .flex {
		display: flex;
		justify-content: flex-end;
	}
}

@media only screen and (max-width: 767px) {
	#location #brandsContact .flex a {
		margin: auto;
	}
}