/* Variáveis */

:root {
 --cor-base:#00aef0;
 --cor-clara:#aee2fa;
 --cor-escura:#003d69;
}

/* Reset */

* {
 margin:0; padding:0; border:0; outline:0;
 font-style:inherit;
 font-family:inherit;
 font-size:100%;
 vertical-align:baseline;
 box-sizing:border-box;
}

/* Base */ 

html {
 position:relative;
 min-height:100%;
}

body {
 margin:0;
 height:100%;
 min-width:300px;
 overflow-y:scroll;
 overflow-x:hidden;
 background-color:#f1f1f1;
 color:#313131;
 font-family:Arial,Helvetica,Garuda;
 font-size:1em;
 font-weight:400;
}

.nunito {
 font-family:Nunito,Arial,Helvetica,Garuda;
 font-weight:400;
}

.orbitron {
 font-family:Orbitron,Arial,Helvetica,Garuda;
 font-weight:400;
}

/* jQuery UI */

.ui-widget {
 font-style:inherit !important;
 font-family:inherit !important;
 font-size:100% !important;
}

.ui-dialog-titlebar-close {
 visibility:hidden;
}

.ui-tooltip-content {
 font-size:0.8em;
}

.ui-accordion-header {
 outline:none !important;
}

.ui-datepicker {
 font-size:0.95em !important;
}

.ui-progressbar-value {
 height:2em !important;
}

#dialog {
 display:none;
}

.dialog-fixed {
 position:fixed !important; 
}

/* Tags */

a {
 text-decoration:none;
 color:#313131;
 outline:none;
}

a:hover {
 text-decoration:none;
 color:var(--cor-base);
}

a.branco {
 text-decoration:none;
 color:#fff;
 outline:none;
}

a.branco:hover {
 text-decoration:none;
 color:var(--cor-clara);
}

b { font-weight:700; }
i { font-style:italic; }

input[type=text],input[type=password],input[type=file],select,textarea {
 width:100%;
 max-width:550px;
 border:1px solid #8f8f8f;
 background-color:#fff;
 border-radius:2px;
 box-shadow:0 3px 3px rgba(0,0,0,0.2);
 color:#000;
 margin:3px 0;
 padding:5px 8px;
 outline:none;
 resize:none;
}

input[type=text]:focus,input[type=password]:focus,select:focus,textarea:focus {
 border:1px solid var(--cor-base);
}

button,input[type=button],input[type=submit] {
 width:80%;
 max-width:250px;
 background-color:#efefef;
 background-image:linear-gradient(#efefef,#cfcfcf);
 border:1px solid #6f6f6f;
 border-radius:3px;
 box-shadow:0 3px 3px rgba(0,0,0,0.2);
 padding:8px 10px;
 color:#4f4f4f;
 font-size:0.8em;
 font-weight:700;
 outline:none;
 cursor:pointer;
}

button:hover,input[type=button]:hover,input[type=submit]:hover {
 background-color:var(--cor-escura);
}

hr {
 border:0;
 width:100%;
 height:1px;
 background-color:var(--cor-base);
}

break {
 flex-basis:100%;
 width:0; height:0; 
 overflow:hidden;
}

main {
 margin:0 auto;
 padding:0;
}

/* Específicos */

.nosel {
 user-select:none;
 -moz-user-select:none;
 -ms-user-select:none;
 -webkit-user-select:none;
}

.yessel {
 user-select:text !important;
 -moz-user-select:text !important;
 -ms-user-select:text !important;
 -webkit-user-select:text !important;
}

.noresp {
 display:inline;
}

@media screen and (max-width:639px) {
 .noresp {
  display:none;
 }
}

/* Projeto */

.topo {
 width:100%;
 height:600px;
 background:url(/imagens/layout/topo.jpg) top right no-repeat;
 position:relative;
}

.logo {
 width:100%;
 max-width:369px;
 margin:80px 30px 0;
}

.menu {
 width:100%;
 height:70px;
 background:rgba(0,0,0,0.7);
 position:absolute;
 bottom:0;
}

.menu_item {
 display:inline-block;
 font-size:1.15em;
 color:#fff;
 padding:22px 30px 0 20px;
}

.menu_hamb {
 display:none;
 float:right;
}

#menu_hamb_ico {
 position:fixed;
 top:35px;
 right:0;
 width:50px;
 border:0;
 cursor:pointer;
}

#menu_resp {
 display:none;
 position:absolute;
 top:120px;
 left:0;
 width:100%;
 text-align:center;
 background:#000;
 padding:20px 10px 10px;
}

.menu_item_resp {
 display:inline-block;
 width:100%;
 background-color:var(--cor-escura);
 border-radius:5px;
 padding:8px 10px;
 margin-bottom:10px;
 font-size:1em;
 cursor:pointer;
 color:var(--cor-clara);
}

.rodape {
 width:100%;
 max-width:1250px;
 margin:0 auto;
 padding:40px 15px 50px;
 color:#fff;
}

.rod1 {
 display:inline-block;
}

.rod1_end {
 margin-left:80px;
 font-size:0.9em;
}

.rod2 {
 float:right;
 display:inline-block;
 text-align:right;
 font-weight:700;
}

.redesociais {
 display:inline-block;
 width:30px;
 height:30px;
 background:var(--cor-base);
 border-radius:15px;
 margin:5px 1px;
 text-align:center;
 padding-top:5px;
 transition:0.3s;
}

.redesociais:hover {
 background:var(--cor-clara);
}

.inweb {
 width:100%;
 background:#060a0d;
 text-align:center;
 padding:11px;
 font-size:0.8em;
}

.centro {
 width:100%;
 max-width:1260px;
 margin:70px auto 50px;
 padding:0 15px;
 font-size:1.05em;
 line-height:1.6em;
}

h1 {
 font-family:Orbitron,Arial;
 font-size:1.8em;
 color:var(--cor-escura);
 font-weight:400;
 margin:0;
}

.titlinha {
 width:70%;
 max-width:350px;
 height:2px;
 background:var(--cor-base);
 margin:20px auto;
}

.home_box {
 flex:1;
 background:#fff;
 padding:60px 20px 50px 60px;
 box-shadow:0 5px 20px rgba(0,0,0,0.3);
 font-size:1.4em;
 line-height:1.2em;
 color:var(--cor-escura);
}

.home_ico {
 width:90px;
 margin-bottom:15px;
}

.botsaiba {
 display:inline-block;
 width:90%;
 max-width:120px;
 background:#f1f1f1;
 border:1px solid var(--cor-base);
 margin:10px 0;
 padding:3px 10px;
 font-size:0.6em;
 color:var(--cor-base);
 -webkit-transform:perspective(1px) translateZ(0);
 transform:perspective(1px) translateZ(0);
 position:relative;
 -webkit-transition-property:color;
 transition-property:color;
 -webkit-transition-duration:0.3s;
 transition-duration:0.3s;
}

.botsaiba:before {
 content:"";
 position:absolute;
 z-index:-1;
 top:0;
 left:0;
 right:0;
 bottom:0;
 background:var(--cor-escura);
 -webkit-transform:scaleX(0);
 transform:scaleX(0);
 -webkit-transform-origin:0 50%;
 transform-origin:0 50%;
 -webkit-transition-property:transform;
 transition-property:transform;
 -webkit-transition-duration:0.3s;
 transition-duration:0.3s;
 -webkit-transition-timing-function:ease-out;
 transition-timing-function:ease-out;
}

.botsaiba:hover, .botsaiba:focus, .botsaiba:active {
 color:white;
 border:1px solid #f1f1f1;
}

.botsaiba:hover:before, .botsaiba:focus:before, .botsaiba:active:before {
 -webkit-transform:scaleX(1);
 transform:scaleX(1);
}

.quem_box {
 display:inline-block;
 width:45%;
 max-width:350px;
 background:#fff;
 border-radius:3px;
 padding:10px;
 margin:10px;
 box-shadow:0 5px 10px rgba(0,0,0,0.2);
 font-size:1.1em;
 line-height:1.2em;
 color:var(--cor-escura);
}

.serv_box {
 flex:1;
 background:#fff;
 border-radius:3px;
 padding:20px 15px;
 margin:15px 10px;
 box-shadow:0 5px 10px rgba(0,0,0,0.2);
 line-height:1.4em;
}

.ctt_box {
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 width:100%;
}

.ctt_box1 {
 flex:1;
 vertical-align:top;
 text-align:left;
 margin:15px 0;
 padding:0 25px;
 line-height:1.1em;
}

.ctt_box2 {
 flex:1;
 vertical-align:top;
 text-align:center;
 margin:15px 0;
 padding:0 10px;
 font-size:0.9em;
 line-height:1.3em;
}

/***********/

@media screen and (max-width:1300px) {
 .topo {
  height:450px;
  background-size:cover;
 }
 .logo {
  max-width:315px;
  margin:40px 15px 0;
 }
 .home_box {
  padding:40px 20px 40px 40px;
  font-size:1.2em;
 }
}

@media screen and (max-width:900px) {
 .topo {
  height:350px;
 }
 .logo {
  max-width:250px;
  margin:25px 15px 0;
 }
 .menu {
  height:50px;
 }
 .menu_item {
  font-size:1.05em;
  padding:14px 20px 0 15px;
 }
 .rodape {
  padding:30px 15px;
 }
 .home_box {
  padding:20px;
  font-size:1em;
 }
 .home_ico {
  width:60px;
 }
 .serv_box {
  flex:none;
  display:inline-block;
  width:45%;
  max-width:500px;
 }
 .ctt_box {
  flex-direction:column-reverse;
 }
 .ctt_box1 {
  flex:none;
  display:inline-block;
  width:100%;
  max-width:550px;
  margin:0 auto 50px;
  padding:0 5px;
  line-height:1.2em;
 }
 .ctt_box2 {
  flex:none;
  display:inline-block;
  width:100%;
  padding:0 5px;
  line-height:1.4em;
 }
}

@media screen and (max-width:750px) {
 .rodape {
  padding:15px 10px 20px;
  font-size:0.9em;
 }
 .rod1 {
  width:100%;
  text-align:center;
  padding-bottom:20px;
 }
 .rod1_end {
  margin-left:0;
 }
 .rod2 {
  float:none;
  width:100%;
  text-align:center;
 }
 .centro {
  margin:40px auto 30px;
  padding:0 10px;
  font-size:0.9em;
  line-height:1.5em;
 }
 h1 {
  font-size:1.4em;
 }
 .titlinha {
  margin:10px auto;
 }
 .home_box {
  flex:none;
  display:inline-block;
  width:45%;
  margin:0 10px 30px;
  box-shadow:0 0 5px rgba(0,0,0,0.2);
 }
}

@media screen and (max-width:550px) {
 .topo {
  height:120px;
  position:fixed;
  top:0;
  left:0;
  z-index:99;
 }
 .logo {
  max-width:105px;
  margin:10px 10px 0;
 }
 .menu {
  display:none;
 }
 .menu_hamb {
  display:inline-block;
 }
 .inweb {
 font-size:0.65em;
 }
 main {
  margin-top:150px;
 }
 .home_box {
  margin:0 7px 30px;
  padding:15px;
 }
 .quem_box {
  padding:6px;
  margin:5px;
  font-size:0.9em;
 }
 .serv_box {
  width:100%;
  max-width:350px;
  padding:10px;
  margin:10px 0;
 }
}