.events-page .view .share .buttons, .news .secondary .col-1, .news .view .share .buttons, header .socials, header .socials .text, header .socials ul {
    float: left
}

*, nav ul {
    margin: 0;
    padding: 0
}

header .socials .text, nav ul li .text {
    font-size: 18px;
    text-transform: uppercase;
    color: #fff;
    font-weight: 700
}

.subheader .search input, header .socials .text {
    font-style: normal;
    line-height: normal;
    box-sizing: border-box
}

*, .news .main .content, .subheader .search input, header .socials .text, nav ul li ul li {
    box-sizing: border-box
}

*, .unit-box, body {
    font-family: "Sofia Sans", sans-serif
}

.events .carousel-btn-events, .municipalities .carousel-btn, .units .arrows button {
    filter: drop-shadow(0 4px 4px rgba(0, 0, 0, .15));
    cursor: pointer
}

*, nav ul {
    padding: 0
}

.events-page .list, header .acessibility ul, header .socials ul, nav ul, nav ul li ul {
    list-style: none
}

.links a, .ombudsman .links a, .toastify, a {
    text-decoration: none
}

body {
    background: #edf1f5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.align {
    width: 1200px;
    max-width: 93%;
    margin: 0 auto
}

.slide, .slide img, .subheader, header, nav {
    width: 100%
}

.municipalities, .slide {
    margin-bottom: 50px;
    position: relative
}

header {
    background: #0490c2;
    height: 50px;
    flex-shrink: 0;
    display: block
}

header .socials .text {
    padding: 13px 15px 0 0
}

header .acessibility ul li, header .socials ul li {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    border-radius: 5px;
    background: rgba(0, 0, 0, .2);
    float: left;
    margin: 9px 5px 0 0;
    transition: .2s linear;
    cursor: pointer
}

header .acessibility ul li:hover, header .socials ul li:hover {
    background: rgba(0, 0, 0, .4);
    transition: .2s linear
}

header .acessibility ul li svg, header .socials ul li svg {
    margin: 5px
}

.news .secondary .col-2, header .acessibility {
    float: right
}

nav {
    height: auto;
    min-height: 90px;
    background: #00b4f4;
    display: flex;
    align-items: center;
    justify-content: center
}

nav ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 60px
}

nav ul li {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 90px;
    gap: 6px;
    transition: .2s linear;
    cursor: pointer
}

nav ul li .line {
    width: 10px;
    height: 4px;
    background: #fff;
    transition: .2s linear
}

nav ul li .text {
    transition: .2s linear
}

nav ul li:hover .line {
    width: 35px;
    background: #00516e
}

nav ul li ul li:hover, nav ul li:hover .text {
    color: #00516e
}

nav ul li ul {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -10px);
    background: #fff;
    border-radius: 0 0 5px 5px;
    padding: 5px 0;
    min-width: 220px;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    gap: 0
}

nav ul li:hover ul {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0)
}

nav ul li ul li {
    width: 100%;
    float: left;
    padding: 8px 20px;
    color: #00b4f4;
    text-align: left;
    font-size: 16px;
    transition: background .2s linear, color .2s linear;
    font-weight: 700;
    align-items: start;
    height: auto
}

.subheader {
    height: 130px;
    background: #fff;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .05)
}

.subheader .logo {
    float: left;
    margin-top: 10px
}

.subheader .search {
    width: 389px;
    height: 44px;
    flex-shrink: 0;
    border-radius: 5px;
    background: #e9f0f2;
    float: right;
    margin-top: 40px
}

@media (max-width: 900px) {
    .subheader .search { display: none; }
    .subheader {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        height: 100px;
    }

    .subheader .logo {
        float: none;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        margin-top:0;
    }

    .subheader .logo img {
        display: block;
        margin: 0 auto;
        width: 300px;
    }
}

.subheader .search input {
    width: 350px;
    float: left;
    border: none;
    outline: 0;
    height: 44px;
    color: #656565;
    font-size: 13px;
    font-weight: 500;
    background: 0 0;
    padding: 0 15px
}

.subheader .search .button {
    float: left;
    cursor: pointer;
    margin: 7px
}

.subheader .search .button svg {
    margin-top: 3px
}

.slide {
    height: 150px;
    overflow: hidden
}

.slide img {
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity .6s ease-in-out
}

.municipalities {
    width: 100%;
    border-radius: 10px;
    float: left;
    margin-top: 50px
}

.municipalities .title {
    width: 270px;
    height: 50px;
    border-radius: 10px 3px;
    background: #00516e;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .15);
    color: #fff;
    font-size: 25px;
    font-weight: 700;
    margin: 0 auto;
    padding: 10px 15px;
    text-align: center
}

.municipalities .carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
    margin-top: 40px
}

.municipalities .carousel-track {
    display: flex;
    gap: 32px;
    transition: transform .4s ease-in-out
}

.municipalities .carousel-item {
    flex: 0 0 275px;
    width: 275px;
    height: 232px;
    flex-shrink: 0;
    border-radius: 10px 10px 0 0;
    background: #fff;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .05);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    transition: background .2s linear, transform .2s
}


.events .carousel-item-events:hover, .municipalities .carousel-item:hover {
    transform: scale(1.03)
}

.municipalities .carousel-item .photo {
    width: 257px;
    height: 155px;
    border-radius: 10px 10px 0 0;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .05);
    margin: 9px
}

@media (max-width: 900px) {
    .municipalities .carousel-item {
        flex: 0 0 100%;
        width: 100%;
        height: 232px;
        flex-shrink: 0;
        border-radius: 10px 10px 0 0;
        background: #fff;
        box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .05);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        overflow: hidden;
        transition: background .2s linear, transform .2s
    }

    .municipalities .carousel-item .photo {
        width: 95%;
    }

}

.news .secondary .box-1, .news .tertiary .box {
    margin-bottom: 15px;
    transition: background .2s linear, transform .2s
}

.municipalities .carousel-item .photo .simbol {
    width: 103px;
    height: 104px;
    flex-shrink: 0;
    border-radius: 10px 0 0 10px;
    background: rgba(255, 255, 255, .7);
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .05);
    backdrop-filter: blur(2px);
    float: right;
    margin-top: 22px;
    display: flex;
    align-items: center;
    justify-content: center
}

.municipalities .carousel-item .photo .simbol img {
    max-height: 75px;
    max-width: 100%;
    object-fit: contain
}

.municipalities .carousel-item .city {
    width: 100%;
    color: #00b4f4;
    text-align: center;
    font-family: "Sofia Sans";
    font-size: 20px;
    font-weight: 800;
    line-height: normal;
    margin-top: 10px
}

.events .title .name, .events-page .title .name, .news .main .content .date .box .day, .news .title .name, .page .title .name {
    font-size: 30px;
    color: #424b59;
    font-style: normal;
    line-height: normal;
    font-weight: 800
}

.municipalities .carousel-item .footer {
    width: 100%;
    margin-top: 20px;
    display: flex;
    justify-content: center
}

.municipalities .carousel-item .footer .range {
    width: 25%;
    height: 8px;
    background: #00b4f4
}

.municipalities .carousel-btn {
    position: absolute;
    top: 67%;
    transform: translateY(-50%);
    width: 35px;
    height: 35px;
    border: none;
    border-radius: 50%;
    color: #fff;
    font-size: 22px;
    z-index: 10;
    transition: background .2s;
    background: #00b4f4;
    box-sizing: border-box;
    padding: 6px 0
}

.events .carousel-btn-events:hover, .events .carousel-item-events .date .more .box:hover, .municipalities .carousel-btn:hover, .news .main .content .open:hover {
    background: #0088b8
}

.events .carousel-btn-events.prev, .municipalities .carousel-btn.prev {
    left: -18px
}

.events .carousel-btn-events.next, .municipalities .carousel-btn.next {
    right: -14px
}

.news {
    width: 100%;
    float: left;
    margin: 0 0 50px
}

.events-page .title, .news .title, .page .title {
    display: flex;
    align-items: center;
    gap: 5px;
    position: relative;
    margin-bottom: 10px
}

.events .title .icon, .events-page .title .icon, .news .title .icon {
    width: auto;
    height: auto
}

.events .title::after, .events-page .title::after, .news .title::after, .page .title::after {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    background: #00b4f4;
    position: absolute;
    bottom: -5px;
    left: 0;
    border-radius: 2px
}

.events .more, .news .more {
    float: right;
    color: #00b4f4;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-top: -40px
}

.news .main {
    float: left;
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    max-width: 1244px;
    position: relative;
    transition: background .3s linear, transform .2s
}

.news .main:hover {
    transform: scale(1.01)
}

.news .main .photo {
    width: 600px;
    height: 370px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat
}



.news .main .photo::before {
    content: '';
    position: absolute;
    inset: 0;
    background: inherit;
    background-position: inherit;
    background-repeat: inherit;
    background-size: inherit;
    border-radius: inherit;
    transition: transform .3s ease-in-out
}

.news .main:hover .photo::before, .news .tertiary .box:hover .photo::before {
    transform: scale(1.1)
}

.news .main .content {
    position: relative;
    margin-left: -40px;
    width: 644px;
    height: 328px;
    border-radius: 0 10px 10px 0;
    border-left: 4px solid #00b4f4;
    background: #fff;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .03);
    z-index: 2;
    padding: 20px 30px;
    margin-top: 41px
}

.news .main .content .date {
    width: 100%;
    float: right
}

.news .main .content .date .box {
    width: 73px;
    height: 77px;
    flex-shrink: 0;
    border-radius: 5px;
    border: 1px solid #e5e5e5;
    background: #fff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .04);
    float: right;
    margin-top: -70px
}

.news .main .content .date .box .day {
    width: 100%;
    text-align: center;
    font-family: "Sofia Sans";
    margin-top: 10px
}

.news .main .content .date .box .month {
    width: 100%;
    text-align: center;
    color: #424b59;
    font-family: "Sofia Sans";
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin-top: -5px
}

.news .main .content .category {
    width: 100%;
    float: left;
    text-align: left;
    color: #00b4f4;
    font-size: 16px;
    font-style: normal;
    font-weight: 800;
    line-height: normal
}

.news .main .content .name, .news .main .content .text {
    text-align: left;
    color: #424b59;
    font-style: normal;
    width: 100%;
    float: left;
    line-height: normal
}

.news .main .content .name {
    font-size: 20px;
    font-weight: 800;
    margin-top: 5px
}

.news .main .content .text {
    font-size: 16px;
    font-weight: 500;
    margin-top: 10px
}

.news .main .content .open {
    position: absolute;
    bottom: 20px;
    left: -25px;
    width: 45px;
    height: 45px;
    background: #00b4f4;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, .1);
    cursor: pointer;
    transition: background .2s ease-in-out
}

@media (max-width: 900px) {
    .news .main {
        float: left;
        margin-top: 20px;
        display: block;
        max-width: 1244px;
        position: relative;
        transition: background .3s linear, transform .2s
    }
    .news .main .photo {
        width: 100%;
        height: 370px;
        border-radius: 10px 10px 0 0 ;
        overflow: hidden;
        position: relative;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat
    }
    .news .main .content {

        margin-left: 0;
        width: 100%;
        height: auto;
        display: flow-root;
        border-radius: 0 0 10px 10px;
        border-top: 4px solid #00b4f4;
        border-left:none;
        background: #fff;
        box-shadow: 0 4px 4px rgba(0, 0, 0, .03);
        z-index: 2;
        padding: 20px 30px;
        margin-top: 0px
    }
    .news .main .content::after {
        content: "";
        display: block;
        clear: both;
    }

    .news .main .content .open {
        position: absolute;
        top: -20px;
        left: 25px;
        width: 45px;
        height: 45px;
        background: #00b4f4;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 6px rgba(0, 0, 0, .1);
        cursor: pointer;
        transition: background .2s ease-in-out
    }
}

.news .secondary, .news .tertiary {
    width: 100%;
    float: left;
    margin-top: 50px
}

.news .secondary .box-1 {
    width: 544px;
    height: 177px;
    flex-shrink: 0;
    border-radius: 10px 10px 0 0;
    border-bottom: 4px solid #00b4f4;
    background: #fff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .03)
}

.news .secondary .box-1:hover, .news .secondary .box-2:hover {
    transform: scale(1.02)
}

.news .secondary .box-1 .photo {
    width: 240px;
    height: 177px;
    flex-shrink: 0;
    border-radius: 10px 0 0;
    border-bottom: 4px solid #00b4f4;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .03);
    float: left;
    position: relative;
    overflow: hidden;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat
}

.news .secondary .box-1 .photo::before, .news .tertiary .box .photo::before {
    content: '';
    position: absolute;
    inset: 0;
    background: inherit;
    background-position: inherit;
    background-repeat: inherit;
    background-size: inherit;
    border-radius: inherit;
    transition: transform .2s ease-in-out
}

.news .secondary .box-1:hover .photo::before {
    transform: scale(1.2)
}

.news .secondary .box-1 .category {
    width: 290px;
    float: left;
    color: #00b4f4;
    font-family: "Sofia Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    padding: 15px 0 0 15px;
    box-sizing: border-box
}

.news .secondary .box-1 .date, .news .secondary .box-1 .name {
    width: 290px;
    color: #424b59;
    box-sizing: border-box;
    float: left;
    font-style: normal;
    font-family: "Sofia Sans"
}

.news .secondary .box-1 .name {
    font-size: 20px;
    font-weight: 800;
    padding: 0 0 0 15px;
    line-height: 100%;
    transition: .1s linear
}

.news .secondary .box-1:hover .name, .news .tertiary .box:hover .name {
    color: #00b4f4;
    transition: .1s linear
}

.news .secondary .box-1 .date {
    font-size: 16px;
    font-weight: 600;
    line-height: normal;
    padding: 5px 0 0 15px
}

@media (max-width: 900px) {
    .news .secondary .box-1 {
        width: 100%;
        height: 177px;
        flex-shrink: 0;
        border-radius: 10px 10px 0 0;
        border-bottom: 4px solid #00b4f4;
        background: #fff;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .03)
    }

    .news .secondary .box-1 .photo {
        width: 50%;
        height: 177px;
        flex-shrink: 0;
        border-radius: 10px 0 0;
        border-bottom: 4px solid #00b4f4;
        box-shadow: 0 4px 4px rgba(0, 0, 0, .03);
        float: left;
        position: relative;
        overflow: hidden;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat
    }

    .news .secondary .box-1 .category {
        width: 50%;
    }

    .news .secondary .box-1 .name {
        width: 49%;
        font-size: 16px;
    }

    .news .secondary .box-1 .date {
        width: 50%;
    }
}

.news .secondary .box-2 {
    position: relative;
    width: 633px;
    height: 368px;
    flex-shrink: 0;
    border-radius: 10px;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .03), 0 4px 4px 0 rgba(0, 0, 0, .03);
    float: right;
    transition: background .2s linear, transform .2s
}

.news .secondary .box-2 .content {
    width: 595px;
    height: 124px;
    flex-shrink: 0;
    border-radius: 10px;
    background: rgba(41, 48, 57, .9);
    position: absolute;
    bottom: 20px;
    left: 20px
}

.unit-box, .units, .units .center, .units .left-content, .units .left-content .title, .units-carousel, footer .content .nav {
    position: relative
}

.municipalities-page, .news .secondary .box-2 .content .open, .ombudsman .col-1 .online .header, .ombudsman .links, .unit-box .content {
    width: 100%;
    float: left
}

.news .secondary .box-2 .content .open .box {
    width: 45px;
    height: 45px;
    flex-shrink: 0;
    background: #00b4f4;
    border-radius: 100px;
    margin: -22px auto;
    transition: background .2s linear, transform .2s;
    box-sizing: border-box;
    padding: 8px
}



.news .tertiary .box, .news .tertiary .box .photo {
    height: 150px;
    flex-shrink: 0;
    border-bottom: 4px solid #00b4f4
}

.news .secondary .box-2 .content .open .box:hover {
    background: #0088b8;
    transform: scale(1.1)
}

.news .secondary .box-2 .content .date {
    width: 100%;
    color: #00b4f4;
    font-family: "Sofia Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    box-sizing: border-box;
    padding: 2px 20px;
    margin-top: 30px
}

.news .secondary .box-2 .content .name {
    width: 100%;
    color: #fff;
    font-family: "Sofia Sans";
    font-size: 20px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    box-sizing: border-box;
    padding: 0 20px
}

@media (max-width: 900px) {
    .news .secondary .box-2 {
        position: relative;
        width: 100%;
        height: 368px;
        flex-shrink: 0;
        border-radius: 10px;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .03), 0 4px 4px 0 rgba(0, 0, 0, .03);
        float: right;
        transition: background .2s linear, transform .2s
    }
    .news .secondary .box-2 .content {
        width: 95%;
        height: 124px;
        flex-shrink: 0;
        border-radius: 10px;
        background: rgba(41, 48, 57, .9);
        position: absolute;
        bottom: 2.5%;
        left: 2.5%
    }

    .news .secondary .box-2 .content .date {
        width: 100%;
        color: #00b4f4;
        font-family: "Sofia Sans";
        font-size: 16px;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
        box-sizing: border-box;
        padding: 2px 20px;
        margin-top: 30px;
        text-align: center;
    }

    .news .secondary .box-2 .content .name {
        width: 100%;
        color: #fff;
        font-family: "Sofia Sans";
        font-size: 18px;
        font-style: normal;
        font-weight: 800;
        line-height: 110%;
        box-sizing: border-box;
        padding: 0 20px;
        text-align: center;
    }
}

.news .tertiary .box {
    width: 100%;
    border-radius: 10px 10px 0 0;
    background: #fff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .03);
    overflow: visible
}

.events-page .list .item:hover, .news .tertiary .box:hover {
    transform: scale(1.015)
}

.news .tertiary .box .photo {
    width: 240px;
    border-radius: 10px 0 0;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .03);
    float: left;
    position: relative;
    overflow: hidden;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat
}

.news .tertiary .box .category {
    width: 850px;
    float: left;
    color: #00b4f4;
    font-size: 16px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    padding: 15px 0 0 15px;
    box-sizing: border-box
}

.news .tertiary .box .name, .news .tertiary .box .text {
    width: 850px;
    float: left;
    transition: .1s linear;
    padding: 0 0 0 15px;
    font-style: normal;
    color: #424b59;
    box-sizing: border-box
}

.news .tertiary .box .name {
    font-size: 20px;
    font-weight: 800;
    line-height: 100%
}

.news .tertiary .box .text {
    font-size: 16px;
    font-weight: 400;
    line-height: normal
}

.news .tertiary .box .date {
    width: 73px;
    height: 77px;
    flex-shrink: 0;
    border-radius: 5px;
    border: 1px solid #e5e5e5;
    background: #fff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .04);
    float: right;
    margin: -65px 25px 0 0;
    z-index: 99
}

@media (max-width: 900px) {
    .news .tertiary .box {
        width: 100%;
        border-radius: 10px 10px 0 0;
        background: #fff;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .03);
        overflow: visible;
        margin-bottom: 25px;
    }

    .news .tertiary .box .photo {
        width: 50%;
        border-radius: 10px 0 0;
        box-shadow: 0 4px 4px rgba(0, 0, 0, .03);
        float: left;
        position: relative;
        overflow: hidden;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat
    }

    .news .tertiary .box .category {
        width: 50%;
    }

    .news .tertiary .box .name {
        width: 49%;
        font-size: 16px;
    }

    .news .tertiary .box .date {
        margin: -15px 0 0 10px;
        position: absolute;
    }

    .news .tertiary .box .text {
       display: none;
    }
}

.events .carousel-item-events .date .day, .news .tertiary .box .date .day {
    width: 100%;
    float: left;
    color: #424b59;
    text-align: center;
    font-size: 30px;
    font-style: normal;
    font-weight: 800;
    line-height: 120%;
    margin-top: 5px
}

.events .carousel-item-events .date .month, .news .tertiary .box .date .month {
    width: 100%;
    float: left;
    color: #424b59;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    text-align: center;
    margin-top: -5px
}

.events-page .view, .news .view {
    width: 100%;
    margin-top: 25px
}

.events-page .view .header, .news .view .header {
    display: flex;
    align-items: center;
    gap: 15px
}

.events-page .view .header .date, .news .view .header .date {
    width: 73px;
    height: 77px;
    border-radius: 5px;
    border: 1px solid #e5e5e5;
    background: #fff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .04);
    display: flex;
    flex-direction: column;
    justify-content: center
}

.events-page .view .header .date .day, .news .view .header .date .day {
    text-align: center;
    color: #424b59;
    font-family: "Sofia Sans";
    font-size: 30px;
    font-weight: 800
}

.events-page .view .header .date .month, .news .view .header .date .month {
    text-align: center;
    color: #424b59;
    font-family: "Sofia Sans";
    font-size: 18px;
    font-weight: 600;
    margin-top: -5px
}

.events-page .view .header .text, .news .view .header .text {
    flex: 1
}

.events-page .view .header .category, .news .view .header .category {
    color: #00b4f4;
    font-size: 14px;
    font-weight: 800
}

.events-page .view .header .name, .news .view .header .name {
    color: #424b59;
    font-size: 20px;
    font-weight: 800;
    margin-top: 2px
}

.events-page .view .share .name, .events-page .view .text, .news .view .share .name, .news .view .text {
    float: left;
    color: #424b59;
    font-size: 18px;
    font-weight: 400;
    line-height: normal;
    text-align: justify;
    font-style: normal
}

.news .view .gallery-container {
    display: flex;
    gap: 15px;
    width: 100%;
    max-width: 100%;
    margin: 30px auto
}

.news .view .main-image {
    flex: 1;
    height: 500px;
    border-radius: 8px;
    overflow: hidden;
    background: #f3f3f3;
    display: flex;
    align-items: center;
    justify-content: center
}

.news .view .main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.news .view .thumb-carousel {
    width: 180px;
    height: 500px;
    overflow-y: auto
}



.news .view .thumbs {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.news .view .thumbs img {
    width: 100%;
    height: 150px;
    border-radius: 6px;
    cursor: pointer;
    object-fit: cover;
    transition: .2s;
    border: 2px solid transparent
}

.news .view .thumbs img:hover {
    border-color: #0a93ff
}

.news .view .thumbs img .active {
    border: 3px solid #0a93ff
}



.news .view .share {
    width: 100%;
    border-radius: 10px;
    background: #ddd;
    float: left;
    box-sizing: border-box;
    padding: 11px
}

.events-page .view .share .name, .news .view .share .name {
    padding: 7px
}

.events-page .view .text, .news .view .text {
    width: 100%;
    margin-top: 20px
}

@media (max-width: 900px) {
    .news .view .gallery-container {
        display: block;
        gap: 0;
        width: 100%;
        max-width: 100%;
        margin: 30px auto
    }

    .news .view .thumb-carousel {
        width: 100%;
        height: auto;
        overflow-x: auto;
        margin-top:20px;
    }

    .news .view .thumbs {
        display: ruby-text;
        /* flex-direction: column; */
        gap: 8px;
        /* float: left; */
        height: auto;
        width: 100%;
    }
    .news .view .thumbs img {
        width: auto;
        height: 150px;
        border-radius: 6px;
        cursor: pointer;
        object-fit: cover;
        transition: .2s;
        border: 2px solid transparent;
        float: left;
    }

    .news .view .text {
        width: 100%;
        margin-top: 10px;
    }
}

body, html {
    overflow-x: hidden
}

.units {
    z-index: 1;
    width: 100%;
    background: #00b4f4;
    display: flex;
    justify-content: center;
    height: 310px
}

.units .center {
    max-width: 1200px;
    position: relative;
    width: 100%;
    display: flex;
    align-items: stretch;
    z-index: 2
}

.units .left-content {
    position: relative;
    width: 580px;
    border-radius: 10px 0 0 10px;
    color: #fff;
    padding: 20px;
    background: #00b4f4;
    z-index: 10;
    box-sizing: border-box
}

.units .left-content .title .box {
    position: absolute;
    top: -30px;
    left: -20px;
    width: 149px;
    height: 35px;
    border-radius: 10px 3px;
    background: #00516e;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .15);
    color: #fff;
    font-family: "Sofia Sans";
    font-size: 17px;
    font-weight: 700;
    line-height: 35px;
    padding: 0 11px;
    z-index: 9999
}

.units .right-map {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(calc(-600px + 580px));
    width: 100vw;
    height: 100%;
    background: #ccc;
    z-index: 1;
    overflow: hidden
}

.units .right-map iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block
}



.units-carousel {
    width: 580px;
    height: 270px;
    overflow: hidden;
    margin-left: -20px;
    margin-top: 20px
}

.units-list {
    display: flex;
    flex-direction: column;
    transition: transform .4s;
    padding-right: 10px
}

.unit-box {
    background: rgba(0, 0, 0, .1);
    padding: 10px 15px;
    color: #fff;
    height: 85px;
    box-sizing: border-box;
    margin-bottom: 5px;
    border-radius: 5px;
    box-sizing: border-box
}

.unit-box.active {
    background: #fff
}

.unit-box .symbol {
    width: 50px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 10px;
    top: 10px;
}

.unit-box .content .name {
    font-size: 20px;
    font-weight: 700
}

.unit-box .content .address, .unit-box .content .hours, .unit-box .content .phone {
    color: #00516e;
    font-size: 14px;
    font-weight: 500;
    float: left
}

.unit-box.active .content .name {
    color: #00b4f4
}

.unit-box .content .address {
    width: 100%
}

.unit-box.active .content .address, .unit-box.active .content .hours, .unit-box.active .content .phone {
    color: rgba(66, 75, 89, .8)
}

.unit-box .content .address .icon, .unit-box .content .hours .icon, .unit-box .content .phone .icon {
    float: left;
    margin-top: 1px
}

.unit-box .content .address .text, .unit-box .content .hours .text, .unit-box .content .phone .text {
    float: left;
    margin-left: 3px
}

.unit-box .content .phone {
    margin-left: 20px
}

@media (max-width: 900px) {

    .units {
        z-index: 1;
        width: 100%;
        background: #00b4f4;
        display: flex;
        justify-content: center;
        height: auto;
    }

    .units .center {
        max-width: 1200px;
        position: relative;
        width: 100%;
        display: block;
        align-items: stretch;
        z-index: 2;
    }

    .units .left-content {
        position: relative;
        width: 100%;
        border-radius: 10px 0 0 10px;
        color: #fff;
        padding: 20px;
        background: #00b4f4;
        z-index: 10;
        box-sizing: border-box;
        float: left;
    }

    .units .right-map {
        position: relative;
        top: 0;
        left: 0;
        transform: none;
        width: 100%;
        height: 300px;
        background: #ccc;
        z-index: 1;
        overflow: hidden;
        float: left;
    }

    .units .right-map iframe {
        width: 100%;
        height: 100%;
        border: 0;
        display: block
    }

    .units-carousel {
        width: 100%;
        height: 310px;
        overflow: hidden;
        margin-left: 5px;
        margin-top: -10px;
    }

    .units .left-content .title {
        width: 100%;
    }
    .units .left-content .title .box {
        position: relative;
        top: -30px;
        left: 50%;
        width: 149px;
        height: 35px;
        border-radius: 10px 3px;
        background: #00516e;
        box-shadow: 0 4px 4px rgba(0, 0, 0, .15);
        color: #fff;
        font-family: "Sofia Sans";
        font-size: 17px;
        font-weight: 700;
        line-height: 35px;
        padding: 0 11px;
        z-index: 9999;
        margin-left: -70px;
    }

    .unit-box {
        background: rgba(0, 0, 0, .1);
        padding: 10px 15px;
        color: #fff;
        height: 100px;
        box-sizing: border-box;
        margin-bottom: 5px;
        border-radius: 5px;
        box-sizing: border-box;
    }
    .unit-box .content .address, .unit-box .content .hours, .unit-box .content .phone {
        font-size:12px;
        line-height: 160%;
    }
    .unit-box .content .hours {
        width: 100%
    }
    .unit-box .content .phone {
        width: 100%;
        margin-left:0;
    }

    .unit-box .symbol {
        width: 50px;
        height: 65px;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 10px;
        top: 18px;
    }
}

.ombudsman .col-1 .li .text .name, .ombudsman .col-1 .online .header .name {
    color: #00b4f4;
    font-weight: 700;
    font-size: 25px
}

.units .arrows {
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 5px;
    z-index: 10
}

.units .arrows button {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    border: none;
    background: #00516e;
    color: #fff;
    font-size: 16px;
    transition: background .3s
}

.units .arrows button:hover {
    background: #003e55
}

.events, .events-page, .page {
    width: 100%;
    float: left;
    margin: 80px 0
}

.events .title {
    width: 100%;
    float: left;
    display: flex;
    align-items: center;
    gap: 5px;
    position: relative;
    margin-bottom: 10px
}

.events .arrows {
    float: right;
    margin-top: -45px
}

.events .carousel, .ombudsman {
    margin-top: 80px;
    position: relative
}

.events .carousel {
    width: 100%;
    overflow-x: clip;
    overflow-y: visible
}

.events .carousel-track-events {
    display: flex;
    gap: 30px;
    transition: transform .4s ease-in-out;
    margin-top: 10px
}

.events .carousel-item-events, .events-page .list .item, .ombudsman .content .buttonSubmit, .ombudsman .content .buttonSubmit:hover {
    transition: background .2s linear, transform .2s
}

.events .carousel-item-events {
    flex: 0 0 380px;
    width: 380px;
    height: 95px;
    flex-shrink: 0;
    border-radius: 10px 10px 0 0;
    border-bottom: 4px solid #00b4f4;
    background: #fff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .03)
}

@media (max-width: 900px) {
    .events, .events-page, .page {
        width: 100%;
        float: left;
        margin: 30px 0
    }

    .events .carousel-item-events {
        flex: 0 0 100%;
        width: 100%;
        height: 95px;
        flex-shrink: 0;
        border-radius: 10px 10px 0 0;
        border-bottom: 4px solid #00b4f4;
        background: #fff;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .03)
    }

    .events .carousel-track-events {
        display: ruby-text;
        gap: 30px;
        transition: transform .4s ease-in-out;
        margin-top: 10px;
    }
}

.events .carousel-item-events .date {
    float: left;
    width: 73px;
    height: 77px;
    flex-shrink: 0;
    border-radius: 5px;
    border: 1px solid #e5e5e5;
    background: #fff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .04);
    margin: -20px 0 0 20px
}

.events .carousel-item-events .date .more {
    width: 100%;
    float: left;
    margin: 6px 0 0 18px
}

.events .carousel-item-events .date .more .box {
    width: 33px;
    height: 33px;
    background: #00b4f4;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s ease-in-out
}

.events .carousel-item-events .name {
    width: 270px;
    float: left;
    color: #00b4f4;
    font-family: "Sofia Sans";
    font-size: 17px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    box-sizing: border-box;
    padding: 10px
}

.events .carousel-btn-events {
    width: 35px;
    height: 35px;
    border: none;
    border-radius: 50%;
    color: #fff;
    font-size: 22px;
    z-index: 10;
    transition: background .2s;
    background: #00b4f4;
    box-sizing: border-box;
    padding: 6px 0;
    float: left;
    margin-left: 7px
}

.newsletter {
    background: #00b4f4;
    width: 100%;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px
}

.newsletter .content {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 500px
}


.newsletter .content .icon {
    width: 90px;
    flex-shrink: 0
}

.newsletter .content .text {
    flex: 1;
    box-sizing: border-box;
    padding: 5px
}

.newsletter .content .text .title {
    color: #fff;
    font-size: 25px;
    font-weight: 800;
    line-height: normal
}

.newsletter .content .text .description {
    color: #00516e;
    font-size: 16px;
    font-weight: 500;
    line-height: 100%
}

.newsletter .form {
    width: 280px;
    display: flex;
    justify-content: center;
    align-items: center
}
@media (max-width: 900px) {
    .newsletter {
        background: #00b4f4;
        width: 100%;
        display: flow-root;
        height: auto;
    }

    .newsletter .content {
        width: 100%;
        padding: 20px;
        box-sizing: border-box;
    }
    .newsletter .form {
        width: 100%;
        padding-bottom: 20px;
    }
}

.newsletter .form .input {
    width: 270px;
    height: 44px;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 4px 6px 0 rgba(0, 0, 0, .07);
    display: flex;
    align-items: center
}

.newsletter .form input {
    border: none;
    outline: 0;
    width: 240px;
    height: 44px;
    color: #656565;
    font-size: 13px;
    font-weight: 500;
    padding-left: 10px;
    background: 0 0
}

.newsletter .form button {
    border: none;
    outline: 0;
    background: 0 0;
    margin-top: 3px;
    cursor: pointer
}

footer {
    background: #3d3d3d;
    width: 100%;
    padding-top: 10px;
    position: relative
}

footer::before {
    content: "";
    display: block;
    width: 100%;
    height: 6px;
    background: #00b4f4;
    position: absolute;
    top: 0;
    left: 0
}

footer .content, footer .copy .inner {
    width: 1200px;
    margin: 0 auto;
    display: flex
}

footer .content {
    justify-content: space-between;
    align-items: flex-start;
    padding: 50px 0 30px;
    gap: 50px
}

footer .content .left {
    display: flex;
    align-items: flex-start;
    gap: 60px
}

footer .content .logo img {
    width: 150px
}

footer .content .nav .name {
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 5px;
    position: relative
}

footer .content .nav .name::after {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    background: #00b4f4;
    border-radius: 2px;
    margin-top: 3px
}

footer .content .nav ul {
    list-style: none;
    padding: 0;
    margin: 10px 0 0
}

footer .content .nav ul li {
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.3
}

footer .content .buttons {
    display: flex;
    flex-direction: column;
    gap: 10px
}

footer .content .buttons a {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #2c2c2c;
    color: #fff;
    font-weight: 600;
    font-size: 15px;
    padding: 12px 18px;
    border-radius: 8px;
    text-decoration: none;
    transition: background .2s
}

footer .content .buttons a:hover {
    background: #00b4f4
}

footer .content .buttons a svg {
    width: 22px;
    height: 22px
}

footer .copy {
    background: rgba(0, 0, 0, .15);
    width: 100%;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center
}

footer .copy .inner {
    justify-content: space-between;
    align-items: center
}

footer .copy .text {
    color: #fff;
    font-size: 14px;
    font-weight: 500
}

footer .copy .enege {
    color: #fff;
    font-size: 15px;
    font-weight: 700
}

.ombudsman .content, .page .content {
    width: 100%;
    float: left;
    border-radius: 10px 10px 0 0;
    border-bottom: 4px solid #00b4f4;
    background: #fff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .03);
    box-sizing: border-box;
    padding: 15px;
    color: #424b59;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-top: 20px;
    text-align: justify
}

.page .content .title-text {
    color: #424b59;
    text-align: justify;
    font-size: 25px;
    font-style: normal;
    font-weight: 900;
    line-height: normal
}

.team {
    width: 100%;
    background: #fff;
    padding: 15px 0;
    float: left;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center
}

.team .member {
    flex: 0 0 calc(20% - 20px);
    text-align: center
}

.team .member img {
    width: 200px;
    height: 190px;
    background: #cfd8e0;
    border-radius: 4px;
    object-fit: cover;
    display: block;
    margin: 0 auto
}

.team .role {
    font-weight: 700;
    color: #00a8f3;
    font-size: 15px;
    margin-top: 10px
}

.team .name {
    font-weight: 600;
    color: #424b59;
    font-size: 16px;
    margin-top: 4px;
    line-height: 1.3
}

.ombudsman {
    width: 100%;
    border-radius: 10px;
    float: left;
    margin-bottom: 100px
}

.ombudsman .title {
    width: 170px;
    height: 50px;
    border-radius: 10px 3px;
    background: #00516e;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .15);
    color: #fff;
    font-size: 25px;
    font-weight: 700;
    margin: 0 auto;
    padding: 10px 15px;
    text-align: center
}

.ombudsman .content .h {
    width: 100%;
    float: left;
    color: #424b59;
    text-align: justify;
    font-size: 25px;
    font-style: normal;
    font-weight: 900;
    line-height: normal
}

.ombudsman .content .buttonSubmit {
    float: left;
    border-radius: 5px;
    background: #00cdf2;
    color: #fff;
    text-align: justify;
    font-size: 20px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    outline: 0;
    border: none;
    padding: 10px 15px;
    cursor: pointer
}

.ombudsman .col-1 .li, .ombudsman .col-1 .online {
    width: 100%;
    border-radius: 10px 10px 0 0;
    border-bottom: 4px solid #00b4f4;
    background: #fff;
    float: left;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .03)
}

.ombudsman .content .buttonSubmit:hover {
    background: #0098d2
}

.ombudsman .col-1 {
    float: left;
    width: 450px;
    margin-top: 20px
}

.ombudsman .col-1 .online {
    flex-shrink: 0
}

.ombudsman .col-1 .online .header .box {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    border-radius: 10px;
    background: #00b4f4;
    float: left;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: -20px 0 0 25px
}

.ombudsman .col-1 .online .header .name {
    float: left;
    font-style: normal;
    line-height: normal;
    margin: 15px 0 0 20px
}

.ombudsman .col-1 .online .text {
    width: 100%;
    float: left;
    color: #424b59;
    text-align: justify;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    box-sizing: border-box;
    padding: 15px 22px
}

.ombudsman .col-1 .online .actions {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    margin-bottom: 10px
}

.ombudsman .col-1 .online .button_action {
    width: 250px;
    border-radius: 10px 3px;
    background: #00b4f4;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .15);
    color: #fff;
    text-align: justify;
    font-size: 18px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    transform: translate(-5%, -5px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 15px
}

.ombudsman .col-1 .li {
    height: 100px;
    flex-shrink: 0;
    margin-top: 40px;
    position: relative
}

.ombudsman .col-1 .li .icon {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    border-radius: 10px;
    background: #00b4f4;
    float: left;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 18px 0 0 -15px
}

.ombudsman .col-1 .li .text {
    width: 300px;
    float: left;
    color: #424b59;
    font-size: 17px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    margin: 15px 0 0 20px
}

.option, label {
    font-size: 18px
}

.links a, .municipalities-page .banner .title, .municipalities-page .content, .ombudsman .col-1 .li .button, .ombudsman .col-1 .li .text .name, .ombudsman .col-2, .ombudsman .col-2 .name, input, select, textarea {
    font-style: normal;
    line-height: normal
}

.ombudsman .col-1 .li .button {
    width: 105px;
    height: 40px;
    flex-shrink: 0;
    border-radius: 10px 3px;
    background: #00516e;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .15);
    color: #fff;
    text-align: justify;
    font-size: 18px;
    font-weight: 800;
    position: absolute;
    bottom: -35px;
    right: 5px;
    transform: translate(-5%, -5px);
    display: flex;
    align-items: center;
    justify-content: center
}

.ombudsman .col-2 {
    float: right;
    width: 700px;
    color: #424b59;
    font-size: 20px;
    font-weight: 400;
    text-align: justify;
    box-sizing: border-box;
    padding: 15px 0 15px 15px
}

.ombudsman .manifesto_response_agirf, .ombudsman .manifesto_response_author {
    padding: 10px;
    margin-bottom: 10px;
    width: 100%;
    box-sizing: border-box;
    float: left
}

.ombudsman .col-2 .name {
    color: #424b59;
    font-size: 25px;
    font-weight: 900
}

.ombudsman .manifesto_response_author {
    border-radius: 5px;
    border: 1px dashed rgba(0, 0, 0, .2);
    background: #edf1f5
}

.ombudsman .manifesto_response_agirf {
    border-radius: 5px;
    border: 1px dashed #00cdf2;
    background: rgba(0, 205, 242, .15)
}

.ombudsman .links a {
    color: #424b59;
    font-weight: 700;
    font-size: 16px;
    width: 100%;
    float: left
}

.ombudsman .links a:hover {
    color: #00b4f4;
    text-decoration: underline
}

@media (max-width: 900px) {
    .ombudsman .col-1 {
        float: left;
        width: 100%;
        margin-top: 20px
    }
    .ombudsman .col-2 {
        float: left;
        width: 100%;
        color: #424b59;
        font-size: 20px;
        font-weight: 400;
        text-align: justify;
        box-sizing: border-box;
        padding: 15px 0 15px 0;
        margin-top:30px;
    }
}

.events-page .list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 0;
    margin: 30px 0 0;
    align-items: stretch
}

.events-page .list .item {
    display: flex;
    align-items: stretch;
    width: calc(50% - 10px);
    max-width: 50%;
    min-width: 320px;
    height: 177px;
    border-radius: 10px 10px 0 0;
    border-bottom: 4px solid #00b4f4;
    background: #fff;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .03);
    overflow: hidden
}

@media (max-width: 900px) {
    .events-page .list .item {
        display: flex;
        align-items: stretch;
        width: 100%;
        max-width: 100%;
        min-width: 100%;
        height: 177px;
        border-radius: 10px 10px 0 0;
        border-bottom: 4px solid #00b4f4;
        background: #fff;
        box-shadow: 0 4px 4px rgba(0, 0, 0, .03);
        overflow: hidden
    }
}

.events-page .list .item .thumb {
    flex: 0 0 200px;
    height: 100%;
    overflow: hidden
}

.events-page .list .item .thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 10px 0 0
}

.events-page .list .item .content {
    flex: 1;
    padding: 18px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.events-page .list .item .content .date {
    color: #00b4f4;
    font-size: 13px;
    font-weight: 700
}

.events-page .list .item .content .name {
    color: #24323a;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.15;
    margin: 0;
    transition: .2s linear
}

.events-page .list .item:hover .content .name, .links a:hover {
    color: #00b4f4;
    transition: .2s linear
}

.events-page .list .item .more {
    flex: 0 0 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 12px
}

.events-page .list .item .btn-more {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: none;
    background: #00b4f4;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 95px
}

.events-page .view .share {
    width: 100%;
    border-radius: 10px;
    background: #ddd;
    float: left;
    box-sizing: border-box;
    padding: 11px;
    margin-top: 30px
}

.events-page .view .gallery {
    width: 1200px;
    margin: 30px auto;
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 15px;
    float: left
}

.events-page .view .gallery img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    border-radius: 6px;
    cursor: pointer
}

@media (max-width: 900px) {
    .events-page .view .gallery {
        width: 100%;
        margin: 30px auto;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 15px;
        float: left;
    }
}

.municipalities-page .banner {
    width: 100%;
    height: 350px;
    position: relative
}

.municipalities-page .banner .title {
    border-radius: 10px 3px;
    background: #00b4f4;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .15);
    position: absolute;
    left: 30px;
    top: 150px;
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    padding: 10px 20px
}

.municipalities-page .banner .symbol {
    width: 215px;
    height: 205px;
    border-radius: 10px 10px 0 0;
    border-bottom: 4px solid #00b4f4;
    background: rgba(255, 255, 255, .7);
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .05), 0 4px 4px 0 rgba(0, 0, 0, .03);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 30px;
    top: 70px
}

.municipalities-page .content {
    width: 100%;
    float: left;
    border-radius: 10px 10px 0 0;
    border-bottom: 4px solid #00b4f4;
    background: #fff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .03);
    box-sizing: border-box;
    padding: 15px;
    color: #424b59;
    font-size: 20px;
    font-weight: 700;
    margin-top: 50px;
    margin-bottom: 50px;
    text-align: justify
}

.municipalities-map {
    width: 100%;
    float: left;
    height: 350px;
    margin: 50px 0
}

.links {
    width: 100%;
    float: left;
    margin-bottom: 20px
}

.links a {
    color: #424b59;
    font-size: 20px;
    font-weight: 800;
    transition: .2s linear;
    float: left;
    margin-top: 5px
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -8px;
    margin-right: -8px
}

[class^=col-] {
    padding-left: 8px;
    padding-right: 8px;
    width: 100%
}

.col-1 {
    width: 8.3333%
}

.col-2 {
    width: 16.6667%
}

.col-3 {
    width: 25%
}

.col-4 {
    width: 33.3333%
}

.col-5 {
    width: 41.6667%
}

.col-6 {
    width: 50%
}

.col-7 {
    width: 58.3333%
}

.col-8 {
    width: 66.6667%
}

.col-9 {
    width: 75%
}

.col-10 {
    width: 83.3333%
}

.col-11 {
    width: 91.6667%
}

.col-12 {
    width: 100%
}

@media (max-width: 768px) {
    [class^=col-] {
        width: 100%
    }
}

label {
    display: block;
    margin-bottom: 4px;
    font-weight: 500
}

input, select, textarea {
    display: block;
    width: 100%;
    padding: 8px 10px;
    outline: 0;
    border-radius: 5px;
    background: #edf1f5;
    color: #424b59;
    text-align: justify;
    font-size: 17px;
    font-weight: 400;
    border: 2px solid #edf1f5
}

input:focus, select:focus, textarea:focus {
    border: 2px solid #00cdf2
}

.option {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    user-select: none;
    margin-right: 10px
}

.option input {
    display: none
}

.option .control {
    width: 18px;
    height: 18px;
    border: 2px solid #cfcfcf;
    border-radius: 50%;
    position: relative;
    transition: .2s
}

.option input[type=radio] + .control {
    border-radius: 50%
}

.option input[type=radio]:checked + .control {
    border-color: #00b4f4
}

.option input[type=radio]:checked + .control::after {
    content: "";
    width: 8px;
    height: 8px;
    background: #00b4f4;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.option input[type=checkbox] + .control {
    border-radius: 4px
}

.option input[type=checkbox]:checked + .control {
    background: #00b4f4;
    border-color: #00b4f4
}

.option input[type=checkbox]:checked + .control::after {
    content: "";
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    position: absolute;
    top: 2px;
    left: 6px;
    transform: rotate(45deg)
}

.toastify {
    padding: 12px 20px;
    color: #fff;
    display: inline-block;
    box-shadow: 0 3px 6px -1px rgba(0, 0, 0, .12), 0 10px 36px -4px rgba(77, 96, 232, .3);
    background: -webkit-linear-gradient(315deg, #73a5ff, #5477f5);
    background: linear-gradient(135deg, #73a5ff, #5477f5);
    position: fixed;
    opacity: 0;
    transition: .4s cubic-bezier(.215, .61, .355, 1);
    border-radius: 2px;
    cursor: pointer;
    max-width: calc(50% - 20px);
    z-index: 2147483647
}

.toastify.on {
    opacity: 1
}

.toast-close {
    background: 0 0;
    border: 0;
    color: #fff;
    cursor: pointer;
    font-family: inherit;
    font-size: 1em;
    opacity: .4;
    padding: 0 5px
}

.toastify-right {
    right: 15px
}

.toastify-left {
    left: 15px
}

.toastify-top {
    top: -150px
}

.toastify-bottom {
    bottom: -150px
}

.toastify-rounded {
    border-radius: 25px
}

.toastify-avatar {
    width: 1.5em;
    height: 1.5em;
    margin: -7px 5px;
    border-radius: 2px
}

.toastify-center {
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    max-width: fit-content;
    max-width: -moz-fit-content
}

@media only screen and (max-width: 360px) {
    .toastify-left, .toastify-right {
        margin-left: auto;
        margin-right: auto;
        left: 0;
        right: 0;
        max-width: fit-content
    }
}

/* Estilos gerais */

/* Menu desktop (original) - visível apenas em telas grandes */
.desktop-menu {
    display: block;
}

/* ==================== MENU MOBILE ==================== */
.mobile-header {
    display: none;
    background: #0490c2;
    color: white;
    padding: 15px;
    justify-content: space-between;
    align-items: center;
    border-radius: 5px;
    position: relative;
    z-index: 1001; /* REDUZIDO: Fica abaixo do navmobile quando aberto */
    cursor: pointer;
    transition: background-color 0.2s ease;
    height: 60px;
    box-sizing: border-box;
}

/* Quando menu está aberto, header fica normal */
.mobile-header.active {
    background-color: #03729e;
    /* Mantém o mesmo z-index */
}

.hamburger {
    width: 30px;
    height: 24px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.hamburger span {
    display: block;
    height: 3px;
    width: 100%;
    background: white;
    border-radius: 3px;
    transition: all 0.3s ease;
}

/* Animação do hambúrguer para X */
.hamburger.active span:nth-child(1) {
    transform: translateY(10.5px) rotate(45deg);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
}

.hamburger.active span:nth-child(3) {
    transform: translateY(-10.5px) rotate(-45deg);
}

/* Overlay escuro quando menu está aberto */
.nav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 999; /* Abaixo do header e menu */
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.nav-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Menu mobile - CORRIGIDO: z-index maior */
.navmobile {
    position: fixed;
    top: 0;
    left: -320px;
    width: 300px;
    height: 100vh;
    background: #0490c2;
    z-index: 1002; /* AUMENTADO: Fica acima do header quando aberto */
    overflow-y: auto;
    transition: left 0.4s ease-out;
    box-shadow: 2px 0 20px rgba(0, 0, 0, 0.3);
}

/* Menu aberto */
.navmobile.active {
    left: 0;
}

/* Bloqueia scroll do body */
body.menu-open {
    overflow: hidden;
}

/* Links do menu - REMOVER pointer-events quando fechado */
.navmobile:not(.active) * {
    pointer-events: none;
}

.navmobile a,
.navmobile .dropdown-btn {
    padding: 15px 25px;
    text-decoration: none;
    font-size: 18px;
    color: white;
    display: block;
    border: none;
    background: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    outline: none;
    font-weight: 700;
    transition: all 0.3s ease;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    pointer-events: auto; /* Garante que links são clicáveis */
}

/* Hover dos links */
.navmobile.active a:hover,
.navmobile.active .dropdown-btn:hover {
    background: #00516e;
    padding-left: 30px;
}

/* Ícone do dropdown */
.dropdown-btn {
    position: relative;
}

.dropdown-btn i {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
}

.dropdown-btn.active i {
    transform: translateY(-50%) rotate(180deg);
}

/* Container do dropdown */
.dropdown-container {
    max-height: 0;
    overflow: hidden;
    background-color: rgba(0, 81, 110, 0.9);
    transition: max-height 0.4s ease;
}

.dropdown-container.active {
    max-height: 500px;
}

/* Links dentro do dropdown */
.dropdown-container a {
    padding: 12px 25px 12px 40px;
    font-size: 16px;
    font-weight: 500;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.dropdown-container a:hover {
    background: rgba(0, 81, 110, 1);
    padding-left: 45px;
}

/* ==================== RESPONSIVIDADE ==================== */
@media (max-width: 768px) {
    .desktop-menu {
        display: none;
    }

    .mobile-header {
        display: flex !important;
    }

    /* Garante que o header não interfira com o menu */
    .mobile-header {
        position: relative;
    }
}

@media (min-width: 769px) {
    .mobile-header {
        display: none !important;
    }

    .nav-overlay {
        display: none !important;
    }

    .navmobile {
        display: none !important;
    }
}