* { box-sizing: border-box; }

body { font-family: "Assistant", sans-serif; margin: 0; }

a { text-decoration: none; }

ul { padding: 0; margin: 0; list-style: none; }

.codesai-button { display: inline-flex; justify-content: center; align-items: center; padding: 0.75rem 1rem; border-radius: 20px; background-color: black; }

.codesai-button:hover { cursor: pointer; }

.codesai-button:focus { outline-offset: -2px; outline: #4d90fe auto 5px; }

.codesai-button .content { font-size: 1.125rem; font-weight: bold; text-transform: uppercase; letter-spacing: 0.15rem; color: white; text-align: center; }

.codesai-button .arrow { margin-left: 0.5rem; width: 16px; }

.team-card { display: flex; background-color: #03ccab; box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); border-radius: 20px; margin-bottom: 1.5rem; align-items: center; padding: 1.5rem 0; }

@media screen and (max-width: 1024px) { .team-card { margin: 0 1rem 1.5rem 1rem; } }

@media screen and (max-width: 768px) { .team-card { flex-direction: column; overflow: hidden; padding: 1.5rem 1.5rem 0; margin: 0 1rem 1.5rem 1rem; } }

.team-card .member_img { padding: 0 1.5rem 0 2.25rem; }

@media screen and (max-width: 768px) { .team-card .member_img { padding: 0; } }

.team-card .member_img img { filter: grayscale(50%); width: 180px; height: calc(180px * 1.111); object-fit: cover; -webkit-clip-path: url(#hexagonalMask); clip-path: url(#hexagonalMask); }

.team-card .member_info { padding-right: 2rem; }

@media screen and (max-width: 768px) { .team-card .member_info { padding-right: 0; } }

.team-card .member_info h4 { font-size: 2rem; color: #fff; font-weight: 700; margin: 0; }

.team-card .member_info p { margin: 1rem 0; font-size: 1.125rem; }

.team-card .social { display: flex; z-index: 10000; flex-direction: column; padding: 1.5rem 1rem 1.5rem 2rem; box-sizing: border-box; position: relative; }

@media screen and (max-width: 768px) { .team-card .social { flex-direction: row; padding: 2rem 0 0.75rem 0; } }

.team-card .social:before { content: ''; background: url(/assets/shapes/back_member_rrss.svg) no-repeat left center; height: 200px; width: 72px; position: absolute; z-index: -1; display: block; right: 0; top: -10px; }

@media screen and (max-width: 768px) { .team-card .social:before { transform: rotate(90deg); right: unset; top: unset; bottom: -65px; left: 10px; } }

.team-card .social li a { width: 24px; height: 24px; display: block; margin: .5rem auto; }

@media screen and (max-width: 768px) { .team-card .social li a { flex-direction: row; margin: 0 .5rem; } }

.call-to-action-wrapper { display: flex; justify-content: center; width: 100%; background-color: #03ccab; }

.call-to-action-wrapper .call-to-action { display: flex; margin: 3rem 1rem; max-width: 945px; }

@media screen and (max-width: 1024px) { .call-to-action-wrapper .call-to-action { flex-direction: column; max-width: 560px; } }

.call-to-action-wrapper .call-to-action .message { flex-basis: 50%; padding-right: 1.5rem; }

@media screen and (max-width: 1024px) { .call-to-action-wrapper .call-to-action .message { flex-basis: 100%; padding-right: 0; } }

.call-to-action-wrapper .call-to-action .message .highlight { font-family: "Lekton", sans-serif; margin-bottom: 1rem; font-size: 2.2rem; font-weight: bolder; line-height: 1.2; color: white; }

@media screen and (max-width: 1024px) { .call-to-action-wrapper .call-to-action .message .highlight { font-size: 1.75rem; } }

.call-to-action-wrapper .call-to-action .message p { margin: 0 0 0.5rem; font-size: 1.15rem; line-height: 1.5; }

.call-to-action-wrapper .call-to-action .contact { display: flex; flex-direction: column; flex-basis: 50%; padding-left: 1.5rem; }

@media screen and (max-width: 1024px) { .call-to-action-wrapper .call-to-action .contact { align-items: center; flex-basis: 100%; padding-left: 0; } }

.call-to-action-wrapper .call-to-action .contact .field { display: flex; margin-bottom: 1rem; flex-direction: column; }

@media screen and (max-width: 1024px) { .call-to-action-wrapper .call-to-action .contact .field { width: 100%; } }

.call-to-action-wrapper .call-to-action .contact .field label { margin-bottom: 0.25rem; font-size: 1.2rem; color: white; }

.call-to-action-wrapper .call-to-action .contact .field input { font-family: "Assistant", sans-serif; padding: 0.6rem 0.8rem; font-size: 1rem; border: none; border-radius: 4px; }

.call-to-action-wrapper .call-to-action .contact .field textarea { font-family: "Assistant", sans-serif; padding: 0.6rem 0.8rem; font-size: 1rem; resize: none; border: none; border-radius: 4px; }

.call-to-action-wrapper .call-to-action .contact .field .checkbox { position: relative; display: flex; align-items: center; margin-bottom: 0; font-size: 1rem; color: black; user-select: none; }

.call-to-action-wrapper .call-to-action .contact .field .checkbox:hover { cursor: pointer; }

.call-to-action-wrapper .call-to-action .contact .field .checkbox:hover .box { background-color: #cdfef6; }

.call-to-action-wrapper .call-to-action .contact .field .checkbox input { position: absolute; top: 0; left: 0; opacity: 0; height: 0; width: 0; }

.call-to-action-wrapper .call-to-action .contact .field .checkbox input:checked ~ .box i { display: block; }

.call-to-action-wrapper .call-to-action .contact .field .checkbox .box { display: flex; justify-content: center; align-items: center; margin-right: 8px; width: 16px; height: 16px; border-radius: 2px; background-color: white; }

.call-to-action-wrapper .call-to-action .contact .field .checkbox .box i { display: none; }

.call-to-action-wrapper .call-to-action .contact .field .checkbox a { text-decoration: none; color: black; font-weight: bold; }

.call-to-action-wrapper .call-to-action .contact .codesai-button { margin-top: 0.5rem; max-width: 280px; }

@media screen and (max-width: 1024px) { .call-to-action-wrapper .call-to-action .contact .codesai-button { width: 100%; } }

.video { display: flex; flex-direction: column; width: 480px; max-width: 100%; min-height: 360px; padding: 16px 16px 30px; text-align: center; }

.video .youtube-player { height: 280px; position: relative; padding-bottom: 280px; overflow: hidden; width: 100%; background: #000; }

@media screen and (max-width: 1024px) { .video .youtube-player { padding-bottom: 140px; } }

.video .youtube-player iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; background: transparent; }

.video .youtube-player img { bottom: 0; display: block; left: 0; margin: auto; max-width: 100%; width: 100%; position: absolute; right: 0; top: 0; border: none; height: auto; cursor: pointer; transform: scale(1); }

.video .youtube-player img:hover { transition: transform 0.5s ease; transform: scale(1.05); }

.video .youtube-player .play { height: 72px; width: 72px; left: 50%; top: 50%; margin-left: -36px; margin-top: -36px; position: absolute; background: url("../assets/play-button.svg") no-repeat; cursor: pointer; }

.video h3 { font-size: 1.4em; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; padding: 5px 0 0; margin: 0; }

.video p { color: #03ccab; }

header { display: flex; justify-content: space-between; align-items: center; width: 100%; height: 75px; background-color: #29292e; }

@media screen and (max-width: 1024px) { header { margin-bottom: 0; } }

header .logo { margin-left: 1.5rem; height: 66%; }

header .logo img { height: 100%; }

header .links { font-family: "Lekton", sans-serif; margin-right: 2rem; }

@media screen and (max-width: 1024px) { header .links { display: none; } }

header .links a span { padding: 0.25rem 0.5rem; color: white; font-size: 0.9rem; font-weight: bold; letter-spacing: 0.18rem; text-transform: uppercase; transition: color 0.1s ease-in; }

header .links a span:hover { color: #03ccab; }

header .mobile-menu-icon { display: none; margin-right: 1.5rem; width: 28px; height: 28px; }

@media screen and (max-width: 1024px) { header .mobile-menu-icon { display: block; } }

header .mobile-menu-icon img { width: 100%; }

header .cookie-banner { font-family: "Lekton", sans-serif; display: none; position: fixed; top: calc(75px + 16px); right: 0; padding: 16px 32px; width: 320px; max-width: 100%; font-size: 0.875rem; color: white; background-color: #29292e; border-radius: 2px 0 0 2px; z-index: 999999; }

header .cookie-banner.displayed { display: block; }

header .cookie-banner .message a { text-decoration: none; color: #03ccab; }

header .cookie-banner .actions { display: flex; justify-content: center; margin-top: 16px; }

header .cookie-banner .actions button + button { margin-left: 16px; }

header .cookie-banner .actions button { font-family: "Lekton", sans-serif; display: flex; justify-content: center; align-items: center; padding: 0; width: 100px; height: 32px; font-size: 0.875rem; border: none; border-radius: 2px; color: white; }

header .cookie-banner .actions button.accept { background-color: #14b89c; }

header .cookie-banner .actions button.reject { background-color: transparent; }

header .cookie-banner .actions button:hover { cursor: pointer; }

.mobile-links { font-family: "Lekton", sans-serif; display: none; flex-direction: column; align-items: flex-end; padding-bottom: 0.5rem; background-color: #29292e; }

.mobile-links a { padding: 1rem 1.5rem; }

.mobile-links a span { font-size: 1rem; font-weight: bold; letter-spacing: 0.18rem; text-transform: uppercase; color: white; transition: color 0.1s ease-in; }

.mobile-links a span:hover { color: #03ccab; }

.banner-announcement { display: flex; flex-direction: row; justify-content: space-between; align-items: center; position: sticky; top: 0; padding: 0 48px; height: 62px; font-family: "Lekton", sans-serif; background-color: #EDF7F5; z-index: 99999; }

.banner-announcement .codesai-button { height: 40px; }

.banner-announcement .desktop-text { margin: 0; font-size: 1.25rem; }

.banner-announcement .mobile-text { font-size: 1rem; display: none; }

.banner-announcement .mobile-text:visited { color: #03ccab; }

@media screen and (max-width: 1024px) { .banner-announcement .desktop-text, .banner-announcement .desktop-link { display: none; } .banner-announcement .mobile-text { display: block; } }

footer { display: flex; justify-content: space-between; align-items: center; width: 100%; min-height: 160px; background-color: #29292e; }

@media screen and (max-width: 1024px) { footer { flex-direction: column; } }

footer .logo { margin-left: 3rem; height: 80px; }

@media screen and (max-width: 1024px) { footer .logo { margin: 2rem 0 1.25rem 0; height: 60px; } }

footer .logo img { height: 100%; }

footer .links { display: flex; flex-direction: column; align-items: flex-end; margin-right: 3rem; }

@media screen and (max-width: 1024px) { footer .links { align-items: center; margin: 0 0 2rem 0; } }

footer .links .social { margin-bottom: 0.25rem; }

@media screen and (max-width: 1024px) { footer .links .social { margin-bottom: 0.5rem; } }

footer .links .social a { margin-left: 0.5rem; font-size: 40px; color: #03ccab; }

footer .links .legal { color: white; }

@media screen and (max-width: 1024px) { footer .links .legal { display: flex; flex-direction: column; align-items: center; } }

footer .links .legal a { margin: 0 0.25rem; color: white; transition: color 0.1s ease-in; }

@media screen and (max-width: 1024px) { footer .links .legal a { margin: 0.5rem 0; } }

footer .links .legal a:hover { color: #03ccab; }

footer .links .legal a:last-child { margin-right: 0; }

@media screen and (max-width: 1024px) { footer .links .legal span { display: none; } }

.home { display: flex; flex-direction: column; align-items: center; overflow: hidden; }

.home h2.section-title { font-family: "Lekton", sans-serif; font-size: 2.5rem; font-weight: lighter; margin: 0.5rem 0; }

@media screen and (max-width: 1024px) { .home h2.section-title { text-align: center; } }

.home .hero { display: flex; flex-direction: column; align-items: center; padding: 3rem 1rem; width: 100%; background-color: #03ccab; }

.home .hero div { font-family: "Lekton", sans-serif; font-size: 1.5rem; }

.home .hero div h1 { margin: 0; font-size: 2.75rem; line-height: 4rem; }

.home .hero div span { color: white; font-weight: bolder; margin-right: 0.6rem; }

.home .about { display: flex; flex-direction: column; max-width: 945px; margin-bottom: 3rem; }

.home .about .description { display: flex; flex-direction: row; justify-content: space-between; padding: 0 1rem; }

@media screen and (max-width: 1024px) { .home .about .description { flex-direction: column; } }

.home .about .description .text { padding: 3rem 2rem 2rem 0; }

@media screen and (max-width: 1024px) { .home .about .description .text { order: 2; padding: 2rem 0; } }

.home .about .description .text p { margin-top: 0; font-size: 1.1rem; line-height: 1.6; }

@media screen and (max-width: 1024px) { .home .about .description .image { display: flex; justify-content: center; order: 1; } }

.home .about .description .image img { max-width: 320px; margin-top: -41px; }

@media screen and (max-width: 1024px) { .home .about .description .image img { max-width: 280px; max-height: 386px; } }

@media screen and (max-width: 1024px) { .home .about .clients { margin: 0 1rem; } }

.home .about .clients .trusted-by { font-family: "Lekton", sans-serif; background-color: #03ccab; display: inline-block; color: white; margin: 0; padding: 0.5rem 1rem; font-weight: bold; text-transform: uppercase; letter-spacing: 0.2em; }

@media screen and (max-width: 768px) { .home .about .clients .trusted-by { width: 100%; } }

.home .about .clients div { display: flex; flex-flow: row wrap; justify-content: center; font-family: "Assistant", sans-serif; background-color: #EDF7F5; padding: 0.5rem 0.5rem 0.5rem 1.5rem; border-radius: 0 10px 10px 10px; }

@media screen and (max-width: 768px) { .home .about .clients div { border-radius: 0 0 10px 10px; } }

.home .about .clients div img { object-fit: contain; margin: 1rem; max-width: 224px; }

.home .services { display: flex; align-items: center; flex-direction: column; max-width: 945px; padding: 0 1rem; margin-bottom: 4rem; }

@media screen and (max-width: 1024px) { .home .services { max-width: 100%; width: 100%; padding: 0; margin-top: 2rem; } }

.home .services .section-title { margin: 0 0 1rem 0; }

.home .services .catalogue { display: flex; flex-direction: row; border-radius: 20px; box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.1), 0 4px 4px 0 rgba(0, 0, 0, 0.1); position: relative; overflow: hidden; }

@media screen and (max-width: 1024px) { .home .services .catalogue { flex-direction: column; align-items: center; width: 100%; border-radius: unset; overflow: visible; box-shadow: none; } }

.home .services .catalogue .shape { position: absolute; z-index: -1; }

.home .services .catalogue .shape.first { left: -13px; top: -45px; transform: rotate(-14deg) scale(1.5); }

@media screen and (max-width: 1024px) { .home .services .catalogue .shape.first { left: -96px; top: -65px; transform: rotate(-14deg) scale(2, 1.8); } }

.home .services .catalogue .shape.second { left: 406px; top: -94px; transform: rotate(165deg) scale(1.6, 2); }

@media screen and (max-width: 1024px) { .home .services .catalogue .shape.second { right: -88px; left: unset; top: 444px; transform: rotate(67deg) scale(1.6, 2); } }

.home .services .catalogue .shape.third { right: 10px; top: -58px; transform: rotate(9deg) scale(1.5); }

@media screen and (max-width: 1024px) { .home .services .catalogue .shape.third { left: -103px; top: unset; transform: rotate(-45deg) scale(2, 2.2); bottom: -92px; } }

.home .services .catalogue .section { display: flex; flex-direction: column; flex: 1 1 0; justify-content: space-between; margin: 1.25rem 0; padding: 0 1.75rem; font-size: 1.1rem; border-right: 1px dotted #03ccab; }

@media screen and (max-width: 1024px) { .home .services .catalogue .section { border-right: unset; flex: unset; max-width: 520px; } }

.home .services .catalogue .section:last-child { border-right: none; }

.home .services .catalogue .section .info .type { font-family: "Lekton", sans-serif; font-size: 2rem; font-weight: bolder; line-height: 1.15; margin-bottom: 0.5rem; }

.home .services .catalogue .section .info p img { margin-right: 0.5rem; }

.home .services .catalogue .section .info .codesai-button .content { font-size: 1rem; }

.home .services .catalogue .section a { margin-top: 1rem; }

.home .services .catalogue .section h2 { margin-top: 0; }

.home .services .catalogue .section .codesai-button { display: flex; }

.home .courses { display: flex; flex-direction: row; padding: 0 1rem; max-width: 945px; margin-bottom: 4rem; }

@media screen and (max-width: 1024px) { .home .courses { flex-direction: column; } }

.home .courses .section-title { margin: 0 0 1rem 0; line-height: 1.25; }

.home .courses .section-title.mobile { display: none; }

@media screen and (max-width: 1024px) { .home .courses .section-title.mobile { text-align: unset; display: block; } }

@media screen and (max-width: 1024px) { .home .courses .section-title.desktop { display: none; } }

@media screen and (max-width: 1024px) { .home .courses .image { display: flex; justify-content: center; } }

.home .courses .image img { margin-top: 1.5rem; max-width: 320px; }

@media screen and (max-width: 1024px) { .home .courses .image img { margin: 0.5rem 0 1rem 0; max-width: 280px; max-height: 386px; } }

.home .courses .description { padding-left: 2rem; }

@media screen and (max-width: 1024px) { .home .courses .description { padding-left: 0; } }

.home .courses .description p { margin-top: 0; font-size: 1.1rem; line-height: 1.6; }

.home .courses .description .button { margin-top: 0.5rem; }

@media screen and (max-width: 1024px) { .home .courses .description .button { display: flex; justify-content: center; } }

.home .courses .description .button .codesai-button { width: 280px; }

.home .team { width: 100%; max-width: 945px; margin-bottom: 4rem; }

.home .team .team_mask { width: 0; height: 0; }

.home .team .section-title { text-align: center; }

.home .team .team-cards { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; }

@media screen and (max-width: 1024px) { .home .team .team-cards { margin: 0 auto; } }

.home .blog { width: 100%; max-width: 945px; margin-bottom: 4rem; }

@media screen and (max-width: 1024px) { .home .blog { padding: 0 1rem; } }

.home .blog .section-title { text-align: center; }

.home .blog p { margin-top: 0; font-size: 1.1rem; line-height: 1.6; }

.home .blog .posts { display: flex; justify-content: space-around; flex-wrap: wrap; margin: 0.5rem 0; }

@media screen and (max-width: 1024px) { .home .blog .posts { justify-content: center; } }

.home .blog .posts a { text-decoration: none; color: black; }

.home .blog .posts .post { margin: 0 0.5rem; padding: 0.5rem; width: 290px; border-radius: 10px; transition: background-color 0.25s ease; }

@media screen and (max-width: 1024px) { .home .blog .posts .post:last-child { display: none; } }

@media screen and (max-width: 768px) { .home .blog .posts .post { margin: 0.5rem; } .home .blog .posts .post:last-child { display: block; } }

.home .blog .posts .post:hover { background-color: #03ccab; }

.home .blog .posts .post img { width: 100%; height: 180px; object-fit: cover; border-radius: 10px; }

.home .blog .posts .post h3 { margin: 0; font-family: "Lekton", sans-serif; text-decoration: underline; text-decoration-color: #03ccab; }

.home .blog .posts .post p { color: #29292e; margin: 0.5rem 0; }

.home .blog .actions { text-align: center; }

.home .blog .actions .codesai-button { width: 280px; }

.home .collaborators { width: 100%; max-width: 945px; margin-bottom: 4rem; }

.home .collaborators .section-title { text-align: center; }

.home .collaborators .collaborator-cards { display: flex; justify-content: center; }

@media screen and (max-width: 768px) { .home .collaborators .collaborator-cards { flex-direction: column; align-items: center; } }

.home .collaborators .collaborator-cards .collaborator-card { display: flex; flex-direction: column; align-items: center; width: 200px; margin: 0 1rem; }

@media screen and (max-width: 768px) { .home .collaborators .collaborator-cards .collaborator-card { margin: 1rem; } .home .collaborators .collaborator-cards .collaborator-card:last-child { margin-bottom: 0; } }

.home .collaborators .collaborator-cards .collaborator-card img { object-fit: cover; width: 115px; height: calc(115px * 1.111); -webkit-clip-path: url(#hexagonalMask); clip-path: url(#hexagonalMask); filter: url(#greenOverlayFilter); }

.home .collaborators .collaborator-cards .collaborator-card .name { font-size: 1.125rem; font-weight: bold; margin: 0.75rem 0 0.25rem; }

@media screen and (max-width: 1024px) { .home .collaborators .collaborator-cards .collaborator-card { flex-direction: column; } }

.clients-page { display: flex; flex-direction: column; align-items: center; }

.clients-page .big-clients { display: flex; flex-direction: column; max-width: 945px; margin-top: 3rem; }

@media screen and (max-width: 1024px) { .clients-page .big-clients { padding: 0 2rem; } }

.clients-page .big-clients .client { display: flex; flex-direction: row; padding-bottom: 3rem; background: url(/assets/icons/back-line.svg) repeat-y 75px top; }

@media screen and (max-width: 1024px) { .clients-page .big-clients .client { flex-direction: column; background: url(/assets/icons/back-line-h.svg) repeat-x left 75px; align-items: center; } }

.clients-page .big-clients .client .image span { width: 151px; height: 145px; background: url(/assets/shapes/hexaback.svg) no-repeat center center; text-align: center; display: flex; justify-content: center; align-items: center; }

.clients-page .big-clients .client .image span img { width: 70%; height: auto; }

.clients-page .big-clients .client .info { margin-bottom: 3rem; margin-left: 2rem; }

@media screen and (max-width: 1024px) { .clients-page .big-clients .client .info { margin: 0; } }

.clients-page .big-clients .client .info h2 { font-family: "Lekton", sans-serif; font-size: 3rem; font-weight: normal; letter-spacing: 0.2em; margin: 0; }

.clients-page .big-clients .client .info h3 { color: #03ccab; text-transform: uppercase; font-family: "Lekton", sans-serif; letter-spacing: 0.2em; font-size: 1.1rem; margin-bottom: 0; }

.clients-page .big-clients .client .info p { font-family: "Assistant", sans-serif; line-height: 1.6; font-size: 1.1rem; margin: 0; }

.clients-page .big-clients .client .info .tech { margin-top: 1.5rem; }

.clients-page .big-clients .client .info .tech h3 { background-color: #03ccab; font-size: 1rem; display: inline-block; color: white; margin: 0; padding: 0.5rem 1rem; }

.clients-page .big-clients .client .info .tech h3 img { vertical-align: bottom; }

.clients-page .big-clients .client .info .tech .stack { background-color: #EDF7F5; padding: 0.5rem 0.5rem 0.5rem 1.5rem; }

.clients-page .big-clients .client .info .tech .stack p { font-family: "Lekton", sans-serif; margin: 0.66rem 0; }

.clients-page .big-clients .closing-hexagon { display: flex; flex-direction: row; background: url(/assets/icons/back-line.svg) repeat-y 75px top; }

@media screen and (max-width: 1024px) { .clients-page .big-clients .closing-hexagon { flex-direction: column; background: url(/assets/icons/back-line.svg) repeat-y center top; align-items: center; } }

.clients-page .big-clients .closing-hexagon span { width: 32px; height: 32px; background: url(/assets/shapes/small-hexaback.svg) no-repeat center center; display: flex; justify-content: center; align-items: center; margin-left: 3.7rem; }

@media screen and (max-width: 1024px) { .clients-page .big-clients .closing-hexagon span { margin-left: 0; margin-top: 4rem; } }

.clients-page .other-clients { display: flex; flex-direction: column; max-width: 945px; margin: 1rem 0 3rem; }

@media screen and (max-width: 1024px) { .clients-page .other-clients { padding: 0 2rem; } }

.clients-page .other-clients h2 { font-family: "Lekton", sans-serif; font-style: normal; font-weight: normal; font-size: 2rem; line-height: 2rem; text-align: center; }

.clients-page .other-clients div { display: flex; flex-flow: row wrap; justify-content: center; }

.clients-page .other-clients div img { margin: 1rem 1.5rem; }

@media screen and (max-width: 1024px) { .clients-page .other-clients div img { max-width: 270px; } }

.training { display: flex; flex-direction: column; align-items: center; }

.training .introduction { display: flex; flex-direction: row; margin: 4rem; max-width: 945px; }

@media screen and (max-width: 1024px) { .training .introduction { flex-direction: column-reverse; } }

.training .introduction h1 { font-family: "Lekton", sans-serif; margin: 0; font-size: 3rem; font-weight: lighter; }

.training .courses { display: flex; flex-direction: column; max-width: 945px; margin: 0 0 3rem; }

@media screen and (max-width: 1024px) { .training .courses { padding: 0 1rem; } }

.training .courses .course { display: flex; flex-direction: row; padding-bottom: 3rem; background: url(/assets/icons/back-line.svg) repeat-y 75px top; }

@media screen and (max-width: 1024px) { .training .courses .course { flex-direction: column; background: url(/assets/icons/back-line-h.svg) repeat-x left 75px; align-items: center; } }

.training .courses .course .image span { width: 151px; height: 151px; background: url(/assets/shapes/hexaback.svg) no-repeat center center; text-align: center; display: flex; justify-content: center; align-items: center; }

.training .courses .course .image span img { width: 60%; height: auto; }

.training .courses .course .description { margin-bottom: 3rem; margin-left: 2rem; font-weight: 400; }

@media screen and (max-width: 1024px) { .training .courses .course .description { margin: 0; } }

.training .courses .course .description h2 { font-family: "Lekton", sans-serif; font-size: 3rem; letter-spacing: 0.02em; margin: 0; }

.training .courses .course .description .info h3 { background-color: #03ccab; font-family: "Lekton", sans-serif; display: inline-block; color: white; margin: 0; padding: 0.5rem 1rem; text-transform: uppercase; font-weight: normal; font-size: 1rem; }

.training .courses .course .description .info h3 img { vertical-align: bottom; }

.training .courses .course .description .info > div { display: flex; flex-direction: row; font-family: "Assistant", sans-serif; background-color: #EDF7F5; padding: 1.5rem 2.5rem; border-radius: 0 16px 16px 16px; }

@media screen and (max-width: 1024px) { .training .courses .course .description .info > div { flex-direction: column; padding: 1rem; } }

.training .courses .course .description .info > div .schedule, .training .courses .course .description .info > div .pricing { display: flex; flex-direction: row; }

@media screen and (max-width: 1024px) { .training .courses .course .description .info > div .schedule, .training .courses .course .description .info > div .pricing { margin: 1rem 0; } }

.training .courses .course .description .info > div .schedule img, .training .courses .course .description .info > div .pricing img { width: 38px; height: 42px; margin-right: 0.8rem; }

.training .courses .course .description .info > div .schedule .text, .training .courses .course .description .info > div .pricing .text { display: flex; flex-direction: column; padding: 0; margin-left: 0.5rem; margin-right: 1.5rem; }

.training .courses .course .description .info > div .schedule .text p, .training .courses .course .description .info > div .pricing .text p { margin: 0; }

.training .courses .course .codesai-button { margin-top: 2rem; }

@media screen and (max-width: 1024px) { .training .courses .course .codesai-button { align-self: center; } }

.training .courses .closing-hexagon { display: flex; flex-direction: row; background: url(/assets/icons/back-line.svg) repeat-y 75px top; }

@media screen and (max-width: 1024px) { .training .courses .closing-hexagon { flex-direction: column; background: url(/assets/icons/back-line.svg) repeat-y center top; align-items: center; } }

.training .courses .closing-hexagon span { width: 32px; height: 32px; background: url(/assets/shapes/small-hexaback.svg) no-repeat center center; display: flex; justify-content: center; align-items: center; margin-left: 3.7rem; }

@media screen and (max-width: 1024px) { .training .courses .closing-hexagon span { margin-left: 0; margin-top: 4rem; } }

.course-page { display: flex; flex-direction: column; align-items: center; margin-top: 4rem; width: 100%; }

@media screen and (max-width: 1024px) { .course-page { margin-top: 2rem; } }

.course-page .title { font-family: "Lekton", sans-serif; margin: 2rem 0 0.25rem 0; font-size: 2rem; font-weight: bold; }

.course-page .title span { font-family: "Signika", sans-serif; color: #03ccab; font-weight: lighter; }

.course-page .course { max-width: 945px; }

.course-page .course .information { display: flex; padding: 0 1rem; }

@media screen and (max-width: 1024px) { .course-page .course .information { flex-direction: column; align-items: center; } }

@media screen and (max-width: 1024px) { .course-page .course .information .insights { order: 2; max-width: 560px; } }

.course-page .course .information .insights .course-title { font-family: "Lekton", sans-serif; margin-bottom: 1rem; font-size: 3rem; font-weight: bolder; line-height: 1.2; }

@media screen and (max-width: 1024px) { .course-page .course .information .insights .course-title { font-size: 2.75rem; } }

.course-page .course .information .insights .course-description { font-size: 1.2rem; }

.course-page .course .information .insights section p { font-size: 1.1rem; margin: 0 0 0.5rem; line-height: 1.5; }

.course-page .course .information .insights section.contents .daily-agenda { display: flex; flex-direction: column; margin-top: 1rem; }

.course-page .course .information .insights section.contents .daily-agenda .day { font-family: "Lekton", sans-serif; flex-shrink: 0; width: 166px; font-size: 1.25rem; font-weight: bold; text-transform: uppercase; color: #03ccab; }

.course-page .course .information .insights section.contents .daily-agenda .topics { margin: 1rem 0 0 2rem; font-size: 1.1rem; letter-spacing: 0.025rem; }

.course-page .course .information .insights section.contents .daily-agenda .topics .group { font-weight: bold; margin-bottom: 1rem; }

.course-page .course .information .insights section.contents .daily-agenda .topics .group span { font-size: 1.12rem; font-weight: bold; color: #03ccab; }

.course-page .course .information .insights section.contents .daily-agenda .topics .subgroup { margin: 0 0 1rem 2rem; }

.course-page .course .information .insights section.contents .daily-agenda .topics .subgroup span { color: #03ccab; }

.course-page .course .information .insights section.where p.unicode { margin-top: 1.5rem; font-family: "Lekton", sans-serif; font-weight: bold; }

.course-page .course .information .insights hr { border: 0; border-top: 1px solid #03ccab; }

.course-page .course .information .summary { display: flex; flex-direction: column; flex-shrink: 0; width: 297px; margin-left: 2rem; position: relative; }

.course-page .course .information .summary h3 { background-color: #03ccab; font-size: 1rem; display: inline-block; color: white; margin: 0; padding: 0.5rem 1rem; }

.course-page .course .information .summary h3 img { vertical-align: bottom; }

.course-page .course .information .summary .jb-training-logo { margin-top: 24px; width: 192px; align-self: center; }

.course-page .course .information .summary.mobile { display: none; margin: 2rem 0 0 0; width: 100%; }

@media screen and (max-width: 1024px) { .course-page .course .information .summary.mobile { display: flex; justify-content: center; } }

@media screen and (max-width: 1024px) { .course-page .course .information .summary.desktop { display: none; } }

.course-page .course .information .summary .padded-area { padding: 1rem 1rem 1.5rem 1rem; background-color: #EDF7F5; max-width: 420px; position: sticky; top: 2rem; border-radius: 0 10px 10px 10px; }

@media screen and (max-width: 1024px) { .course-page .course .information .summary .padded-area { position: static; } }

.course-page .course .information .summary .padded-area .codesai-button { display: flex; }

.course-page .course .information .summary .padded-area .open-course { font-family: "Lekton", sans-serif; margin-bottom: 24px; line-height: 1.2; text-align: center; font-weight: bold; }

.course-page .course .information .summary .padded-area .open-course .announcement { margin-bottom: 0.5rem; font-size: 1.125rem; color: black; }

.course-page .course .information .summary .padded-area .open-course .dates { font-size: 1.25rem; margin: 0; text-align: left; list-style: square outside; padding-left: 2rem; color: #03ccab; }

.course-page .course .information .summary .padded-area .open-course .dates li p { margin-top: 0; }

.course-page .course .information .summary .padded-area .open-course .place { font-size: 1.5rem; margin: 0; color: #03ccab; }

.course-page .course .information .summary .padded-area .open-course .detail { margin: 0.5rem 0; }

.course-page .course .information .summary .padded-area .hint { display: flex; margin-bottom: 1.25rem; }

.course-page .course .information .summary .padded-area .hint .icon { flex-shrink: 0; width: 38px; }

.course-page .course .information .summary .padded-area .hint .icon svg { color: #03ccab; }

.course-page .course .information .summary .padded-area .hint .info.download { align-self: center; padding: 1px; border-bottom: 2px solid white; }

.course-page .course .information .summary .padded-area .hint .info .highlight { font-family: "Assistant", sans-serif; font-size: 1.125rem; font-weight: bold; text-transform: uppercase; }

.course-page .course .information .summary .padded-area .hint .info .highlight span { font-size: 1rem; font-weight: normal; }

.course-page .course .information .summary .padded-area .hint .info .detail { font-size: 1rem; line-height: 1.75rem; }

.course-page .course .information .summary .padded-area .hint .info .detail + .highlight { margin-top: 0.75rem; }

.course-page .course .information .summary .padded-area .hint .info .detail span { font-weight: bold; }

.course-page .course .information .summary .padded-area .hint .info .detail .special-discount { line-height: 1; font-size: 0.875rem; }

.course-page .photos { display: flex; justify-content: center; flex-wrap: wrap; width: 100%; margin-top: 2.25rem; }

.course-page .photos .photo { margin: 0.75rem; }

.course-page .photos .photo img { max-width: 100%; }

.course-page .testimonials { margin-top: 3rem; }

.course-page .testimonials .tweets { display: flex; }

.publications { display: flex; flex-direction: column; margin: 50px auto; max-width: 1170px; }

@media screen and (max-width: 1024px) { .publications { margin: 24px; } }

.publications .tabs { border-bottom: 2px solid black; list-style: none; margin: 0; display: flex; flex-direction: row; width: 100%; }

.publications .tabs li { transition: background-color 0.3s ease; border-radius: 3px 3px 0 0; display: flex; justify-content: center; padding: 10px 0; width: 50%; cursor: pointer; color: black; text-transform: uppercase; font-size: 1.2em; letter-spacing: 0.02em; font-weight: 600; }

.publications .tabs li.active { background-color: #111; color: #03ccab; }

.publications .posts { margin-top: 12px; }

.publications .posts .post { width: 100%; min-height: 150px; background-color: white; border-bottom: 1px dotted #ddd; padding: 24px; display: flex; flex-direction: row; }

@media screen and (max-width: 1024px) { .publications .posts .post { flex-direction: column; align-items: center; } }

.publications .posts .post .image { position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; width: 30%; }

@media screen and (max-width: 1024px) { .publications .posts .post .image { width: 100%; } }

.publications .posts .post .image .small-image { width: 100%; height: 180px; background-size: contain; background-position: center; background-repeat: no-repeat; }

.publications .posts .post .content { width: 70%; }

@media screen and (max-width: 1024px) { .publications .posts .post .content { width: 100%; margin-top: 24px; } }

.publications .posts .post .content h2 { font-size: 30px; color: #333; padding: 0; margin: 0; font-weight: 600; }

.publications .posts .post .content a { text-decoration: none; color: #333; }

.publications .posts .post .content p { font-size: 15px; line-height: 28px; margin: 0 0 10px; }

.publications .videos { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; margin-top: 12px; }

.publications .hidden { display: none; }

.post { display: flex; flex-direction: column; max-width: 720px; margin: 64px auto; line-height: 2rem; font-size: 1.1875rem; /* Container for the card */ /* The styled <hr> */ /* Headers */ /* List styling */ /* Nested list styling for clarity */ /* Links */ /* Emphasized Text */ }

@media screen and (max-width: 1024px) { .post { padding: 0 24px; } }

@media screen and (max-width: 768px) { .post { margin: 42px auto; padding: 0 12px; font-size: 1rem; line-height: 1.8rem; } }

.post h1 { margin: 0 0 24px 0; font-family: "Lekton", sans-serif; font-size: 2.625rem; font-weight: bold; line-height: 3rem; }

@media screen and (max-width: 768px) { .post h1 { font-size: 1.75rem; } }

.post h2 { margin: 16px 0 20px 0; font-family: "Lekton", sans-serif; font-size: 1.75rem; font-weight: bold; }

.post h3 { font-size: 1.75rem; font-weight: 300; margin: 0.5rem 0; }

.post p { margin: 0 0 1.25rem 0; overflow: auto; }

.post li p { margin: 0 0 0.5rem 0; }

.post a { color: #03ccab; }

.post img { width: 100%; padding: 1rem; vertical-align: middle; }

.post figure { margin: 0; }

.post ul { list-style: initial; padding-inline-start: 40px; margin: 0 0 1.25rem 0; }

.post ol { padding-inline-start: 40px; margin: 0 0 1.25rem 0; }

.post blockquote { padding: 10px 20px; margin: 0 0 20px; font-size: 17.5px; border-left: 5px solid #eee; }

.post code { padding: 2px 4px; font-size: 90%; color: #c7254e; background-color: #f9f2f4; border-radius: 4px; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; }

.post figcaption { font-size: 11px; width: 100%; padding: 0 1rem; text-align: center; }

.post table.zebraTable { border-collapse: collapse; border-spacing: 0; border: 1px solid #ddd; }

.post table.zebraTable td { border: 1px solid #ddd; text-align: center; padding: 5px; }

.post table.zebraTable th { border: 1px solid #ddd; background-color: #FFFFFF; }

.post table.zebraTable tr:nth-child(odd) { background-color: #f9f9f9; }

.post .post-info p { text-align: justify; font-style: italic; font-size: 16px; line-height: 28px; margin: 0 0 10px; }

.post .post-info em { font-weight: bold; }

.post .post-categories p { text-align: justify; font-size: 1rem; line-height: 28px; margin: 0 0 10px; }

.post .foot-note { padding-bottom: 5px; font-size: 80%; }

.post .back-to-blog { padding: 30px; font-size: 16px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; text-align: center; }

.post .back-to-blog a { padding: 8px 20px; border-bottom: 1px solid #428bca; text-decoration: none; }

.post .twitter-tweet { margin-left: auto; margin-right: auto; }

.post .flashcard { width: 100%; /* Increased width for better readability */ background-color: #ffffff; /* Clean white background */ padding: 40px; /* More breathing room */ margin: 20px auto; border: 1px solid #e0e0e0; /* Subtle, clean border */ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); /* Modern, soft shadow */ font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; color: #333; line-height: 1.6; border-radius: 8px; /* Slightly rounded corners for a modern feel */ }

.post .flashcard-line { border: none; height: 1px; /* Thinner, more elegant line */ background-color: #d1d1d1; /* Neutral gray */ margin: 20px 0 30px 0; }

.post .flashcard h3 { margin: 0; font-size: 1.8rem; color: #1a1a1a; font-weight: 700; }

.post .flashcard ul { padding-left: 25px; list-style-type: disc; }

.post .flashcard li { margin-bottom: 12px; }

.post .flashcard ul ul { margin-top: 10px; list-style-type: circle; padding-left: 20px; }

.post .flashcard a { text-decoration: none; border-bottom: 1px solid transparent; transition: border-color 0.2s; }

.post .flashcard strong { color: #000; padding: 0 2px; }

.error-404 { display: flex; flex-direction: column; align-items: center; max-width: 945px; margin: 3rem auto; }

@media screen and (max-width: 1024px) { .error-404 { padding: 0 2rem; } }

.error-404 h1 { font-size: 4rem; margin: 0; }

.biscuit-policy, .privacy-policy, .legal-advertisement { display: flex; flex-direction: column; max-width: 945px; margin: 3rem auto; }

.categories { display: flex; flex-direction: column; max-width: 945px; margin: 3rem auto; }

@media screen and (max-width: 1024px) { .categories { padding: 0 2rem; } }

.categories h3 { margin: 0.5rem 0; }

.categories a { color: #03ccab; }

.newsletter { display: flex; flex-direction: column; align-items: center; overflow: hidden; }

.newsletter h2.section-title { font-family: "Lekton", sans-serif; font-size: 2.5rem; font-weight: lighter; margin: 0.5rem 0; }

@media screen and (max-width: 1024px) { .newsletter h2.section-title { text-align: center; } }

.newsletter .about { display: flex; flex-direction: column; max-width: 945px; margin-bottom: 3rem; }

.newsletter .about .description { display: flex; flex-direction: row; justify-content: space-between; padding: 0 1rem; }

@media screen and (max-width: 1024px) { .newsletter .about .description { flex-direction: column; } }

.newsletter .about .description .text { padding: 3rem 2rem 2rem 0; }

@media screen and (max-width: 1024px) { .newsletter .about .description .text { order: 2; padding: 2rem 0; } }

.newsletter .about .description .text p { margin-top: 0; font-size: 1.1rem; line-height: 1.6; }

.newsletter .about .description .image { padding: 3rem 0 0 0; }

@media screen and (max-width: 1024px) { .newsletter .about .description .image { display: flex; justify-content: center; order: 1; } }

.newsletter .about .description .image img { max-width: 320px; margin-top: -41px; }

@media screen and (max-width: 1024px) { .newsletter .about .description .image img { max-width: 280px; max-height: 386px; } }

/*# sourceMappingURL=main.css.map */