
.mobile-nav {

    display: none;

    overflow: hidden;

    background-color: #fff;

    position: fixed;

    width: 100vw;

    z-index: 9;

    text-align: center;

}



    .mobile-nav #menuLinks {

        display: none;

    }



    .mobile-nav a {

        color: #058ACB;

        padding: 14px 16px;

        text-decoration: none;

        font-size: 20px;

        display: block;

    }



        .mobile-nav a.icon {

            background-color: #fff;

            display: block;

            position: absolute;

            right: 0;

            top: 34px;

        }



#logo-mobile {

    width: 80px;

}



.noselect {

    -webkit-touch-callout: none;

    -webkit-user-select: none;

    -khtml-user-select: none;

    -moz-user-select: none;

    -ms-user-select: none;

    user-select: none;

}



html {

    overflow-x: hidden;

}



body {

    margin: 0;

    background-image: url("../images/bg.png");

    font-family: 'Montserrat', sans-serif;

    width: 100vw;

}



.navbar {

    display: flex;

    align-items: center;

    list-style-type: none;

    margin: 0;

    padding: 10px 20px;

    font-size: 1.2em;

    position: absolute;

}



    .navbar li {

        float: left;

        margin-top: 15px;

    }



        .navbar li a {

            display: block;

            color: white;

            text-align: center;

            padding: 12px;

            margin-right: 16px;

            text-decoration: none;

            transition: 0.3s;

        }



            .navbar li a:hover {

                color: #058ACB;

                border-top: 4px solid white;

            }



            .navbar li a img {

                max-width: 100px;

            }



#logo a:hover {

    border-top: none;

    color: #fff;

}



.landing-container {

    background-image: url("../images/backgroundtop.jpg");

    background-size: cover;

    height: 100vh;

    width: 100%;

}



    .landing-container > h1 {

        margin: 0;

        padding-top: 45vh;

        font-family: 'Fredoka One', cursive;

        font-size: 6.5em;

        text-align: center;

        color: #fff;

        font-weight: 300;

        line-height: 0.5em;

        transition: 0.5s;

    }



        .landing-container > h1:hover {

            color: #3B2F85;

            font-size: 6.8em;

        }



.scrolldown {

    color: #3B2F85;

}



.main-container {

    display: grid;

    grid-template-columns: 70% 30%;

    height: 75vh;

    width: 100%;

}



.quem-somos {

    background-image: url("../images/foto2.jpg");

    background-size: cover;

    background-position: bottom;

}



.quem-somos, .local {

    line-height: 26px;

}



    .quem-somos h2 {

        color: #21b6ff;

        font-size: 2em;

        margin-top: 0;

        padding-top: 5em;

        padding-left: 40px;

    }



    .quem-somos p, .local p {

        font-size: 1.3em;

        color: #fff;

    }



    .quem-somos p {

        padding: 0px 40px;

    }



.escurece {

    background: rgba(5,138,203,0.5);

    height: 100%;

    width: 100%;

}



.local {

    text-align: center;

    background-color: #058ACB;

    color: #fff;

}



    .local h2 {

        margin-top: 0;

        padding-top: 5em;

        font-size: 2em;

    }



    .local p {

        margin-bottom: 30px;

        padding: 0 20px;

    }



.btn, .btn-mobile {

    background-color: #058ACB;

    border: none;

    color: white;

    padding: 15px 32px;

    text-align: center;

    text-decoration: none;

    font-size: 18px;

    font-weight: bold;

    margin: 4px 2px;

    cursor: pointer;

    border: 2px solid;

    transition: 0.3s;

}



.btn {

    display: inline-block;

}



    .btn:hover {

        font-size: 20px;

    }



.local .btn-mobile {

    display: none;

}



.servicos, .servicos-mobile {

    text-align: center;

    font-size: 2em;

    color: #3B2F85;

    width: 100%;

    margin: 0;

    padding: 26px 0;

}



.servicos-mobile {

    display: none;

}



.servicos-grid {

    position: relative;

    margin: 0 auto;

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    grid-auto-rows: minmax(min-content, max-content);

    grid-gap: 6px;

    text-align: center;

    width: 96%;

    padding-bottom: 40px;

}



.tipo-servico {

    background-color: #fff;

    border-radius: 4px;

    padding-bottom: 20px;

    color: #058ACB;

    -webkit-box-shadow: 0px 7px 18px -4px rgba(0,0,0,0.75);

    -moz-box-shadow: 0px 7px 18px -4px rgba(0,0,0,0.75);

    box-shadow: 0px 7px 18px -4px rgba(0,0,0,0.75);

}



    .tipo-servico:nth-of-type(odd) {

        background-color: #058ACB;

        color: #fff;

    }



    .tipo-servico h3 {

        font-size: 1.4em;

        margin-bottom: 8px;

    }



    .tipo-servico img {

        border-radius: 2px;

        width: 300px;

        height: 180px;

    }



    .tipo-servico p {

        font-size: 1em;

        margin: 14px 4px 0px 4px;

    }



.contactos {

    background-image: url("../images/Foto0005.png");

    background-size: cover;

    background-position: bottom;

    max-height: 100vh;

    width: 100%;

    padding-bottom: 40px;

}



    .contactos h2 {

        color: #fff;

        font-size: 2em;

        margin-top: 0;

        padding-top: 40px;

        text-align: center;

    }



.form-container {

    border-radius: 4px;

    background-color: rgba(5, 138, 203, 0.8);

    width: 50%;

    margin: 0 auto;

    position: relative;

    padding: 30px 15px 30px 15px;

}



input {

    border-radius: 2px;

    display: block;

    width: 95%;

    margin: 0 auto 16px auto;

    background-color: rgba(255, 255, 255, 0);

    border: none;

    border-bottom: 2px solid #fff;

    font-size: 20px;

    color: #fff;

}



textarea {

    border-radius: 2px;

    display: block;

    width: 95%;

    height: 240px;

    margin: 0 auto;

    background-color: rgba(255, 255, 255, 0);

    border: none;

    border-bottom: 2px solid #fff;

    font-size: 22px;

    color: #fff;

    resize: vertical;

}



form button {

    margin: 20px auto;

    font-size: 18px;

    width: 40%;

    background-color: #058ACB;

    color: #fff;

    padding: 15px 32px;

    text-align: center;

    text-decoration: none;

    display: block;

    font-size: 18px;

    font-weight: bold;

    cursor: pointer;

    border: 2px solid;

    border-radius: 4px;

    transition: 0.3s;

}



    form button:hover {

        color: #058ACB;

        background-color: #fff;

    }



::placeholder {

    color: #fff;

    opacity: 1;

}



:-ms-input-placeholder {

    color: #fff;

}



::-ms-input-placeholder {

    color: #fff;

}



.form-container p {

    color: #fff;

    margin: 0;

    margin-top: 12px;

    text-align: center;

}



    .form-container p a {

        font-weight: bold;

        color: #fff;

        text-decoration: none;

    }



input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus, select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus {

    font-size: 22px;

    -webkit-text-fill-color: #fff;

    -webkit-box-shadow: 0 0 0 30px #058ACB inset !important;

}



.footer {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    grid-template-rows: 80% 20%;

    background-color: rgb(70, 155, 230);

    color: #fff;

    padding: 15px 20px;

    font-size: 13px;

}



    .footer p {

        margin: 0;

        margin-left: 10px;

    }



        .footer p b {

            font-size: 16px;

        }



    .footer div:not(:first-child) {

        border-left: 1px solid #bbb;

    }



    .footer a {

        text-decoration: none;

        color: #fff;

        font-weight: bold;

    }



.links-footer a {

    font-weight: normal;

    display: block;

    margin-left: 10px;

    margin-bottom: 4px;

    max-width: 40%;

}



.footer-imgs {

    position: relative;

    margin: 0 auto;

    grid-column: 1 / 7;

}



.modal {

    max-width: 1100px;

}



.img-mapa {

    width: 100%;

    border-radius: 6px;

}



.slideshow-container {

    position: relative;

    background-color: rgba(5,138,203,0.7);

}

/* Slides */

.mySlides {

    display: none;

    padding: 80px;

    text-align: center;

}



.prev, .next {

    cursor: pointer;

    position: absolute;

    top: 50%;

    width: auto;

    margin: -30px 20px 0 20px;

    padding: 16px;

    color: #fff;

    font-weight: bold;

    font-size: 20px;

    border-radius: 100%;

    user-select: none;

}



.next {

    position: absolute;

    right: 0;

    border-radius: 100%;

}



    .prev:hover, .next:hover {

        background-color: rgb(70, 155, 230);

        color: white;

    }



.dot-container {

    text-align: center;

    padding: 20px;

    background: #058ACB;

}



.dot {

    cursor: pointer;

    height: 15px;

    width: 15px;

    margin: 0 2px;

    background-color: #bbb;

    border-radius: 50%;

    display: inline-block;

    transition: background-color 0.6s ease;

}



    .active, .dot:hover {

        background-color: #717171;

    }



.slideshow-container h3 {

    color: #3B2F85;

    font-weight: bold;

    font-size: 1.4em;

    margin-bottom: 40px;

}



.slideshow-container p {

    color: #fff;

    text-align: justify;

}



.slideshow-container a {

    color: #fff;

    font-weight: bold;

}



.banner-container img {

    display: block;

    position: relative;

    margin: 15px auto;

    width: 728px;

}



.banner-container a {

    padding: 0;

}

/* MEDIA QUERIES */

@media screen and (max-width: 900px) {

    .mobile-nav {

        display: block;

    }



    .navbar {

        display: none;

    }



    .landing-container {

        background-position: center;

        height: 100vh;

    }



    .navbar li a img {

        max-width: 200px;

    }



    .navbar-link {

        display: none !important;

    }



    #welcome-header {

        line-height: 1em;

        font-size: 50px;

    }



    #welcome-header {

        line-height: 1em;

        font-size: 50px;

    }



    .main-container {

        grid-template-columns: 1fr;

        grid-template-rows: max-content max-content;

        margin-bottom: 0;

        height: auto;

    }



    .quem-somos {

        text-align: center;

        height: auto;

    }



        .quem-somos h2 {

            padding-top: 40px;

            padding-left: 0;

            margin-bottom: 20px;

        }



        .quem-somos p {

            margin: 0;

            margin-top: 20px;

            padding: 0 20px;

            padding-bottom: 40px;

            line-height: 28px;

            font-size: 1.2em;

        }



        .quem-somos .escurece {

            background: rgba(5,138,203,0.6);

        }



    .local {

        padding-bottom: 60px;

    }



        .local h2 {

            padding-top: 60px;

        }



        .local .btn {

            display: none;

        }



        .local .btn-mobile {

            display: inline-block;

        }



        .local button:hover {

            font-size: 18px;

        }



    .servicos {

        display: none;

    }



    .servicos-mobile {

        display: block;

        border-top: 2px solid white;

        color: #fff;

    }



    .servicos-grid {

        grid-template-columns: 1fr;

        grid-template-rows: repeat(12, min-content);

        grid-gap: 0px;

        width: 100%;

        padding: 0;

    }



    .tipo-servico {

        border-radius: 0;

        -webkit-box-shadow: none;

        box-shadow: none;

    }



        .tipo-servico img {

            width: 360px;

            height: 200px;

        }



        .tipo-servico p {

            margin-bottom: 12px;

        }



    .form-container {

        width: 100%;

        border-radius: 0;

        padding: 20px 0 0px 0px;

    }



    .contactos {

        margin-bottom: 15px;

        padding-bottom: 0px;

    }



        .contactos .escurece {

            width: 100vw;

        }



    .contacto-form input, .contacto-form textarea {

        margin: 26px 0;

    }



    .contacto-form textarea {

        resize: none;

    }



    .contactos h2 {

        background-color: rgba(5,138,203,0.8);

        margin-bottom: 0;

    }



    form-container {

        padding: 20px 0px 40px 0px;

    }



    form {

        padding-left: 15px;

    }



        form button {

            margin: 20px 0;

            width: 96%;

        }



            form button:hover {

                background-color: #058ACB;

                color: #fff;

            }



    .form-container p {

        padding-bottom: 20px;

    }



    .prev, .next {

        margin: -30px 10px 0 10px;

    }



        .prev:hover, .next:hover {

            background-color: transparent;

        }



    .mySlides {

        padding: 40px 60px;

    }



    .banner-container img {

        width: 90%;

    }



    .footer {

        display: block;

        text-align: center;

        padding: 15px 0;

        font-size: 14px;

    }



        .footer ul {

            list-style-type: none;

            margin: 0;

            padding: 0;

        }



        .footer p {

            margin: 0;

        }



            .footer p b {

                font-size: 18px;

            }



    .links-footer a {

        max-width: 100%;

    }



    #footer-email {

        font-weight: normal;

    }



    .horario-footer {

        margin-bottom: 20px;

    }



    .contactos-footer {

        margin-bottom: 20px;

    }



    .links-footer {

        margin-bottom: 20px;

    }



    .footer div:not(:first-child) {

        border-left: none;

    }



    .hide-mobile {

        display: none;

    }



    ::-webkit-scrollbar {

        display: none;

    }

}







/* Pol�ticas */



#bg-politica {

    background-image: none;

    background-color: #eee;

}



.text-container {

    padding: 100px 50px;

}



.navbar-first a {

    color: #058ACB !important;

}

.ModalFixed {

	align-items: center;

    background-color: rgba(0, 0, 0, 0.75);

	display: flex;

    height: 100%;

    left: 0;

    position: fixed;

    top: 0;

    width: 100%;

    z-index: 99999999999999;

}

.ModalFlex {

	align-items: center;

    background-color: rgba(0, 0, 0, 0.75);

	display: flex;

    height: 100%;

    width: 100%;

}

.ModalDialog, .ModalDialogRadius {

    background-color: rgb(255, 255, 255);

    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);

    margin: auto;

    max-width: 500px;

    padding: 25px;

}

.ModalDialogRadius {

	border-radius: 20px;

}

.OnTop {

	background: url("../images/32/top.png") no-repeat center center;

	background-color: rgba(0, 0, 0, 0.5);

	border: 1px solid rgba(255, 255, 255, 0.5);

	border-radius: 5px;

	bottom: 25px;

	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);

	cursor: pointer;

	display: none;

	height: 56px;

	height: 56px;

	padding: 5px;

	position: Fixed;

	right: 20px;

	width: 56px;

	transition: 1s;

	z-index: 1;

}

