:root {
    --altura-base: calc(.75rem + .7vh);
}

.wrapper {
    width: 100%;
    min-height: 100vh;
    display: -webkit-flex;
    display: flex;
    background: #f5f5f5;
    -webkit-flex-direction: column;
    flex-direction: column;
    overflow-x: hidden;
    font-family: 'Roboto', sans-serif;
}

.topo-conteudo {
    height: calc(4 * var(--altura-base));
    width: 100%;
    text-align: center;
    padding: calc(.75 * var(--altura-base)) 0;
}

.topo-conteudo img {
    height: 100%;
    width: auto;
}

.corpo-conteudo {
    -webkit-flex: 1;
    flex: 1;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    align-items: center;
}

.corpo-conteudo h1 {
    font-size: calc(1.5 * var(--altura-base));
    color: #8a5c87;
    text-align: center;
    line-height: 1.2;
    padding: 0 calc(.75 * var(--altura-base));
    padding-top: calc(1.5 * var(--altura-base));
}

.porta-instalacao {
    position: fixed; 
    bottom: 0; 
    left: 0; 
    width: 100%; 
    background: #4B324A; 
    padding: .5rem 0; 
    z-index: 9999;
    box-shadow: 0 -3px 7px rgba(0,0,0,.15);
}

.linha-instalacao {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
}

.linha-instalacao img {
    margin: 0 .5rem;
}

.link-instalacao {
	color: #fff;
}

.fecha-instalacao {
    font-size: var(--altura-base);
    color: #beb4bd;
    opacity: .7;
    text-decoration: none;
    padding: .25rem;
    margin: 0 .5rem;
}

.fecha-instalacao:active {
    opacity: 1;
}

.linha-catalogos {
    max-width: 1170px;
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: calc(2.5 * var(--altura-base));
}

.box-catalogo {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    margin: calc(2 * var(--altura-base)) calc((100% - calc(64.5 * var(--altura-base)))/4);
    width: calc(32 * var(--altura-base));
    height: calc(16 * var(--altura-base));
    background: #fff;
    box-shadow: 0 10px 20px -7px rgba(0,0,0,.15);
}

.link-img {
    min-width: calc(8.5 * var(--altura-base));
    width: auto;
    height: 100%;
    position: relative;
    z-index: 1;
    background: #ddd;
}

.link-img:before {
    content: "";
    height: 100%;
    width: calc(10.5 * var(--altura-base));
    border: 3px solid #8a5c87;
    position: absolute;
    left: calc(-1 * var(--altura-base));
    top: calc(-1 * var(--altura-base));
    z-index: -1;
}

.box-catalogo img {
    width: auto;
    height: 100%;
    text-align: center;
    -webkit-transition: filter 0.3s ease;
    transition: filter 0.3s ease;
}

.box-catalogo img:hover {
    filter: grayscale(50%);
}

.descricao-catalogo {
    -webkit-flex: 1;
    flex: 1;
    padding: var(--altura-base);
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    justify-content: center;
}

.porta-links {
    text-align: center;
    padding: calc(1.5 * var(--altura-base)) 0;
}

.porta-links a {
    display: block;
}

/*
.porta-links a:first-child {
    padding-bottom: calc(1.25 * var(--altura-base));
}
*/

.porta-links p {
    padding-top: calc(.3 * var(--altura-base));
    font-size: calc(.8 * var(--altura-base));
    opacity: .85;
}

.rodape-conteudo {
    width: 100%;
    min-height: calc(12 * var(--altura-base));
    background: #4b324a;
    margin-top: calc(12 * var(--altura-base));
    position: relative;
    z-index: 1;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    justify-content: center;
}

.rodape-conteudo:before {
    content: url(../imagens/fundo-rodape.png);
    position: absolute;
    width: 100vw;
    height: auto;
    top: -8.5rem;
    z-index: -1;
}

.coluna-rodape {
    width: calc(25 * var(--altura-base));
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    padding: calc(2.25 * var(--altura-base)) calc(3 * var(--altura-base));
}

h3 {
    font-size: calc(1.25 * var(--altura-base));
    color: #fff;
    line-height: 1.2;
    padding: 0 var(--altura-base);
}

.coluna-rodape p,
.coluna-rodape li {
    padding: var(--altura-base);
    color: #f5f5f5;
    line-height: 1.35;
}

.coluna-rodape p,
.coluna-rodape ul {
    padding-top: calc(1.5 * var(--altura-base));
}

.coluna-rodape li {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    padding-top: 0;
    padding-bottom: var(--altura-base);
}

.porta-icone {
    display: -webkit-flex;
    display: flex;
     -webkit-justify-content: center;
    justify-content: center;
     -webkit-align-items: center;
    align-items: center;
}

.coluna-rodape img {
    width: calc(1.5 * var(--altura-base));
    height: auto;
    margin-right: calc(.35 * var(--altura-base));
}

.coluna-rodape a,
.direito-copia a {
    color: #E56970;
    text-decoration: none;
    -webkit-transition: opacity .2s ease;
    transition: opacity .2s ease;
}

.coluna-rodape a:hover,
.direito-copia a:hover {
    opacity: .8;
}

.direito-copia {
    width: 100%;
    background: #4b324a;
}

.direito-copia p {
    margin: 0 auto;
    width: calc(54 * var(--altura-base));
    padding: calc(.75 * var(--altura-base)) calc(3 * var(--altura-base));
    font-size: calc(.85 * var(--altura-base));
    color: #f5f5f5;
    line-height: 1.2;
}

.direito-copia a:first-child {
    margin: 0 calc(1.2 * var(--altura-base));
}

@media only screen and (max-width: 1170px) {
    
.linha-catalogos {
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    align-items: center;
}    
    
}

@media only screen and (max-width: 990px) {
    
.coluna-rodape {
    padding: calc(2.25 * var(--altura-base)) var(--altura-base);
}
    
    
.direito-copia p {
    padding: calc(.75 * var(--altura-base)) calc(1.5 * var(--altura-base));
}
    
}

@media only screen and (max-width: 650px) {
    
.box-catalogo {
    margin: calc(1.5 * var(--altura-base)) auto;
    width: calc(28.5 * var(--altura-base));
}   
    
.link-img:before {
    left: calc(-.75 * var(--altura-base));
    top: calc(-.75 * var(--altura-base));
}    
    
.rodape-conteudo {
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    align-items: center;
}    
    
.coluna-rodape:last-child {
    padding-top: calc(.75 * var(--altura-base));
}    
    
.direito-copia {
    padding: 0 var(--altura-base);
}
    
.direito-copia p {
    width: calc(25 * var(--altura-base));
    line-height: 1.5;
}
    
}

@media only screen and (max-width: 475px) {
    
.box-catalogo {
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    align-items: center;
    width: calc(100% - var(--altura-base));
    height: auto;
}         
    
.link-img,    
.box-catalogo img {
    width: auto;
    height: calc(16 * var(--altura-base));
    position: relative;
    z-index: 1;
}    
  
.link-img {
    margin-top: calc(1.5 * var(--altura-base));
}     
    
.link-img:before {
    height: calc(15.5 * var(--altura-base));
    top: calc(-.75 * var(--altura-base));
}     
    
.descricao-catalogo {
    margin-top: calc(.75 * var(--altura-base));
    padding: calc(1.5 * var(--altura-base)) calc(.5 * var(--altura-base));
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}    
    
.coluna-rodape {
    width: 100%;
    padding: calc(1.5 * var(--altura-base)) 0;
}
  
h3 {
    padding: 0 calc(.75 * var(--altura-base));
}    
   
.coluna-rodape p,
.coluna-rodape li {
    padding-right: calc(.75 * var(--altura-base));
    padding-left: calc(.75 * var(--altura-base));
}    
    
.direito-copia {
    padding: 0;
}    
    
.direito-copia p {
    width: 100%;
    padding: calc(.75 * var(--altura-base)) calc(.75 * var(--altura-base));
}    
    
}