/** Resets **/

html {
  font-size: 16px;
}

p,
li {
  font-size: 1rem;
  line-height: 1.85rem;
  font-weight: 400;
}


.btn {
    padding: 0.5rem 1.7rem;
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 0.3s;
  border-radius: 999px;
}

.bg-stone .btn-secondary {
    background-color: white;
    color: #000318;
}

.bg-primary .btn-primary {
    background-color: white;
    color: #000318;
}

.bg-secondary .btn-secondary {
    background-color: white;
    color: #000318;
}

a {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
    color: inherit;
}
.z-4{
    z-index: 4;
}
.z-5{
    z-index: 5;
}

/** Header **/
.site-header{
    z-index:6;
}
.site-header, .site-header.is-home {
    position: fixed;
    width: 100%;
}
.logo {
	width: 400px;
    margin-top: -20px;
	max-width:180% !important;
}

@media only screen and (max-width: 1200px) {
	.logo {
		width: 250px;
		margin-top: 0px;

	}
}

.social_links a{
    font-size: 10px;
}
.mega-menu-wrap{
    width: 100%!important;
}
#mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item::after > a {
    content: ''; /* Required for pseudo-elements */
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0; /* Start with 0 width */
    height: 2px; /* Thickness of the underline */
    background-color: #00aeef; /* Color of the underline */
    transition: width 0.3s ease; /* Smooth transition for the underline */
}

#mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item::after > a:hover {
    width: 100%; /* Expand to 100% on hover */
}
.menu-cta{
    padding-left: 10px!important;

}
.menu-cta a{
    background: #00aeef!important;
    border-radius: 30px!important;
}
/** Flex Content  **/

.bg-stone{
    background-image: url('/wp-content/uploads/2025/08/section-banner.jpg');
    background-size: cover;
}

.bg-cta{
    background-image: url("/wp-content/uploads/2025/08/cta-bg.png");
    background-size: cover;
    color: white;
    border-top:2px solid #00aeef;
}


.hero {
    background-size: cover;
    background-position: center;
    color:white;
}
.hero.hero-full{
    min-height: 100vh;

}
.hero.hero-70{
    height: 70vh;

}
.hero.hero-70  .home-hero__content {
    padding-top: 180px;
}

.hero  h1 {
    font-size: 4em;
    color: white;
    font-style: italic;
    text-transform: uppercase;
    text-align: right;
    font-weight: 600;
}
.hero h2 {
    font-size: 2.2em;
    color: white;
    font-style: italic;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: .5em;
}
.hero p{
    font-size: 1.2em;
    font-weight: 500;
}
.hero .hero-telephone{
    color: white;
    float: right;
    font-size: 1.4em;
    font-weight: 500;
    margin-top: .5em;

}
.hero .hero-telephone .inner{
    padding:15px;
}
.hero .hero-telephone .inner:first-child{
    border-right:1px solid white;
}
/** Flex Content - Homepage Specific  **/
#security-systems, #contact-us-section, .block-portfolio  {
    background-image: url("/wp-content/uploads/2025/08/section-banner.jpg");
    background-size: cover;
    background-attachment: fixed;
    color: white;

}

#cta-section {
    background-image: url("/wp-content/uploads/2025/08/cta-bg.png");
    background-size: cover;
    color: white;
    border-top:2px solid #00aeef;

}

#cta-section .bg-white {
    background: transparent !important;
}

#cta-section p {
    font-size: 2.2em;
    font-weight: 500;
    width: 70%;
    float: left;
    color: #000318;
}

#cta-section .btn {
    margin-top: 25px;
}

#certificates ul {
    list-style: none;
    padding-left: 5px;
}

#certificates ul li::before {
    content: url('/wp-content/uploads/2025/08/blue-check.png'); /* with class ModalCarrot ??*/
    position: relative; /*or absolute*/
    left: -5px;
    top: 5px;
}

#what-we-do h1 {
    text-transform: uppercase;
    font-weight: 600;
    color: #000318;
    margin-bottom: 1.5em;

}

#what-we-do p {
    width: 60%;
    margin: auto;
}


/** Footer **/

.graphedia-footer {
    background-color: #022049 !important;
}
.footer_widget .image{
    margin-top:2em;
}
.footer_widget{
    padding-left: 2em;
}
.footer-bg{
    background-image: url("/wp-content/uploads/2025/08/section-banner.jpg");
    background-size: cover;
    background-attachment: fixed;
    color: white;
}
/**Newsletter**/

#gform_wrapper_1{
    width:60%;
    margin:auto;
}
#gform_wrapper_1 label{
    color:white;
}
#gform_submit_button_1{
    background:#00aeef;
    border-radius: 30px;
}

/** Forms **/


.gform-theme--foundation .gform_fields {
	row-gap: 10px !important;
	}

.gform_required_legend {
	display: none; 
}
#gform_submit_button_1,
#gform_submit_button_2 {
	background-color: #00AEEF;
    color: white;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.9rem;
    padding: 0.8rem 2rem;
    border-radius: 999px;
	border: 2px solid #00AEEF;
}

#gform_submit_button_1:hover,
#gform_submit_button_2:hover {
	background-color: #fff;
    color: #00AEEF;
	border: 2px solid #00AEEF;
}


/** Edits 11/09/2025 **/

.hero.hero-page {
    min-height: 30vh;
    padding-top: 8rem;
}

.hero.hero-page h1 {
    margin-bottom: 0.1em;
}

.hero.hero-page .home-hero__content {
    padding-top: 60px;
    padding-bottom: 120px;
}


.hero.hero-page .home-hero__btns {
    padding-top: 0.8em;
}

.hero .home-hero__btns .btn{
    background-color: #00AEEF;
    color: white;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.9rem;
    padding: 0.8rem 2rem;
    border-radius: 999px;
	border: 2px solid #00AEEF; 
}

.hero .home-hero__btns .btn:hover{
    background-color: white;
    color: #00AEEF;
	border: 2px solid #00AEEF; 
}

/* Site Header */

.site-header {
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

/* Page Header */

.page-header.bg-primary {
    color: #000318;
}

.page-header.bg-secondary {
    color: white;
}

.page-header.bg-cta {
    color: #000318;
}

.page-header.bg-white {
    color: #000318;
}

.page-header.bg-light {
    color: #000318;
}

.page-header.bg-stone {
    color: white;
}

.page-header .btn.btn-header {
    background-color: #00AEEF;
    color: white;
    font-weight: 600;
    text-transform: uppercase;
 
    font-size: 0.9rem;
    padding: 0.8rem 2rem;
    border-radius: 999px;
    margin-top: 1rem;
}

.page-header.bg-primary .btn.btn-header {
    background-color: #000318;
}

/* content */

.bg-cta {
    color: #000318;
}

/* Call to action */

.c-block-cta h1 {
	font-weight: 600;
	color: #00AEEF;
	font-size: 2.2rem;
}

.c-block-cta p {
	font-weight: 600;
	color: #000318;
	font-size: 1.2rem;
}

.c-block-cta .btn.btn-cta {
	background-color: #00AEEF;
    color: white;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.9rem;
    padding: 0.8rem 2rem;
    border-radius: 999px;
	border: 2px solid #00AEEF;
}

.c-block-cta.bg-cta h1 {
	color: #000318;
}

.c-block-cta.bg-primary h1 {
	color: #000318;
}

.c-block-cta.bg-secondary h1 {
	color: white;
}

.c-block-cta.bg-secondary p {
	color: white;
}

.c-block-cta.bg-stone p {
	color: white;
}

.c-block-cta.bg-primary .btn.btn-cta {
	background-color: #000318;
	border: 2px solid #000318;
}

.btn.btn-cta:hover,
.btn.btn-cta:hover {
	background-color: #fff;
    color: #00AEEF;
	border: 2px solid #00AEEF;
}



/* Accordion */

h2.accordion-header button{
    font-size: 1.2rem;
    font-weight: 600;
}

/* circle image */

img.image-and-text__image.rounded-circle {
	aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
}

/* Counter Heading */

.c-block__counter-heading .counter {
    display: inline-block;
    min-width: 4ch; 
    text-align: right; 
}

.c-block__counter-heading img {
    max-height: 120px;
        object-fit: contain;
    object-position: center;
}

/** Clients Scroller **/
.clients-scroller .swiper-wrapper {
  display: flex;
  align-items: center;
  transition-timing-function: linear !important;
}
.clients-scroller .swiper-wrapper .swiper-slide {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.clients-scroller .swiper-wrapper .swiper-slide img {
  height: 100px;
    object-fit: contain;
    object-position: center;
}


/** Additional Styles 25/09 **/


.social_links a:hover {
	color: white !important;
}

.menu-cta a:hover {
	background-color: white !important;	
}

#site-header-nav #topbar .social_links i {
  font-size: 22px;  
  line-height: 1;
}

@media only screen and (max-width: 768px) {
	.site-header {
		padding: 0 !important;
	}
	
	.hero  h1 {
    	font-size: 3em;
	}
}

@media only screen and (max-width: 468px) {
	
	.hero  h1 {
    	font-size: 2em;
	}
}


.flex-content.flex-content-space {
	overflow: hidden;
}

/** Additional Styles 29/09 **/

/* full-bleed wrapper sem padding */
.c-block--fullbleed {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0;
}

/* ====== MODO COVER (com corte) ====== */
.fw-media--cover {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: var(--fw-pos-x, center) center;

  /* alturas por breakpoint via CSS vars */
  min-height: var(--fw-h-desktop, 800px);
}
@media (max-width: 1024px) {
  .fw-media--cover { min-height: var(--fw-h-tablet, 640px); }
}
@media (max-width: 768px) {
  .fw-media--cover { min-height: var(--fw-h-mobile, 50vh); }
}

/* ====== MODO CONTAIN (mostrar inteira / sem corte) ====== */
.fw-media__img {
  display: block;
  width: 100%;
  height: auto;   /* mantém proporção, não corta */
}

/* opcional: limitar largura máxima da imagem em telas muito grandes
   (ainda fica full-bleed, mas com respiro lateral em desktops ultralargos)
   Remova se quiser sempre 100vw! */
.fw-media__img--contain {
  max-width: 100%;
  margin: 0 auto;
}

/* ====== IMAGEM NORMAL (dentro do container) ====== */
.image-only__img {
  display: block;
  width: 100%;
  height: auto;
}


