
@font-face {
    font-family: 'GothamBook';
    src: url('../fonts/GothamBook.eot');
    src: local('GothamBook'), url("../fonts/Gotham-Book.otf") format("opentype");
}

@font-face {
    font-family: 'GothamBold';
    src: url('../fonts/GothamBold.eot');
    src: local('GothamBold'), url("../fonts/Gotham-Bold.otf") format("opentype");
}


:root {
  --azul-escuro: #03336f;
  --azul-claro: #158ccc;
}

a { outline: none; }
a:focus { outline: none; }


body { background-color: #fff; color: #000; font-size: 14px; }
.azul-escuro { color: var(--azul-escuro); }
.title { font-size: 20px; font-family: "GothamBook"; color: var(--azul-escuro); margin-bottom:30px; padding-top:30px; }
.subtitle { font-size: 30px; font-family: "GothamBook"; color: var(--azul-escuro); line-height:1; margin-bottom:30px; }
.subtitle2 { font-size: 30px; font-family: "GothamBook"; color: var(--azul-claro); line-height:1; margin-bottom:30px; }
.h-auto { height: 100% !important; }


#page { max-width:1912px; margin:0 auto; }

.navbar { background-color: #fff !important; font-family: 'GothamBook'; text-transform: uppercase; }
.nav-link { color: var(--azul-escuro) !important; }
.nav-item.redirect a:hover { text-decoration: underline; }
.navbar-toggler { border:0; }
.navbar-toggler-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%2303336f' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");}

section { padding: 0px !important; background-color: transparent !important; color: #000 !important; height:100%; }

/* home */
#home { background: url('../images/home-fundo3.png'); background-repeat: no-repeat; background-size: 100% auto; background-position: bottom center;} 
#home_slogan { position: absolute; top: 20%; right: 15%; font-family: "GothamBook"; color:var(--azul-escuro); font-size:40px; }
#home_desc { position: absolute; bottom: 2%; font-family: "GothamBook"; color: white; }


/* programa */
#sprograma { background:url('../images/programa-fundo.png'); background-repeat: no-repeat; background-size: 100% auto; }
.programaDesc{ font-family: "GothamBook"; color: var(--azul-escuro); font-size: 12px; width: 50%; padding-top:20%; }
.programaDivisao { position: relative; left:0; top:10vh; }


/* quem procuramos */
.quemDesc { font-family: "GothamBook"; color: var(--azul-escuro); width: 75%; margin-left: 50px; }
.quemDesc ul { padding-left: 1.2em; margin: 0; }
.quemImg { margin-top:12%; }


/* recrutamento */
.recrutamentoSubTitle2 {; font-family: "GothamBook"; color: var(--azul-escuro); font-weight:bold; margin-bottom: 30px; }
.recrutamentoItems { display: flex; justify-content: space-around; align-items: center; color:var(--azul-escuro); font-weight:bold; }
.recrutamentoDesc { font-family: "GothamBook"; color: var(--azul-escuro); }
.recrutamentoSubTitle3 { font-family: "GothamBook"; color: var(--azul-claro); font-size:30px; font-weight:bold; margin-top: 50px;margin-left: 55px;margin-bottom: 50px; }
.item { text-align: center; margin: 0 10px; }
h2 { font-size: 10px; margin: 0 0 10px 0;  }
p { margin: 0; line-height: 1.3; white-space: pre-line; }
.circle { background-color: var(--azul-claro); color: white;  border-radius: 50%; width: 30px;  height: 30px;  display: flex;  align-items: center; justify-content: center; margin: 0 auto; }


/* oportunidades */
.oportunidadesSubTitle2 { font-family: "GothamBook"; color: var(--azul-escuro); font-size: 16px; font-weight: bold; line-height:1.3; }
.oportunidadesImg{ width:95%; }
.oportunidadeDesc{ margin-top:6rem; }
.oportunidadesSection { height:100% !important; }
.oportunidadesLinks { color:var(--azul-escuro);font-family: "GothamBook"; }
.oportunidadesLinks ul {margin-top:1rem;}
.oportunidadesLinks ul li { margin-bottom: 5px; margin-top:5px;}
.oportunidadesLinks ul li a { color: var(--azul-escuro); font-family: "GothamBook", sans-serif; text-decoration: none;}
.oportunidadesLinks ul li a:hover { text-decoration: underline; opacity: 0.8;}



.carousel-item { position: relative;  background: url(../images/testemunhos-fundo2.png); min-height: 500px;}
.carousel-item .row{ /*height:100%; min-height: 100%;*/ }
.carousel-item img { max-height: 400px; object-fit: contain; }
.carousel-indicators [data-bs-target] { width: 40px; height: 4px; border-radius: 2px; background-color: #333; margin: 4px; opacity: 0.5; transition: opacity 0.3s ease; }
.carousel-indicators .active { opacity: 1; background-color: white; }
.carouselDesc{ align-content:center;  color:var(--azul-escuro); }
.carousel-indicators { bottom: -10% !important; }
.carousel-indicators [data-bs-target] { width: 12px; height: 12px; border-radius: 50%; background-color: var(--azul-escuro); margin: 0 6px; opacity: 0.5; transition: opacity 0.3s ease; border: none; }
.carousel-indicators .active { opacity: 1; background-color: var(--azul-claro); }
.carousel-control-prev-icon { background-image: url("../images/carousel-left-arrow.svg") !important; }
.carousel-control-next-icon { background-image: url("../images/carousel-right-arrow.svg") !important; }
.carouselDesc p { margin: 0; font-size: 1rem; line-height: 1.5; }
.carouselDesc b { font-weight: 600; }
.carousel-item { padding: 2rem 0;}


.custom-btn { background-color: #03336f !important; border: 2px solid #03336f; color: white !important; padding: 10px 20px; font-size: 1.2rem; cursor: pointer; border-radius: 10px; font-family: "GothamBook"; text-decoration: none; }
.custom-btn:hover, .custom-btn:focus, .custom-btn:active, .custom-btn:visited { color: white !important; opacity: 0.8; text-decoration: none; }





.contactosTitle { z-index: 6; font-family: "GothamBook"; color: var(--azul-escuro); font-size:20px; margin-bottom:2rem; }
.contactosSubTitle { z-index: 6; font-family: "GothamBook"; color: var(--azul-escuro); font-size:30px; font-weight:bold; margin-bottom:2rem; }
.contactosBtn { height:150px; }

footer {
  width: 100%;
  background-color: var(--azul-escuro);
  color: var(--footer-text-color);
  padding: 3rem 2rem;
  box-sizing: border-box;
  font-size: 0.875rem;
  line-height: 1.5;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2rem;
  color:white;
}

.social-links {
  display: flex;
  align-items: center;
  gap: 12px;
}

.social-links img {
  display: block;
  height: auto;
}




.h40{height: 40px}
.p-top10{padding-top:10px}
.redirect{list-style:none; position: relative; width: 150px; height: 40px;}
.candidate-link {
  display: block;
  color: white;
  height: 100%;
  position: relative;
}

.candidate-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: bold;
  z-index: 2;
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
}

.candidate-img {
  /* Mantém o comportamento responsivo da imagem */
  max-width: 100%;
  height: auto;
}

.programa-offset {
  position: relative;
  top: -66px;
}

.align-center {
  align-content: center; /* Se quiseres algo mais preciso, pode ser flexbox */
}

.centered-content {
  justify-self: center;
}

.gothambold {
  font-family: gothambold;
}

.programa-img {
  max-width: 100%;
  height: auto;
}

.offset-negativo {
  position: relative;
  top: -66px;
}


.quem-img {
  max-height: 100%;
}

.recrut-margin-bottom {
  margin-bottom: 2rem;
}

.recrut-margin-top {
  margin-top: 2rem;
}

.oportunidadesImg {
  max-height: 100%;
}

.zindex10 {
  z-index: 10;
}


.azul-claro-text {
  color: var(--azul-claro);
}

.contactosImg {
  max-height: 100%;
  object-fit: contain;
}

.link-email {
  color: inherit;
  text-decoration: underline;
}

.link-email:hover,
.link-email:focus {
  color: var(--azul-escuro);
  text-decoration: none;
}

.custom-btn {
  background-color: var(--azul-escuro);
  color: #fff;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.custom-btn:hover,
.custom-btn:focus {
  background-color: var(--azul-claro);
  color: #000;
}


.hv100{height: 100vh;}

#home {
  height: var(--home-height, auto)!important;
  min-height: var(--home-min-height, auto)!important;
}

#home_slogan {
  font-size: var(--home-font-size, 40px)!important;
}