/* A Linux- and Windows-friendly sans-serif font stack: http://prospects.mhurrell.co.uk/post/updating-the-helvetica-font-stack */
body {
  font: 13px 'Montserrat', Freesans, sans-serif; }

/* Using local fonts? Check out Font Squirrel's webfont generator: http://www.fontsquirrel.com/tools/webfont-generator */
/* We like off-black for text. */
body, select, input, textarea {
  color: #333; }

a {
  color: #03f; }

a:hover {
  color: #69f; }

/* Custom text-selection colors (remove any text shadows: http://twitter.com/miketaylr/status/12228805301) */
::-moz-selection {
  background: #fcd700;
  color: #fff;
  text-shadow: none; }

::selection {
  background: #fcd700;
  color: #fff;
  text-shadow: none; }

/*	j.mp/webkit-tap-highlight-color */
a:link {
  -webkit-tap-highlight-color: #fcd700; }

ins {
  background-color: #fcd700;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #fcd700;
  color: #000;
  font-style: italic;
  font-weight: bold; }

/* Mozilla dosen't style placeholders by default */
input:-moz-placeholder {
  color: #a9a9a9; }

textarea:-moz-placeholder {
  color: #a9a9a9; }

/* let's give blockquotes *some* default styling, because unstyled blockquotes are dangerous */
blockquote {
  padding: 16px;
  background: #eee; }

/* STYLES
------------------------------------------*/
body {
  border: 10px solid #ffffff;
  background-color: #ffffff;
  padding: 0 25px 0; }

.table {
  display: table; }

.tablecell {
  display: table-cell;
  vertical-align: middle; }

/* Header */
header {
  position: relative;
  overflow: hidden;
  height: 100px;
  width: 100%; }

.logoarea {
  float: left;
  height: 100%; }

.logo {
  max-width: 150px; }

.menuarea {
  float: right;
  height: 100%; }

#mainmenu ul {
  text-align: right; }

#mainmenu ul li {
  display: inline-block;
  margin-left: 15px; }

#mainmenu ul li:first-child {
  margin-left: 0; }

#mainmenu ul li a {
  padding: 4px 5px 4px;
  text-decoration: none;
  font-size: 14px;
  color: #40A8D3;
  text-transform: uppercase;
  display: block;
  width: max-content;
  font-weight: 400;
  letter-spacing: 1px;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  -ms-transition: all 300ms ease-in-out;
  -o-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out; }

#mainmenu ul li a:hover {
  background-color: #ffffff;
  border-radius: 3px;
  color: #333333; }

/*--- PORTAFOLIO ---*/
/*layout*/
.simple {
  width: 25%;
  height: 180px; }

.gcol {
  width: 25%; }

.double {
  width: 50%;
  height: 360px; }

.pbox {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }

.pcontent {
  position: relative;
  padding: 10px;
  height: 100%;
  width: 100%; }

.pinfo {
  background-color: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  -ms-transition: all 300ms ease-in-out;
  -o-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out; }

.pcontent:hover .pinfo {
  opacity: 1; }

.pname {
  font-size: 15px;
  text-align: center;
  color: #ffffff;
  font-weight: 400;
  text-transform: uppercase; }

.btnver {
  display: block;
  margin: 5px auto 0;
  width: 32px;
  height: 32px; }

.btnver img {
  width: 100%;
  height: 100%; }

.pgallery {
  display: none; }

/*--- CLIENTES ---*/
#clientes {
  background-color: #ffffff;
  padding: 70px 30px; }

.bgtitle {
  font-weight: 700;
  color: #40A8D3;
  font-size: 78px;
  letter-spacing: 2px;
  margin-bottom: 25px; }

.clientbox {
  display: flex;
  flex-flow: row no-wrap;
  justify-content: space-between;
  align-content: center;
  align-items: center;
  width: 100%; }

.clientlogo {
  flex: 0 0 auto;
  align-self: auto;
  min-width: auto;
  min-height: auto; }

.clientlogo {
  max-width: 180px; }

/*--- CONTACTO ---*/
#contacto {
  overflow: hidden; }

.innercontent {
  width: 55%;
  padding: 70px 30px;
  float: left;
  height: 100%; }

.innermap {
  float: right;
  width: 45%;
  height: 100%; }

#map {
  width: 100%;
  height: 100%; }

.form-row {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-bottom: 1%; }

.form-box.l {
  float: left;
  width: 49.5%;
  margin-right: 0.5%; }

.form-box.r {
  float: right;
  width: 49.5%;
  margin-left: 0.5%; }

textarea {
  height: 150px; }

input[type="text"], textarea, input[type="submit"] {
  display: block;
  margin: 0;
  width: 100%;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  appearance: none;
  box-shadow: none;
  border-radius: none; }

input[type="text"]:focus, textarea:focus {
  outline: none; }

.style-4 input[type="text"], .style-4 textarea {
  padding: 10px;
  border: none;
  border-bottom: solid 2px #c9c9c9;
  transition: border 0.3s; }

.style-4 input[type="text"]:focus, .style-4 textarea:focus,
.style-4 input[type="text"].focus, .style-4 textarea.focus {
  border-bottom: solid 2px #969696; }

input[type="submit"] {
  border-radius: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  padding: 10px;
  border: none;
  border-bottom: solid 2px #c9c9c9;
  background-color: #ffffff;
  color: #333333;
  text-transform: uppercase; }

/*--- FOOTER ---*/
#footer {
  background-color: #ffffff;
  width: 100%;
  padding: 10px 0;
  text-align: center;
  font-size: 12px;
  text-transform: uppercase;
  color: #333333; }

/* Media queries
-------------------------------------------------------------------------------*/
/* Print styles
-------------------------------------------------------------------------------*/
