html {
    height: 100%;
    background: #2a2c2e;
}

body {
    font-family: 'Roboto-Bold', Arial, sans-serif !important;
    /*Para não permitir a seleção do texto no longpress*/
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none;   /* Chrome 6.0+, Safari 3.1+, Edge & Opera 15+ */
    -moz-user-select: none;      /* Firefox */
    -ms-user-select: none;       /* IE 10+ and Edge */
    user-select: none;           /* Non-prefixed version, 
								    currently supported by Chrome and Opera */
    background: #2a2c2e;
}

/* Classe hidden para ocultar elementos */
.hidden {
    display: none;
}

/* FULLSCREEN KIOSK MODE */
#box-btn-fullscreen {
    position: fixed;
    /* Posição inicial será definida via JavaScript (1780px, 85px) */
    left: 1780px;
    top: 85px;
    z-index: 9999;
    cursor: grab;
    user-select: none; /* Previne seleção de texto durante drag */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    width: auto; /* Não usar width: 100% para permitir posicionamento livre */
}

#box-btn-fullscreen:active {
    cursor: grabbing;
}

#btn-fullscreen {
    background-color: #c9a876 !important;
    color: #fff !important;
    padding: 10px 15px !important;
    border-radius: 5px !important;
    border: none !important;
    font-weight: bold !important;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.4) !important;
    transition: all 0.3s ease !important;
}

#btn-fullscreen:hover {
    background-color: #b8956a !important;
    box-shadow: 0px 6px 16px rgba(0, 0, 0, 0.5) !important;
    transform: translateY(-2px) !important;
}

hr {
    border-top: 1px solid black;
    margin-top: 0px;
    margin-bottom: 0px;
}

.panel-title:hover {
    cursor: pointer;
}

.danificada{
    background-color: #9f9486 !important;
}

/* TRUNCATE */
.truncate {
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.lb-lg{
    font-size: 18px;
}

/* CLOCK */
.middle{
    display:inline-block;
}

/* NAVBAR */
.navbar-brand {
    padding: 0px;
}

.navbar-brand>img {
    height: 100%;
    padding: 15px;
    width: auto;
}

.nav-tabs {
    padding-left: 15px;
    padding-top: 15px;
    margin-bottom: 0;
    border: none;
}

.tab-content {
    border: 0px solid #000000;
    border-radius: 0px;
    padding: 0px;
    min-height: calc(100vh - 85px);
    position: relative;
    background: transparent;
}

/* Remove background e styling da tab-pane casa */
.tab-pane#casa {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
}

/* iframe preenche toda a tela */
#iframeBabylon {
    position: fixed;
    top: 85px;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw !important;
    height: calc(100vh - 85px) !important;
    border: none !important;
}

#iframeBabylon iframe,
#iframeBabylon video {
    width: 100% !important;
    height: 100% !important;
}

/* Submenus aparecem logo abaixo do menu */
.submenu_builders {
    display: block !important;
    position: fixed !important;
    top: 85px !important;
    /* left será definido via JavaScript */
    width: 450px !important;
    z-index: 1001 !important;
    padding-top: 8px !important;
    padding-bottom: 12px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    background: transparent;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    visibility: visible !important;
    opacity: 1 !important;
}

.submenu_builders.hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.submenu_builders::-webkit-scrollbar {
    display: none;
}

/* Botões dos submenus */
.submenu_builders .btn {
    color: #2a2c2e !important;
    background-color: #e0e0e0 !important;
    opacity: 1 !important;
    font-weight: 600;
    border: none !important;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.35) !important;
    width: 100% !important;
    max-width: 410px !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.3;
    font-size: 0.98rem;
    transition: all 0.2s ease;
    border-radius: 10px;
}

.submenu_builders .btn:hover,
.submenu_builders .btn:focus,
.submenu_builders .btn:active {
    background-color: #e8e8e8 !important;
    opacity: 1 !important;
    box-shadow: 0px 6px 16px rgba(0, 0, 0, 0.5) !important;
    transform: translateY(-2px);
}

/* Menu no topo */
#menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: rgba(211, 211, 211, 0.0);
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 5px;
    padding-top: 0;
    height: auto;
    display: block;
    backdrop-filter: blur(3px);
}

#menu .row {
    margin: 0;
    display: block;
    width: 100%;
}

#menu .row::after {
    content: "";
    display: table;
    clear: both;
}

#menu .col-xs-2 {
    float: left;
    width: 16.666667%;
    margin-top: 0;
    text-align: center;
    padding-left: 10px;
    padding-right: 10px;
    display: block;
    box-sizing: border-box;
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* btn-default para Bootstrap 5 (não existe por padrão) */
.btn-default {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}

.btn-default:hover,
.btn-default:focus,
.btn-default.active {
    color: #333;
    background-color: #e6e6e6;
    border-color: #adadad;
}

#menu .btn {
    color: #2a2c2e !important;
    background-color: rgba(245, 245, 245, 0.6) !important;
    opacity: 1 !important;
    font-weight: 600;
    border: none !important;
    box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.35) !important;
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

#menu .btn:hover,
#menu .btn:focus,
#menu .btn.active {
    background-color: rgba(224, 224, 224, 0.7) !important;
    opacity: 1 !important;
    color: #2a2c2e !important;
}

/* ini LOADER */
#loader {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    width: 100px;
    height: 100px;
    margin: -75px 0 0 -75px;
    border: 16px solid #f3f3f3;
    border: 16px solid #131313;
    border-radius: 50%;
    border-top: 16px solid #2a2c2e;
    border-top: 16px solid #B2A77E;
    width: 120px;
    height: 120px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}

@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

#overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .5);
    background: rgba(0, 0, 0, 0.7);
    display: block;
}

/* FIM LOADER */

/* ini LOGIN */
.form-signin {
    max-width: 330px;
    padding: 15px;
    margin: 0 auto;
}

.form-signin .form-signin-heading,
.form-signin .checkbox {
    margin-bottom: 10px;
}

.form-signin .checkbox {
    font-weight: normal;
}

.form-signin .form-control {
    position: relative;
    font-size: 16px;
    height: auto;
    padding: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.form-signin .form-control:focus {
    z-index: 2;
}

.form-signin input[type="text"] {
    margin-bottom: -1px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.form-signin input[type="password"] {
    margin-bottom: 10px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.account-wall {
    margin-top: 20px;
    padding: 40px 0px 20px 0px;
    background-color: #f7f7f7;
    -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
}

.login-title {
    color: #555;
    font-size: 18px;
    font-weight: 400;
    display: block;
}

.profile-img {
    margin: 0 auto 10px;
    display: block;
    /*width: 96px;
    height: 96px;
    
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;*/
}

.need-help {
    margin-top: 10px;
}

.new-account {
    display: block;
    margin-top: 10px;
}

@font-face {
	font-family: 'Roboto-Bold', Arial, sans-serif !important;
    /*font-family: "junebug";*/
    src: url("../fonts/junebug-webfont.woff");
    src: url("../fonts/junebug-webfont.woff2");
}

/********************
    SUB-MENU NAVBAR
*********************/

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -1px;
}

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu>.dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: 2px;
    -webkit-border-radius: 0 0 6px 6px;
    -moz-border-radius: 0 6px 6px;
    border-radius: 0 0 6px 6px;
}

.dropdown-submenu:hover>.dropdown-menu {
    display: block;
}

.dropdown-submenu>a:after {
    display: block;
    content: " ";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #ccc;
    margin-top: 5px;
    margin-right: -10px;
}

.dropdown-submenu:hover>a:after {
    border-left-color: #fff;
}

.dropdown-submenu.pull-left {
    float: none;
}

.dropdown-submenu.pull-left>.dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
}

/* Container holding the image and the text */
.container {
    position: relative;
    text-align: center;
    color: white;
}

/* Centered text */
.centered {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Centered bottom text */
.centered-bottom {
    position: fixed;
    left: 50%;
    bottom: 20px;
    transform: translate(-50%, -50%);
    margin: 0 auto;
}

.delay-0dot1s {
    animation-delay: 0.1s;
}

.delay-0dot2s {
    animation-delay: 0.2s;
}

.delay-0dot3s {
    animation-delay: 0.3s;
}

.delay-0dot4s {
    animation-delay: 0.4s;
}

.delay-0dot5s {
    animation-delay: 0.5s;
}

.delay-0dot6s {
    animation-delay: 0.6s;
}

.delay-0dot7s {
    animation-delay: 0.7s;
}

.delay-0dot8s {
    animation-delay: 0.8s;
}

.delay-0dot9s {
    animation-delay: 0.9s;
}

.delay-1dot1s {
    animation-delay: 1.1s;
}

.delay-1dot2s {
    animation-delay: 1.2s;
}

.delay-1dot3s {
    animation-delay: 1.3s;
}

.delay-1dot4s {
    animation-delay: 1.4s;
}

.delay-1dot5s {
    animation-delay: 1.5s;
}

.delay-1dot6s {
    animation-delay: 1.6s;
}

.delay-1dot7s {
    animation-delay: 1.7s;
}

.delay-1dot8s {
    animation-delay: 1.8s;
}

.delay-1dot9s {
    animation-delay: 1.9s;
}

.delay-2dot1s {
    animation-delay: 2.1s;
}

.delay-2dot2s {
    animation-delay: 2.2s;
}

.delay-2dot3s {
    animation-delay: 2.3s;
}

.delay-2dot4s {
    animation-delay: 2.4s;
}

.delay-2dot5s {
    animation-delay: 2.5s;
}

.delay-2dot6s {
    animation-delay: 2.6s;
}

.delay-2dot7s {
    animation-delay: 2.7s;
}

.delay-2dot8s {
    animation-delay: 2.8s;
}

.delay-2dot9s {
    animation-delay: 2.9s;
}

.delay-3dot1s {
    animation-delay: 3.1s;
}

.delay-3dot2s {
    animation-delay: 3.2s;
}

.delay-3dot3s {
    animation-delay: 3.3s;
}

.delay-3dot4s {
    animation-delay: 3.4s;
}

.delay-3dot5s {
    animation-delay: 3.5s;
}

.delay-3dot6s {
    animation-delay: 3.6s;
}

.delay-3dot7s {
    animation-delay: 3.7s;
}

.delay-3dot8s {
    animation-delay: 3.8s;
}

.delay-3dot9s {
    animation-delay: 3.9s;
}

.delay-4dot1s {
    animation-delay: 4.1s;
}

.delay-4dot2s {
    animation-delay: 4.2s;
}

.delay-4dot3s {
    animation-delay: 4.3s;
}

.delay-4dot4s {
    animation-delay: 4.4s;
}

.delay-4dot5s {
    animation-delay: 4.5s;
}

.delay-4dot6s {
    animation-delay: 4.6s;
}

.delay-4dot7s {
    animation-delay: 4.7s;
}

.delay-4dot8s {
    animation-delay: 4.8s;
}

.delay-4dot9s {
    animation-delay: 4.9s;
}

/* Style the video: 100% width and height to cover the entire window */
#home_video {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    min-width: 100%; 
    min-height: 100%;
    z-index: -1;
    object-fit: cover;
}

.video-fullscreen {
    position: fixed;
    right: 0;
    bottom: 0;
    min-width: 100%; 
    min-height: 100%;
    width: 100%;
    height: 100%;
    background: #2a2c2e;
}

/* registo */
  
/*basic reset*/
* {margin: 0; padding: 0;}

html {
    height: 100%;
    
	/*Image only BG fallback*/
	
	/*background = gradient + image pattern combo*/
	/*background: 
        linear-gradient(rgba(196, 102, 0, 0.6), rgba(155, 89, 182, 0.6));*/
    background: #2a2c2e;
}

body {
    /*font-family: montserrat, arial, verdana;*/
    font-family: 'Roboto-Bold', Arial, sans-serif !important;
}
/*form styles*/
/* por id -> #msform */
/* por class -> .msform */

.msform {
	width: 50%;
	/*margin: 50px auto;*/
	text-align: center;
    position: absolute;
    top: 35%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* When resolution <= 680px */
@media (max-width: 680px) {
    .msform {
        width: 70%;
    }
}

.msform fieldset {
	background: white;
	border: 0 none;
	border-radius: 3px;
	box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4);
	padding: 20px 30px;
	box-sizing: border-box;
	width: 80%;
	margin: 0 10%;
	
    /*stacking fieldsets above each other*/
    /*position: relative;*/
	position: absolute;
}

/*Hide all except first fieldset*/
.msform fieldset:not(:first-of-type) {
	display: none;
}

/*inputs*/
.msform input, #msform textarea {
	padding: 15px;
	border: 1px solid #ccc;
	border-radius: 3px;
	margin-bottom: 10px;
	width: 100%;
	box-sizing: border-box;
	font-family: 'Roboto-Bold', Arial, sans-serif !important;
	color: #2C3E50;
	font-size: 13px;
}

/*buttons*/
.msform .action-button,
.msform .close-button  {
	width: 40%;
	background: #ADA67f;
	font-weight: bold;
	color: white;
	border: 0 none;
	border-radius: 1px;
	cursor: pointer;
	padding: 10px 5px;
	margin: 10px 5px;
}

.msform .action-button:hover, #msform .action-button:focus, 
.msform .close-button:hover, #msform .close-button:focus {
	box-shadow: 0 0 0 2px white, 0 0 0 3px #ADA67f;
}

/*headings*/
.fs-title {
	font-size: 15px;
	text-transform: uppercase;
	color: #2C3E50;
	margin-bottom: 10px;
}

.fs-subtitle {
	font-weight: normal;
	font-size: 13px;
	color: #666;
	margin-bottom: 20px;
}

/*progressbar*/
#progressbar {
	margin-bottom: 30px;
	overflow: hidden;
	/*CSS counters to number the steps*/
	counter-reset: step;
}

#progressbar li {
	list-style-type: none;
	color: white;
	text-transform: uppercase;
	font-size: 9px;
	width: 25%;
	float: left;
	position: relative;
}

#progressbar li:before {
	content: counter(step);
	counter-increment: step;
	width: 20px;
	line-height: 20px;
	display: block;
	font-size: 10px;
	color: #333;
	background: white;
	border-radius: 3px;
	margin: 0 auto 5px auto;
}

/*progressbar connectors*/
#progressbar li:after {
	content: '';
	width: 100%;
	height: 2px;
	background: white;
	position: absolute;
	left: -50%;
	top: 9px;
	z-index: -1; /*put it behind the numbers*/
}

#progressbar li:first-child:after {
	/*connector not needed before the first step*/
	content: none; 
}

/*marking active/completed steps green*/
/*The number of the step and the connector before it = green*/
#progressbar li.active:before,  #progressbar li.active:after{
	background: #ADA67f;
	color: white;
}

/*Para retirar a borda do botao do OK do swetalert2*/
.swal2-popup .swal2-styled:focus {
    box-shadow: none !important;
}


/*--------------KEYBOARDS-------------------------*/
.ui-keyboard-preview-wrapper > input[type="text"]{
    border: 1px solid #ADA67f !important;
    line-height: 0 !important;
    font-size: 15px !important;
    font-family: 'Roboto-Black', Arial, sans-serif !important;
    width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
    padding: 2px 10px !important;
    border-radius: 60px !important;
    color: #2a2c2e !important;
    font-weight: 100 !important;
    letter-spacing: 0.01em !important;
    position: relative !important;
    z-index: 1 !important;
    max-width: 19% !important;
    text-align: center !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

.ui-keyboard-button{
    background: #2a2c2e !important;
    color: #ADA67f !important;
    font-family: 'Roboto-Regular', Arial, sans-serif !important;
}

/*5 colunas com o mesmo espaçamento*/
.col-xs-5ths,
.col-sm-5ths,
.col-md-5ths,
.col-lg-5ths {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col-xs-5ths {
    width: 20%;
    float: left;
}

@media (min-width: 768px) {
    .col-sm-5ths {
        width: 20%;
        float: left;
    }
}

@media (min-width: 992px) {
    .col-md-5ths {
        width: 20%;
        float: left;
    }
}

@media (min-width: 1200px) {
    .col-lg-5ths {
        width: 20%;
        float: left;
    }
}

/*Brochures*/
ul {
    list-style-type: none;
}

li {
    display: inline-block;
}

input[type="checkbox"][id^="cb"] {
    display: none;
}

label {
    border: 1px solid #fff;
    padding: 10px;
    display: block;
    position: relative;
    margin: 10px;
    cursor: pointer;
}

label:before {
    background-color: white;
    color: white;
    content: " ";
    display: block;
    border-radius: 50%;
    border: 1px solid grey;
    position: absolute;
    top: -5px;
    left: -5px;
    width: 25px;
    height: 25px;
    text-align: center;
    line-height: 28px;
    transition-duration: 0.4s;
    transform: scale(0);
}

label img {
    height: 140px;
    width: 100px;
    transition-duration: 0.2s;
    transform-origin: 50% 50%;
}

/* When resolution <= 680px */
@media (max-width: 680px) {
    label img {
        height: 70px;
        width: 50px;
        transition-duration: 0.2s;
        transform-origin: 50% 50%;
    }
}

:checked + label {
    border-color: #ddd;
}

:checked + label:before {
    content: "✓";
    background-color: grey;
    transform: scale(1);
    z-index: 1;
}

:checked + label img {
    transform: scale(0.9);
    -ms-transform: scale(0.9); /* IE 9 */
    -webkit-transform: scale(0.9); /* Safari and Chrome */
    -o-transform: scale(0.9); /* Opera */
    -moz-transform: scale(0.9); /* Firefox */
    box-shadow: 0 0 5px #333;
    z-index: 0;
}

/* Alterar texto dos menus para icones */
/* Hide short text by default (resolution > 1200px) */
.short-text { display: none; }
.menu-icon { 
    display: inline-block; 
    font-size: 12px;
}

/* Desktop: só o ícone da casa permanece visível; demais ícones somem para evitar duplicação com o texto */
@media (min-width: 681px) {
    .menu-icon:not(.icon-home) {
        display: none;
    }
    
    .menu-icon {
        font-size: 12px;
    }
    
    #menu .btn {
        width: 40px;
        height: 60px;
    }
}

/* Tablets e Desktops Médios (1200px+) */
@media (min-width: 1200px) {
    #menu .col-xs-2 {
        width: 16.666667%;
        padding-left: 10px;
        padding-right: 10px;
        min-height: 80px;
    }
    
    .menu-icon {
        font-size: 12px;
    }
    
    #menu .btn {
        width: 40px;
        height: 60px;
    }
}

/* Tablets (768px - 1199px) */
@media (min-width: 768px) and (max-width: 1199px) {
    #menu .col-xs-2 {
        width: 16.666667%;
        padding-left: 8px;
        padding-right: 8px;
        min-height: 75px;
    }
    
    .menu-icon {
        font-size: 12px;
    }
    
    #menu .btn {
        width: 40px;
        height: 60px;
    }
}

/* Small Tablets e Landscape Mobile (481px - 767px) */
@media (min-width: 481px) and (max-width: 767px) {
    #menu .col-xs-2 {
        width: 16.666667%;
        padding-left: 6px;
        padding-right: 6px;
        min-height: 70px;
    }
    
    .menu-icon {
        font-size: 11px;
    }
    
    #menu .btn {
        width: 40px;
        height: 55px;
    }
}

/* When resolution <= 680px, hide full text and show short text */
@media (max-width: 680px) {
    .short-text { display: inline-block; }
    .full-text { display: none; }
    .menu-icon { display: none; } /* evita ícone duplicado no mobile */
}

/* ===== Mobile menu/layout tweaks (responsive fixes) ===== */
@media (max-width: 680px) {
    /* Menu row tweaks to fit all 6 buttons and start closer to left */
    #menu {
        height: auto;
        padding-top: 0;
        padding-bottom: 2px;
        padding-left: 4px;
        padding-right: 4px;
    }
    
    /* Keep all buttons in a single line; fit without scroll */
    #menu .row {
        margin: 0;
        display: block;
    }

    #menu .row::after {
        content: "";
        display: table;
        clear: both;
    }
    
    #menu .col-xs-2 {
        float: left;
        width: 16.666667%;
        margin-top: 0;
        text-align: center;
        padding-left: 3px;
        padding-right: 3px;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        min-height: 65px;
    }

    /* Botão responsivo para mobile */
    #menu .btn {
        width: 40px;
        height: 60px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border-radius: 6px;
        margin: 0;
        font-size: 12px;
    }
    
    .menu-icon {
        font-size: 12px;
    }

    /* Submenu centered and full-width */
    .submenu_builders {
        width: 92% !important;
        left: 50% !important;
        transform: translateX(-50%);
        top: 85px !important;
        background: transparent;
    }
    .submenu_builders .btn {
        max-width: none !important;
        width: 100% !important;
    }

    /* Fullscreen button placement on mobile */
    #box-btn-fullscreen .btn-fullscreen {
        top: 70px;
        right: 10px;
        width: 110px;
        height: 38px;
    }

    /* Centered bottom content spacing */
    .centered-bottom {
        bottom: 12px;
    }
}

/* Very Small Devices (até 480px) */
@media (max-width: 480px) {
    #menu {
        padding-top: 0;
        padding-bottom: 1px;
        padding-left: 2px;
        padding-right: 2px;
    }
    
    #menu .col-xs-2 {
        padding-left: 2px;
        padding-right: 2px;
        min-height: 60px;
        margin-top: 0;
    }
    
    #menu .btn {
        width: 40px;
        height: 60px;
        min-width: 40px;
        min-height: 60px;
        padding: 0;
        font-size: 12px;
    }
    
    .menu-icon {
        font-size: 12px;
    }
    
    .submenu_builders {
        top: 75px !important;
    }
    
    #box-btn-fullscreen .btn-fullscreen {
        top: 65px;
        right: 5px;
        width: 100px;
        height: 32px;
    }
}

/*==========  Mobile First Method  ==========*/
.col-xxs-12, .col-xxs-11, .col-xxs-10, .col-xxs-9, .col-xxs-8, .col-xxs-7, .col-xxs-6, .col-xxs-5, .col-xxs-4, .col-xxs-3, .col-xxs-2, .col-xxs-1 {
    position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
    float: left;
}

.visible-xxs {
    display:none !important;
}

/* Custom, iPhone Retina */
@media only screen and (max-width:680px) {
    .visible-xxs {
        display: block !important;
    }
    .visible-xs {
        display:none !important;
    }
    .hidden-xs {
        display:block !important;
    }
    .hidden-xxs {
        display:none !important;
    }
    .col-xxs-12 {
        width: 100%;
    }
    .col-xxs-11 {
        width: 91.66666667%;
    }
    .col-xxs-10 {
        width: 83.33333333%;
    }
    .col-xxs-9 {
        width: 75%;
    }
    .col-xxs-8 {
        width: 66.66666667%;
    }
    .col-xxs-7 {
        width: 58.33333333%;
    }
    .col-xxs-6 {
        width: 50%;
    }
    .col-xxs-5 {
        width: 41.66666667%;
    }
    .col-xxs-4 {
        width: 33.33333333%;
    }
    .col-xxs-3 {
        width: 25%;
    }
    .col-xxs-2 {
        width: 16.66666667%;
    }
    .col-xxs-1 {
        width: 8.33333333%;
    }
    .col-xxs-pull-12 {
        right: 100%;
    }
    .col-xxs-pull-11 {
        right: 91.66666667%;
    }
    .col-xxs-pull-10 {
        right: 83.33333333%;
    }
    .col-xxs-pull-9 {
        right: 75%;
    }
    .col-xxs-pull-8 {
        right: 66.66666667%;
    }
    .col-xxs-pull-7 {
        right: 58.33333333%;
    }
    .col-xxs-pull-6 {
        right: 50%;
    }
    .col-xxs-pull-5 {
        right: 41.66666667%;
    }
    .col-xxs-pull-4 {
        right: 33.33333333%;
    }
    .col-xxs-pull-3 {
        right: 25%;
    }
    .col-xxs-pull-2 {
        right: 16.66666667%;
    }
    .col-xxs-pull-1 {
        right: 8.33333333%;
    }
    .col-xxs-pull-0 {
        right: auto;
    }
    .col-xxs-push-12 {
        left: 100%;
    }
    .col-xxs-push-11 {
        left: 91.66666667%;
    }
    .col-xxs-push-10 {
        left: 83.33333333%;
    }
    .col-xxs-push-9 {
        left: 75%;
    }
    .col-xxs-push-8 {
        left: 66.66666667%;
    }
    .col-xxs-push-7 {
        left: 58.33333333%;
    }
    .col-xxs-push-6 {
        left: 50%;
    }
    .col-xxs-push-5 {
        left: 41.66666667%;
    }
    .col-xxs-push-4 {
        left: 33.33333333%;
    }
    .col-xxs-push-3 {
        left: 25%;
    }
    .col-xxs-push-2 {
        left: 16.66666667%;
    }
    .col-xxs-push-1 {
        left: 8.33333333%;
    }
    .col-xxs-push-0 {
        left: auto;
    }
    .col-xxs-offset-12 {
        margin-left: 100%;
    }
    .col-xxs-offset-11 {
        margin-left: 91.66666667%;
    }
    .col-xxs-offset-10 {
        margin-left: 83.33333333%;
    }
    .col-xxs-offset-9 {
        margin-left: 75%;
    }
    .col-xxs-offset-8 {
        margin-left: 66.66666667%;
    }
    .col-xxs-offset-7 {
        margin-left: 58.33333333%;
    }
    .col-xxs-offset-6 {
        margin-left: 50%;
    }
    .col-xxs-offset-5 {
        margin-left: 41.66666667%;
    }
    .col-xxs-offset-4 {
        margin-left: 33.33333333%;
    }
    .col-xxs-offset-3 {
        margin-left: 25%;
    }
    .col-xxs-offset-2 {
        margin-left: 16.66666667%;
    }
    .col-xxs-offset-1 {
        margin-left: 8.33333333%;
    }
    .col-xxs-offset-0 {
        margin-left: 0%;
    }
}

/*==========  Video Mode Classes  ==========*/
/* Para telas grandes (> 700px): preencher sem barras pretas */
.video-mode-landscape {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.video-mode-portrait {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Para telas pequenas (≤ 700px): ajustar mantendo aspecto */
@media (max-width: 700px) {
    .video-mode-landscape {
        width: auto !important;
        height: 100% !important;
        object-fit: contain !important;
    }

    .video-mode-portrait {
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }
}

/*==========  BTN FULLSCREEN  ==========*/
/* Nota: Estilos de posição são aplicados via JavaScript para permitir drag livre */

#box-btn-fullscreen .btn-fullscreen:hover {
    background-color: rgba(0,0,0, 1);
    color: #FFF;
}

.display_show{
    display: block !important;
}

.display_none{
    display: none !important;
}

/* FIX SWAL 2 - BOOSTRAP 3 */
.swal2-popup {
    font-size: 1.6rem !important;
}
