:root {
    --topnav-h: 40px;
    --navbar-h: 90px;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    padding-top: calc(var(--topnav-h) + var(--navbar-h));
    transition: padding-top 0.3s ease;
}

body.topnav-hidden {
    padding-top: var(--navbar-h) !important;
}

body.topnav-hidden #mainNavbar {
    top: 0 !important;
}

.mobile-submenu {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-10px);
    transition: max-height 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
}

.mobile-submenu.show {
    max-height: 500px;
    opacity: 1;
    transform: translateY(0);
}

/*
 * Permite que um bloco inserido dentro do conteúdo de uma Página (que normalmente
 * fica limitado à largura da coluna de texto) ocupe a largura total do ecrã,
 * tal como uma barra de atalhos ou secção de destaque. Uso no editor de texto
 * (botão "</>" código-fonte): envolver o bloco em <div class="full-bleed">...</div>.
 * Funciona em qualquer largura de ecrã (responsivo).
 */
.full-bleed {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}
