@font-face {

}

* {
	font-family: "Raleway", serif;
  	font-optical-sizing: auto;
	box-sizing: border-box;
	
}

	body {
		position:relative;
		float:left;
		width:100%;
		margin:0;
		padding:0;
		overflow-x: hidden;
	}

		#test_mark {
			position: absolute;
			width:1px;
			left:50%;
			height:100%;
			z-index: 9999999999;
			background-color: red;
		}

		#test_mark2 {
			position: absolute;
			height:1px;
			top:50%;
			width:100%;
			z-index: 9999999999;
			background-color: red;
		}

		#test_mark, #test_mark2 {

			display: none;

		}

		#top_button {

			position:fixed;
			bottom: 75px;
			right:30px;
			width:50px;
			height:50px;
			padding-top: 5px;
			border-radius: 50px;
			background-color:rgba(15,160,191);
			border: 4px solid rgba(255,255,255,.6);
			cursor: pointer;
			color:#f2f2f2;
			z-index:999;
			font-size: 1.5em;
			display: none;
		}

		#top_button.visible {

			opacity: 1;
			display: block;
		}

		#top_container {
			position:absolute;
			float:left;
			width:100%;
			height:100vh;
			background-color:rgba(255,255,255,.6);
			display: none;
			z-index:999999;
		}

		.message-box {
		  	position: relative;
			
			width: 380px;
			
			height: auto;
			display: block;
			border: 1px solid #f9690e;
			border-radius: 0px;
			background-color: #fff;
    		padding-bottom: 0px;
			box-shadow: rgba(50, 50, 50, 0.5) 0px 7px 29px 0px;
		}

			.message-box .title {
				position: relative;
				float: left;
				width: 100%;
				background-color: #f9690e;
				padding: 10px;
				font-weight: bold;
				text-align: center;
				border-radius: 0px 0px 0 0;
				color:#fff;
			}
			
			.message-box .content {
				height: auto;
				width:90%;
				background-color: #fff;
				padding: 24px 16px;
				margin: 0 5%;
				margin-top: 30px;
				margin-bottom: 10px;
				text-align: center;
				text-transform: uppercase;
			}

			.content {
				margin-top:53px !important;
			}

			.message-box .close-button {
				
				position: relative;
				float:left;
				background-color: #f9690e;
				border: none;
				padding: 10px;
				cursor: pointer;
				font-weight: bold;
				width: 90px;
				margin-bottom: 0px;
				margin-top: 15px;
				color: #fff;
				border-radius: 4px;
				left: 0%;
				margin-left: 0px;
				margin-right:10px;
				
			}

			.close-button {
				
					position: absolute;
					bottom: 15px;
					left: 50% !important;
					margin-left: -45px !important;
					margin-bottom: 10px !important;
				
			}

		#header-container {

			position:fixed;
			width:100%;
			z-index:99;
			height:80px;
			transition: all ease-in-out .3s;
			border-bottom: 0px solid #ccc;
		}

		#header-container.scrolled {

			background-color:#FFF;
			
			top:0 !important;
			border-bottom: 1px solid #ccc;
		}

		#header-desktop {
			position: absolute;
			height: 80px;
			width:60%;
			left: 50%;
			top: 10px;
			transform: translateX(-50%);
			display: flex;
			align-items: center; 
			justify-content: space-between;
			transition: all ease-in-out 0.3s;
		}


		#header-container.scrolled #header-desktop {

			
			top:5px !important;
		}

		#header-container.scrolled #menu-desktop a {
			color: #666 !important;
		}

		#menu-desktop {
			position: relative;
			display: flex; 
			align-items: center; 
			justify-content: flex-end; 
			gap: 20px; 
			margin-top: -10px;
			margin-left: 0; 
		}


		#menu-desktop a {

            position:relative;
            float:left;
            margin-right: 20px;
            text-decoration:none;
            font-weight: 600;
            font-size: .8em;
            color:#f2f2f2;
            text-transform: uppercase;
            transition: all ease-in-out .3s;
			letter-spacing: 1px;
        }
	
		#menu-desktop a:hover {

            color:#fff;
            
        }

		.menu-item {
			position: relative;
			z-index:99;
		}

		.dropdown {
			position: absolute;
			top: 100%;
			left: 0;
			background-color: #333;
			list-style: none;
			padding: 0;
			margin: 0;
			margin-top:15px;
			width: 220px;
			opacity: 0;
			visibility: hidden;
			transition: all 0.3s ease-in-out;
			box-shadow: 0 4px 8px rgba(0,0,0,0.1);
		}

		.dropdown li {
			border-bottom: 1px solid rgba(255, 255, 255, 0.2);
		}

		.dropdown li a {
			display: block;
			padding: 12px 15px;
			color: #ccc;
			text-decoration: none;
			font-size: 0.8em;
			font-weight: 600;
			letter-spacing: 1px;
		}

		.dropdown li:hover .dropdown li a {
			
			color: #f2f2f2 !important;
			
		}

		.menu-item:hover .dropdown {
			opacity: 1;
			visibility: visible;
			top: 80%; 
		}

		#header-container.scrolled #menu-desktop a {
			color: #666 !important;
		}

		#header-container.scrolled .dropdown {
			background-color: #fff;
		}

		#header-container.scrolled .dropdown li a {
			color: #333;
		}

			#logo {

				position:relative;
				float:left;
				width:80px;
				height:80px;
				margin-top:-10px;
				background-image: url("../img/logo.png");
				background-position: center;
				background-size: 100%;
				background-repeat: no-repeat;

			}

		#mobile-menu {
			display: none; 
		}

		.menu-toggle {
			display: none; 
			font-size: 2em;
			color: #ffffff !important;
			margin-right: 30px;
			cursor: pointer;
		}
				

		#container {
			
			position:relative;
			float:left;
			width:100%;
			
			

		}

.hidden {display: none;}

			#landing-section {

				position: relative;
				float: left;
				width:100%;
				height:100vh;
				background-image:url("../img/bg.jpg");
				background-position: center top;
				background-repeat:no-repeat;
				background-size: cover;
				display: flex;
				flex-direction: column;
				justify-content: center; 
				align-items: center;   

			}

				#welcome-info {

					order: 1;
					display: flex;
					margin-top:-60px;
				}

				#more {
					display: flex;
					background-color: rgba(15,160,191);
					color:#ffffff;
					text-align: center;
					text-transform: uppercase;
					cursor: pointer;
					padding: 20px 40px;
					border: 0px solid #ccc;
					border-radius: 10px;
					order:2;
					font-weight: bold;
					margin-top:20px;
				}

			#info-section, #propuestas-section, #servicios-section, #clientes-section {

				position: relative;
				float: left;
				width:100%;
				padding:50px 0;
				display: flex;
				flex-direction: column;
				justify-content: center; 
				align-items: center;   

			}

				#info-section h2, #info-section p, #propuestas-section h2, #propuestas-section p, #servicios-section h2, #servicios-section p, #clientes-section h2, #clientes-section p {

					text-align: center;
					max-width: 60%;
				}
				
				#info-section h2, #propuestas-section h2, #servicios-section h2, #clientes-section h2 {

					text-transform: uppercase;
					color: rgba(15,160,191);
					font-size: 2em;
				}

				.separator {
					content: "";
					
					
					width: 30px; 
					height: 2px;
					background-color:rgba(15,160,191);
					margin:20px 0;
				}

.separator.white {
	
	background-color:#ffffff;
	margin-bottom: 20px;
	margin-top: 10px;
}

				#info-section p, #propuestas-section p{

					font-size: 1.2em;
					line-height: 1.6;
					color:#333;
				}

			 #demo-section {

				position: relative;
				float: left;
				width:100%;
				padding:50px 0;
				display: flex;
				flex-direction: grid;
				justify-content:flex-start; 
				align-items: center;   
	
	
			}
#modulos-section {
    display: grid;
    grid-template-columns: repeat(3, 1fr); 
    gap: 15px;
    padding: 20px;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.modulo {
    position: relative;
    width: 100%;
    height: 400px; 
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.modulo-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4); 
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
    padding: 20px;
}

.modulo-overlay h4 {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 15px;
}

.modulo-overlay a {
    display: inline-block;
    text-decoration: none;
    color: #fff;
    border: 2px solid #fff;
    padding: 10px 20px;
    border-radius: 5px;
    transition: all 0.3s ease;
}

.modulo-overlay a:hover {
    background-color: #fff;
    color: #007bff;
}


@media screen and (max-width: 1024px) {
	
	#welcome-info {
		
		width:100%;
		
		
	}
    #modulos-section {
        grid-template-columns: repeat(2, 1fr); 
		
    }
}

@media screen and (max-width: 768px) {
	
	#welcome-info {
		
		width:100%;
		
		
	}
	
    #modulos-section {
        grid-template-columns: 1fr; 
    }

    .modulo {
        height: 300px; 
    }

    .modulo-overlay h4 {
        font-size: 1em; 
    }

    .modulo-overlay a {
        padding: 8px 16px;
        font-size: 0.9em;
    }
}
						

				#propuestas-section {

					padding-bottom: 80px;

				}

					#propuestas-section a {

						width:400px;
						background-color:rgba(15,160,191);
						text-align: center;
						padding: 30px;
						font-size: 1.2em;
						color:#ffffff;
						text-transform: uppercase;
						border-radius: 10px;
						margin:30px 0;
						margin-bottom: 0;
						font-weight: bold;
						text-decoration: none !important;
					}

				
#demo-section {
    position: relative;
    width: 100%;
    padding: 80px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(15,160,191);
    background-image: url("../img/logo-bg.png");
    background-size: contain;
    background-position: center left;
    background-repeat: no-repeat;
    text-align: center;
    color: #fff;
}

#demo-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1000px;
    width: 90%;
}

#demo-info {
    width: 55%;
    text-align: left;
}

#demo-info h4 {
    font-size: 2em;
    font-weight: bold;
}

#demo-info h5 {
    font-size: 1.4em;
    font-weight: normal;
    margin-bottom: 20px;
}

#demo-info p {
    font-size: 1.1em;
    line-height: 1.6;
}

#demo-info a {
    display: inline-block;
    text-decoration: none;
    color: #fff;
    background-color: transparent;
    border: 2px solid #fff;
    padding: 12px 20px;
    border-radius: 5px;
    font-weight: bold;
    transition: all 0.3s ease-in-out;
}

#demo-info a:hover {
    background-color: #fff;
    color: rgba(15,160,191);
}


#demo-img {
    width: 40%;
    height: 350px;
    background-image: url("../img/demo.png");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

@media screen and (max-width: 1024px) {
    #demo-wrap {
        flex-direction: column;
        text-align: center;
    }

    #demo-info {
        width: 100%;
        text-align: center;
    }

    #demo-img {
        width: 80%;
        height: 250px;
        margin-top: 20px;
    }

    #demo-info h4 {
        font-size: 1.8em;
    }

    #demo-info h5 {
        font-size: 1.2em;
    }

    #demo-info p {
        font-size: 1em;
    }

    #demo-info a {
        padding: 10px 16px;
        font-size: 0.9em;
    }
}

@media screen and (max-width: 768px) {
    #demo-section {
        padding: 50px 15px;
        background-size: cover;
    }

    #demo-info h4 {
        font-size: 1.5em;
    }

    #demo-info h5 {
        font-size: 1.1em;
    }

    #demo-info p {
        font-size: 0.9em;
    }

    #demo-info a {
        padding: 8px 14px;
        font-size: 0.85em;
    }

    #demo-img {
        width: 100%;
        height: 220px;
    }
}


#servicios-section {
    position: relative;
    width: 100%;
    padding: 80px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; 
    text-align: center;
    background-color: #f9f9f9;
}

#servicios-wrap {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 20px;
    width: 80%;
    max-width: 1200px; 
    margin: 0 auto; 
}


.servicio {
    flex: 1 1 calc(25% - 20px);
    min-width: 250px;
    max-width: 280px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

.servicio-cover {
    position: relative;
    float: left;
    width: 100%;
    height: 100%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-color: rgba(15,160,191,0.9);
    color: #fff;
}


.servicio-cover img {
    width: 60px;
    height: auto;
    margin-bottom: 10px;
}

.servicio-cover h4 {
    font-size: 1.3em;
    margin-bottom: 10px;
}

.servicio-cover p {
    font-size: 1em;
    line-height: 1.6;
    color: #fff;
    max-width: 90%;
}

@media screen and (max-width: 1024px) {
    #servicios-wrap {
        flex-wrap: wrap;
        width: 90%;
    }

    .servicio {
        flex: 1 1 calc(50% - 20px); 
        max-width: 350px;
    }
}

@media screen and (max-width: 768px) {
    #servicios-section {
        padding: 60px 15px;
    }

    #servicios-wrap {
        flex-direction: column;
        align-items: center;
    }

    .servicio {
        flex: 1 1 100%;
        max-width: 100%;
    }
}


                /* Clients Section */
#clientes-section {
    position: relative;
    width: 100%;
    padding: 80px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-image: url("../img/quote.png");
    background-repeat: no-repeat;
    background-position: center left 150px;
    background-size: 650px;
}

#clientes-section h2,
#clientes-section h4,
#clientes-section h5 {
    text-align: center;
    max-width: 60%;
    color: #333;
    line-height: 1.6;
}

#clientes-section h2 {
    font-size: 2em;
    text-transform: uppercase;
    color: rgba(15,160,191);
}

#clientes-section h4 {
    font-size: 1.2em;
    font-weight: normal;
}

#clientes-section h5 {
    font-size: 0.9em;
    margin-bottom: 20px;
}

#clientes-btns {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
}

#clientes-btns button {
    width: 48px;
    height: 48px;
    background-color: rgba(15,160,191);
    color: #f2f2f2;
    font-size: 1.2em;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    transition: 0.3s;
}

#clientes-btns button:hover {
    background-color: rgba(10, 140, 170);
}

/* Footer Section */
#footer-section {
    position: relative;
    width: 100%;
    background-color: rgba(15,160,191);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 40px 0;
    text-align: center;
}

#footer-wrap {
    width: 80%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
}

#footer-wrap img {
    height: 80px;
}

#footer-wrap h4 {
    color: #f2f2f2;
    font-size: 1.2em;
}

/* Responsive Design */
@media screen and (max-width: 1024px) {
    #clientes-section {
        background-size: 500px;
        background-position: center;
        padding: 60px 15px;
    }

    #clientes-section h2,
    #clientes-section h4,
    #clientes-section h5 {
        max-width: 80%;
    }

    #clientes-btns {
        gap: 10px;
    }

    #footer-wrap {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }

    #footer-wrap img {
        height: 70px;
    }
}

@media screen and (max-width: 768px) {
    #clientes-section {
        background-size: 350px;
        padding: 50px 15px;
    }

    #clientes-section h2 {
        font-size: 1.8em;
    }

    #clientes-section h4 {
        font-size: 1.1em;
    }

    #clientes-btns button {
        width: 40px;
        height: 40px;
        font-size: 1em;
    }

    #footer-wrap {
        width: 90%;
        flex-direction: column;
    }

    #footer-wrap img {
        height: 60px;
    }
}




#mobile-menu {
    display: none; 
}


.menu-toggle {
    display: none; 
    font-size: 2em;
    color: #333;
    cursor: pointer;
}


@media screen and (max-width: 1024px) {

    #menu-desktop {
        display: none;
    }

	#header-desktop {
		
		width:100%;
		
	}

    .menu-toggle {
        display: block;
    }

    #mobile-menu {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 80px;
        right: 0;
        width: 60%;
        height: 100vh;
        background-color: #fff;
        box-shadow: -2px 0 5px rgba(0,0,0,0.2);
        transform: translateX(100%);
        transition: transform 0.3s ease-in-out;
    }


    #mobile-menu.show {
        transform: translateX(0);
    }


    #mobile-menu a {
        padding: 15px;
        border-bottom: 1px solid #ccc;
        text-align: center;
        font-weight: bold;
        font-size: 1.2em;
        color: #333;
        text-decoration: none;
    }
}


@media screen and (max-width: 768px) {
    #landing-section {
        height: 70vh;
    }

    #info-section h2,
    #propuestas-section h2,
    #clientes-section h2 {
        font-size: 1.5em;
    }

    #clientes-section {
        grid-template-columns: 1fr;
    }
}
