* {
    margin: 0;
    padding: 0;
    font-family: Arial, Verdana;
}

:root {
    --clr-black: black;
    --clr-drk-gry: #4D4D4D;
    --clr-lgh-gry: #f8f8f8;
    --clr-white: white;
    --clr-pink: #CB0A41;
}
h1 {
    font-size: 20px;
    color: var(--clr-black);
    text-align: center;
    margin-bottom: 6px;
}
h2 {
    font-size: 16px;
    color: var(--clr-drk-gry);
    text-align: center;
    margin-bottom: 40px;
}
h3 {
    font-size: 15px;
    color: var(--clr-pink);
    margin-bottom: 10px;
}
h4 {
    font-size: 15px;
    color: var(--clr-black);
    margin-bottom: 10px;
    font-weight: bolder;
}
p {
    font-size: 13px;
    color: var(--clr-drk-gry);
    margin-bottom: 4px;
    font-weight: 300;

}
span, label {
    font-weight: 700;
    font-size: 13px;
    color: var(--clr-drk-gry);
    
}
span {
    margin-right: 10px;
}
address {
    font-size: 13px;
    font-weight: 600;
    color: var(--clr-black);
}

/* COPRO */
body {
    padding-bottom: 20px;
}


main, footer {
    margin: auto;
    width: 800px;
}
.container {
    display: block;
    margin-bottom: 25px;
}

/* FLAGS */
header {
    background-color: var(--clr-lgh-gry);
    display: flex;
    justify-content: flex-end;
    padding: 5px 10px 5px 10px;
    margin-bottom: 20px;
}
.container-flags {
    margin-right: 15px;
}
.flag {
    margin-right: 1px;
    width: 20px;
}

/* CONTAINER INFORMAÇÕES */
.container-box {
    display: flex;
    background-color: var(--clr-lgh-gry);
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}
.box {
    background-color: var(--clr-lgh-gry);
    border-radius: 10px;
    padding: 15px;
} 
.group {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.group-text {
    display: block;
}
.group-maps {
    display: inline-block;
    margin: auto;
}
#maps {
    width: 380px;
    height: 200px;
    margin-left: 25px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gm-err-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px;
}
.gm-err-icon, .gm-err-title, .gm-err-message {
    display: flex;
    justify-content: center;
}

.gm-err-title p, .gm-err-message p {
    color: white !important;
    text-align: center;
}

/* FORM */
form, p.success {
    background-color: var(--clr-lgh-gry);
    border-radius: 10px;
    padding: 15px;
}
fieldset {
    border: 0;
}

p.success {
    font-weight: bold;
}

label {
    width: 100px;
    display: inline-block;
    margin-right: 0;
}
input, select {
    border-radius: 20px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 6px;
    padding-bottom: 6px;
    margin-bottom: 15px;
    border: 1px solid var(--clr-drk-gry);
    box-sizing: border-box;
    background-color: white;
}
input, select, textarea {
    width: 60%;
}

.mensagem {
    display: flex;
    flex-wrap: wrap;
    align-self: start;
    align-items: flex-start;
}
textarea {
    border-radius: 10px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 6px;
    padding-bottom: 6px;
    margin-bottom: 15px;
    margin-right: 5px;
    margin-left: 4px;
    box-sizing: border-box;
}
.helper {
    width: 10px;
}

#cnt_message_rt {
    margin-top:10px;
}

#errors {
    margin-left:100px;
    margin-top:15px;
}

#errors img {
    float: left;
    margin-right:10px;
}

#errors span.sys-error {
    position: relative;
    top:5px;
}

#btn {
    margin-left: 105px;
    margin-top: 20px;
    display:block;
    vertical-align: bottom;
}

#btn button {
    background-color: var(--clr-drk-gry);
    color: white;
    border: none;
    border-radius: 20px;
    font-weight: bolder;
    font-size: 14px;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 6px;
    padding-bottom: 6px;
}

#btn img {
    vertical-align: text-bottom;
    display:none;
}

.grecaptcha-badge { 
    visibility: hidden; 
}

footer {
  margin-top:40px !important;
  margin-bottom:0 !important;
  text-align:center;
  font-size:small;
}


@media screen and (max-width: 850px) {
    main, footer {
        width: 95%;
        margin: 0 auto;
        margin-bottom: 25px;
    }
    .container-flags {
        margin-right: 0;
    }
    label {
        width: 100%;
        margin-bottom: 10px;
    }
    .box {
        padding: 8px;
    }
    .contact {
        width: 100%;
        margin-bottom: 15px;
    }
   .group-maps {
        margin: 0;
    }
    #maps {
        width: 80vw;
        height: 250px;
        margin-top: 20px;
        margin-left: 0;
    }
    input:not(:last-child), select, input:last-child, textarea{
    width: 96%;
    }
    textarea {
    margin-left: 0;
    }
    .captacha-container {
        display: flex;
        justify-content: center;
        margin-left: 0;
    }
    
    #btn {
        margin-left: 0;
        margin-top: 0;
    }
    button {
        display: block;
    }
    
    button, #errors, #btn img {
        margin: 0;
        margin-top: 10px;
    }
}
@media screen and (max-width:420px){
    main, header, footer {
        width: 95%;
        margin: 0 auto;
    }
    
    main, header {
        margin-bottom: 25px;
    }
    
    input:not(:last-child), select, input:last-child, textarea{
    width: 92%;
    }
    input:last-child {
        width: 99%;
    }
    #maps {
        height: 150px;
        width:90vw;
    }
}
