/* Variables */ @font-face { font-family: "Source Sans Pro"; src: url("../fonts/SourceSansPro-Regular.ttf"); font-weight: normal; font-style: normal; } :root { --ff-main: "Source Sans Pro", Arial, sans-serif; --primary-color: "#329998"; --primary-color-gradient: linear-gradient(360deg, rgba(53,130,129,1) 0%, rgba(50,153,152,1) 35%, rgba(47,173,172,1) 100%); } body { font-family: var(--ff-main); font-weight: 300; font-family: 19px; color: #000; padding: 0; margin: 0; box-sizing: border-box; overflow-x: hidden; } .no-margins { margin: 0; padding: 0; } .container { /* Extra Large: xl */ max-width: 1200px; margin: 0 auto; } @media screen and (max-width: 767px) { .container { width: 100%; } } .title-section { margin: 0 0 30px 0; font-size: 30px; font-weight: 300; text-transform: uppercase; padding-bottom: 20px; line-height: 1.5; text-align: center; color: #fff; } .title-section::after { content: ""; position: absolute; display: block; width: 80px; height: 2px; background: #fff; left: 50%; margin-left: -40px; margin-top: 1rem; } /* Nav */ .main-header { position: fixed; color: #fff; display: flex; justify-content: space-between; align-items: center; height: 65px; width: 100%; z-index: 1; transition: 0.4s ease-out; } .main-header .logo { padding-left: 3rem; font-weight: 600; font-size: 30px; font-weight: 700; } .main-header a { text-decoration: none; color: inherit; text-transform: uppercase; } .main-header .nav-links { display: flex; list-style: none; margin-right: 3rem; } .main-header .nav-links .nav-link a { margin: 0.2rem; padding: 1rem 0.5rem; } .main-header .nav-links .nav-link a:hover { background: rgba(255, 255, 255, 0.03); color: #fff; } .main-header .menu-icon { position: relative; padding: 26px 10px; cursor: pointer; z-index: 1; display: none; } .main-header .menu-icon__line { display: block; position: relative; background: #000; height: 2px; width: 20px; border-radius: 4px; } .main-header .menu-icon__line::before, .main-header .menu-icon__line::after { content: ""; position: absolute; height: 100%; width: 100%; border-radius: 4px; background-color: #000; transition: background 0.8s ease; } .main-header .menu-icon__line::before { transform: translateY(-5px); } .main-header .menu-icon__line::after { transform: translateY(5px); } .main-header .menu-btn { position: absolute; top: -100px; } .main-header.scrolled { height: 50px; background: rgba(255, 255, 255, 0.9); color: #000; } .main-header.scrolled .menu-icon__line, .main-header.scrolled .menu-icon__line::before, .main-header.scrolled .menu-icon__line::after { background: #000; } /* Medium: MD */ @media screen and (max-width: 767px) { .main-header > .menu-icon { display: inline-block; margin-right: 3rem; } .main-header > .menu-icon__line::before, .main-header > .menu-icon__line, .main-header > .menu-icon__line::after { animation-direction: reverse; } .main-header > .menu-icon__line { animation: closeMid 0.8s backwards; } .main-header > .menu-icon__line::before { animation: closeTop 0.8s backwards; } .main-header > .menu-icon__line::after { animation: closeBottom 0.8s backwards; } .nav-links { position: absolute; top: 0; left: 0; margin: 0; opacity: 0; flex-direction: column; justify-content: flex-start; align-items: center; padding: 5rem 0; width: 100vw; height: 100vh; font-size: 18px; color: var(--secondary-text); transition: opacity 0.8s 0.5s, clip-path 1s 0.5s; clip-path: circle(200px at top right); } .main-header .nav-links .nav-link { opacity: 0; transform: translateX(100%); width: 100%; text-align: center; transition: .4s ease-in-out 1s, transform .6s cubic-bezier(0.175, 0.885, 0.32. 1.275) } .main-header > .nav-links > .nav-link > a { display: block; margin-bottom: 2rem; } .menu-btn:checked ~ .nav-links { opacity: 1; clip-path: circle(100% at center); background-color: #329998; } .menu-btn:checked ~ .nav-links > .nav-link { opacity: 1; transform: translateX(0); transition: opacity .4s ease-in-out 1s, transform .6s cubic-bezier(0.175, 0.885, 0.32, 1.275) 1s; } .menu-btn:checked ~ .menu-icon { border-radius: 50%; animation: pulse 1s; } .menu-btn:checked ~ .menu-icon > .menu-icon__line, .menu-btn:checked ~ .menu-icon > .menu-icon__line::after, .menu-btn:checked ~ .menu-icon > .menu-icon__line::before { background: #fff; } .menu-btn:checked ~ .menu-icon > .menu-icon__line { animation: openMid 0.8s forwards } .menu-btn:checked ~ .menu-icon > .menu-icon__line::after { animation: openTop 0.8s forwards } .menu-btn:checked ~ .menu-icon > .menu-icon__line::before { animation: openBottom 0.8s forwards; } } /* Header top */ .header-top { width: 100%; height: 100vh; background: linear-gradient(180deg, rgba(53,130,129,1) 0%, rgba(50,153,152,1) 35%, rgba(47,173,172,1) 100%); } .header-top > .container__header { display: flex; height: 100%; flex-direction: column; justify-content: center; align-items: center; text-align: center; } .header-top > .container__header > h1 { font-size: clamp(28px, 4vw, 50px); color: #fff; margin: 0 0 20px 0; } .header-top > .container__header > h2 { font-size: clamp(16px, 4vw, 28px); line-height: 38px; font-weight: 300; text-wrap: wrap; color: rgba(255, 255, 255, 0.8); } /* Intro Section */ .intro-container { padding: 4rem 2rem; text-wrap: wrap; } .intro-container > span { font-size: clamp(16px, 1.1vw, 28px); } /* Services Section */ .services-container { background: var(--primary-color-gradient); padding: 4rem 2rem 4rem 2rem; clip-path: polygon(0px 0px, 100% 0px, 100% 93.85%, 0px 100%); } .services-container > .container > span { font-size: 24px; line-height: 34px; color: rgba(255, 255, 255, 0.8); } .container-services__items { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 1rem; row-gap: 1rem; margin: 1rem 0 4rem 0; } .container-services__items > .service-item { display: flex; flex-direction: row; align-items: center; background-color: #fff; padding: 1rem; border-radius: 7px; } .container-services__items > .service-item > .icon-item-container { max-width: 100px; min-width: 100px; text-align: center; } .container-services__items > .service-item > .icon-item-container > i { font-size: 60px; transition: font-size 0.6s linear; } .container-services__items > .service-item > .icon-item-container > i:hover { font-size: 80px; } .text-item-container > h2 { font-size: 18px; font-weight: bold; margin: 0; } .container-services__items > .service-item > .texts-item-container > ul { color: rgba(0, 0, 0, 0.6); font-size: 16px; font-weight: 400; } @media screen and (max-width: 768px) { .container-services__items { grid-template-columns: 1fr; row-gap: 1rem; } .container-services__items > .service-item { flex-direction: column; } .container-services__items > .service-item > .icon-item-container { padding: 1rem 0 } .container-services__items > .service-item > .texts-item-container > ul { list-style: none; padding: 0 } .container-services__items > .service-item > .texts-item-container > ul > li { margin-bottom: .3rem; } .services-container { clip-path: polygon(0px 0px, 100% 0px, 99.78% 98.59%, 0px 100%); } } /* Animaciones */ @keyframes pulse { from { box-shadow: 0 0 0 0px rgba(50, 153, 152, 0.6); background: rgba(50, 153, 152, 0.6); } to { box-shadow: 0 0 0 1000px rgba(50, 153, 152, 0); background: rgba(50, 153, 152, 0); } } @keyframes openTop { 0% { transform: translateY(-5px) rotate(0deg); } 50% { transform: translateY(0px) rotate(0deg); } 100% { transform: translateY(0px) rotate(90deg); } } @keyframes openMid { 50% { transform: rotate(0deg); } 100% { transform: rotate(50deg); } } @keyframes openBottom { 0% { transform: translateY(5px) rotate(0deg); } 50% { transform: translateY(0px) rotate(0deg); } 100% { transform: translateY(0px) rotate(90deg); } }