*{
	margin: 0;
	padding: 0;
	box-sizing:border-box;
}

body, html {
   height: 100%;
   font-family: Roboto, sans-serif;
   background-color: #D0E8E0;
	line-height: 1.5;
   color: #212529;
}


section{
	display: flex;
	justify-content: center;
	align-items: center;
}

h1 {
   font-size: 2em;
   margin-bottom: 10px;
}

h2{
	margin-bottom: 25px;
}

h3{
	margin-bottom: 20px;
}

h4{
	font-size: 20px;
	margin-bottom: 18px;
}

nav{
	display: flex;
	flex-direction: row;
	background-color: #0A2B68;
	justify-content: space-between;
	align-items: center;
	padding: 10px 35px;
	width: 100%;
}

footer{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
	background-color:#234C6A;
	color: #fff;
}

/* Nav Styles */
#logo-img{
	width:45px; 
	height:45px;
}
#logo-container{
	display: flex;
	flex-direction: row;
	justify-content: center;
	text-align: center;
	align-items: center;
	width: 230px;
}

#logo-title{
	color: white; 
	margin-left: 5px;
	text-decoration: none;
	font-weight: bold;
	font-size: 16px;
	line-height: 1.2;
}

.item-list{ 
	display:flex;
	flex-direction: row; 
	justify-content: space-evenly;
	align-items: center;
}

.menu-icon{
	color: #fff;
	font-size: 25px;
	margin-left: 8px;
	cursor: pointer;
	display: none;
}

.list-nav .item-list-nav{
	list-style-type: none;
	display: inline;
	padding: 0;
	margin-right: 12px;
}

.item-list-nav-hidden .link-nav-hidden {
	color: #212529;
	text-decoration: none;
}

.item-list-nav .link-nav{
	text-decoration: none;
	color: #fff;
	margin-left:8px;
}

.mobile-only{
	display: none;
}

.dropdownMenu{	
	display: none; 
	position: absolute;
	width: 180px;
	min-height: 80px;
	right: 0;
	background-color: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	z-index: 1;
	margin-top: 150px;
	text-align: center;
	padding: auto;
}

.dropdownMenu.show {
 	display: block;
 	
}

.item-list-nav-hidden{
	display: block;
	}

/* Main styles */
.section-container{
	opacity: 0;
	transform: translateX(-50px);
	transition: all 0.8s ease-out;
}

.section-container.visible{
	opacity: 1;
	transform: translateX(0);
}

.main-container{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 0;
}


/* Hero styles */

#hero-container{
    height: 100vh;
   background: url("../images/img-banner.webp") no-repeat center center/cover; 
   display: flex;
   justify-content: center;
   align-items: center;
   color: white;
   text-align: center;
   width: 90%;
   margin-bottom: 50px;
}


#hero-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	width: 100%;
	height: 100vh;
  	padding: 20px;
  	background-color: rgba(0, 0, 0, 0.5);
}

/* Estilos tarjetas servicios */
.services-section{
	display: flex;
	justify-content: center;
	flex-direction: column;
	border-top:  2px solid blue;
	border-bottom: 2px solid blue;
	width:90%;
	margin-bottom: 50px;
	padding: 20px;
}

#title-services-card{
	text-align: center;
}

#container-services-card{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}


#card-about{
	width:90%;
	border-bottom: 2px solid blue;
	margin-bottom: 30px;
	text-align: center;
}

#card-content{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 25px;
}

#map {
   height: 400px;  
   width: 80%;     
}

#ubication-link{
	color: #406AAF; 
	font-size: 20px; 
	margin-top: 45px; 
	text-decoration: none;
}

.text-service{
	transition: none;
	position: relative; 
	text-align: center; 
	font-size: 16px;
	margin-top: 10px;
}

.img-services{
	width: 160px; 
	height: 160px;
	object-fit: cover;
}

.card {
  width: 200px;
  height: 250px;
  perspective: 1000px;
  margin: 10px 20px;
  background-size: cover;
  background-position: center;

}

.card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.6s;
  transform-style: preserve-3d;
}

.card-front, .card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}

.card-front {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.card-back {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e0e7da; 
  padding: 20px;
  text-align: center;
  transform: rotateY(180deg);
  text-decoration: none;
  color: #333;
}

.card-content-img-left, .card-content-img-right{
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	align-items: center;
	padding: 25px 30px;
	border-bottom: 2px solid blue;
	width: 90%;
	min-height: 250px;
	margin-bottom: 50px;
}

.content-card-left, .content-card-right{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0px;
	padding: 10px 25px;
}

.text-card-left, .text-card-right{
	text-align: justify;
	margin-bottom: 15px;
}

.img-card-left, .img-card-right{
	width: 300px;
	height: 250px;
}

.button-link{
	height: 45px;
	width: 170px;
	background-color: navy;
	color: #fff;
	border: 0px;
	border-radius: 12px;

}

.ico-contact-card{
	width: 35px;
	height: 25px;
	fill: #000;
	vertical-align: text-bottom;
	margin-top: 12px;
}

.link-button-card, .button-link{
	padding: 10px;
	text-decoration: none;
	text-align: center;
}

.container-two-card{
	display: flex; 
	flex-direction: column; 
	width: 90%; 
	justify-content: center; 
	padding: 20px;
	align-items: center; 
	border-bottom: 2px solid blue;
}

.content-grid{
	display: flex; 
	flex-direction: row; 
	justify-content: space-between; 
	align-items: center;
}

.info-card-grid{
	width: 40%;
	padding:20px 30px; 
	border: 3px solid blue; 
	text-align: center;
	height: auto;
	margin-bottom: 25px;
}

.container-content-main, .container-content-map, .container-card-link{
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	text-align: justify;
	padding: 25px 45px;
	width: 90%;
	min-height: 250px;
	margin-bottom: 50px;
	border-bottom: 2px solid blue;
}

.grid-card-link{
	display: flex; 
	flex-direction: row; 
	justify-content: space-evenly;
	margin-left: 25px;
}
.section-description-card, .card-body{
	margin-bottom: 30px;
}
.card-link{
	margin: 15px 30px;  
	width: 40%;
	padding: 0;
	max-height: 230px;
}
.card-icon{
	display: flex;	
	height: 20%;
	justify-content: center;
}

.card-link-button-icon{ 
	width:25px; 
	height:30px; 
	margin-left:8px;
}

.card-link-title-icon{ 
	width:30px; 
	height:30px; 
}

.card-link-button{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	font-size: 18px;
	color: black;
	height: 5px;
}

.toggle-header {
    margin: 0;
    padding: 0;
}

.toggle-button {
    border: none;
    padding: 10px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 1rem;
    font-weight: bold;
    text-align: left;
    background-color: #0A2B68;
    color: white;
    border: none;
}

.container-toggle{
	width: 100%;
    border: 1.8px solid #ccc;
    border-radius: 8px;
}

.content {
    padding: 25px;
    border: 2.5px solid blue;
    border-top: none;
}

/* Footer styles */

.container-content-footer{
	width: 100%;
	padding: 25px 10px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-around;
}
.container-icon{
	display: flex;
	align-items: center;
	margin-top: 12px;
}

.link-social-media-footer i{
	text-decoration: none;
	color: #d1c5c5;
}

.partial-underline{
	display: inline-block;
	position: relative;
	padding-bottom: 8px;
}

.about-us, .quick-links{
	width: 200px;
}

.contacts{
	width: 280px;
	padding: 0px;
}


.ico-contact{
	width: 35px;
	height: 20px;
	fill: white;
	vertical-align: text-bottom;
	margin-top: 12px;
}

.about-us .text-p-footer{
	text-align: justify;
}

.quick-links .link-item-footer{
	text-decoration: none;
	color: #fff;
}

.quick-links .list-link-footer .item-list-footer{
	list-style: none;
}

.copy-firm{
	width: 100%;
	padding-top: 12px;
	padding-bottom: 5px;
	text-align: center;
	background-color: #0A2B68;
	height: auto;
}

.partial-underline::after{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 60%;
	height: 3px;
	background-color: orange;
}


/* Hover styles */

#ubication-link:hover{
	color: #002455;
	font-weight: bold;
}

.card:hover .card-inner {
  transform: rotateY(180deg);
}

.quick-links .link-item-footer:hover{
	color: darkgrey;
	font-weight: bold;
}

.button-link:hover{
	background-color: #002455;
	font-weight: bold;
}

.card-link-button:hover{
	color: #002455;
	font-weight: bold;
	text-decoration: underline;
	fill: #002455;
}

.item-list-nav-hidden:hover{
	background-color: darkgrey;
	font-weight: bold;
}

.item-list-nav .link-nav:hover{
	color: gray;
	font-weight: bold;
}

.menu-icon:hover{
	color: gray;
}