/*! Flickity v2.2.2
https://flickity.metafizzy.co
---------------------------------------------- */.flickity-enabled{position:relative}.flickity-enabled:focus{outline:none}.flickity-viewport{overflow:hidden;position:relative;height:100%}.flickity-slider{position:absolute;width:100%;height:100%}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:-webkit-grabbing;cursor:grabbing}.flickity-button{position:absolute;background:rgba(255,255,255,0.75);border:none;color:#333}.flickity-button:hover{background:white;cursor:pointer}.flickity-button:focus{outline:none;box-shadow:0 0 0 5px #19F}.flickity-button:active{opacity:0.6}.flickity-button:disabled{opacity:0.3;cursor:auto;pointer-events:none}.flickity-button-icon{fill:currentColor}.flickity-prev-next-button{top:50%;width:44px;height:44px;border-radius:50%;transform:translateY(-50%)}.flickity-prev-next-button.previous{left:10px}.flickity-prev-next-button.next{right:10px}.flickity-rtl .flickity-prev-next-button.previous{left:auto;right:10px}.flickity-rtl .flickity-prev-next-button.next{right:auto;left:10px}.flickity-prev-next-button .flickity-button-icon{position:absolute;left:20%;top:20%;width:60%;height:60%}.flickity-page-dots{position:absolute;width:100%;bottom:-25px;padding:0;margin:0;list-style:none;text-align:center;line-height:1}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dots .dot{display:inline-block;width:10px;height:10px;margin:0 8px;background:#333;border-radius:50%;opacity:0.25;cursor:pointer}.flickity-page-dots .dot.is-selected{opacity:1}.hero-video.managing .sortable-hero-video:has(.handle:hover){background-color:#e9ecef}.hero-video.managing .sortable-hero-video:has(.handle:active){background-color:#dee2e6;box-shadow:inset 0 0 5px rgba(0,0,0,0.05)}.hero-video.managing img{max-width:500px}.infos.managing p{text-align:justify}html,body{height:100%}body{font-family:'PT Sans', sans-serif;font-size:17px}a:-webkit-any-link{text-decoration:none;color:#3a3a3a}a:-webkit-any-link:hover{background-color:white}a:hover{background:#e9e9e9}.yellow-hover:hover{background:none !important;color:#e8bd23 !important}.button.button-shadow-hover:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,0.1)}.button.border-hover{text-align:center;margin:auto;margin-top:30px;font-size:18px;line-height:28px;border:1px solid #3a3a3a;padding:18px;width:300px}.border-hover{outline:0px solid rgba(50,115,220,0.3);outline-offset:0;transition:outline 0.5s, outline-offset 0.5s}.border-hover:hover{outline:12px solid;outline-offset:-12px;outline-color:#929292;outline-color:rgba(37,37,37,0.8);outline-color:rgba(100,100,100,0.1);box-shadow:1px 1px 5px #646464}.anchor{min-height:100%;margin-bottom:-3em;margin-top:58px}.anchor:after{content:"";display:block}.managing{background:#3a3a3a;min-height:100vh;padding-bottom:20px}.managing .card{background:white;margin-top:20px;padding:20px;border:none;border-radius:0}.managing .card .button,.managing .card .actions input{padding:10px;border:1px solid #3a3a3a;margin:auto}.managing .card .button{margin:5px}.managing .card .button.cancel{background:#ff9999}.managing .card .button.cancel:hover{background:#ff4d4d}.managing .card .button.btn-warning:hover{background:#f8ba0d}.managing .card .button.btn-success:hover{background:#009422;color:#3a3a3a}.managing .card .button.submit,.managing .card .actions input{background:white;color:#3a3a3a;width:auto}.managing .card .button.submit:hover,.managing .card .actions input:hover{background:#e9e9e9}.infos .form,.team .form,.project .form,.hero-video .form{padding-left:5%;padding-right:5%}.infos .form .field label,.team .form .field label,.project .form .field label,.hero-video .form .field label{float:left}.infos .form .field textarea,.infos .form .field input,.infos .form .field select,.team .form .field textarea,.team .form .field input,.team .form .field select,.project .form .field textarea,.project .form .field input,.project .form .field select,.hero-video .form .field textarea,.hero-video .form .field input,.hero-video .form .field select{width:100%;margin-bottom:20px}.infos .form .form-check,.team .form .form-check,.project .form .form-check,.hero-video .form .form-check{text-align:left;padding-left:0}footer,.anchor:after{height:3em}footer{padding:15px}footer .created-by{font-size:13px;padding-bottom:20px}footer .created-by .link{text-decoration:underline}footer .social-media{padding-top:30px;padding-bottom:30px}footer .social-media .only-instagram{border-color:#3a3a3a;padding:5px 50px}footer .social-media .only-instagram p{margin-bottom:5px}footer .social-media .only-instagram i{font-size:25px}.social-media .social-link{display:inline-block;font-size:20px;padding:5px}.social-media .only-instagram{border:1px solid;border-left:none;border-right:none}@media (max-width: 767px){.managing .form{padding:0 5px}.managing .card .button.submit{width:100%}.managing .actions .button{display:block}}nav{background-color:white !important;padding-top:0 !important;padding-bottom:0 !important;box-shadow:1px 1px 5px #646464;height:58px !important}nav .logo{margin-top:5px !important;margin-left:18px;position:relative;height:35px;width:125px}nav .logo .text{font-family:'Fira Sans', sans-serif;position:absolute;left:0;top:0;border-right:1px solid black;padding-right:5px;height:35px}nav .logo .text .invoke{top:0;display:block;margin-top:-7px}nav .logo .text .engineers{display:block;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);margin-top:-40px}nav .logo img{position:absolute;width:29px;right:0;top:2px}nav .logo:hover{-webkit-filter:drop-shadow(1px 1px 5px #929292);filter:drop-shadow(1px 1px 5px #929292)}nav .navbar-nav{padding-right:10px}nav a.nav-link{color:#3a3a3a !important;height:58px;padding-top:16px}nav a.nav-link:hover,nav .nav-item.active a.nav-link{color:white !important;background-color:#3a3a3a !important}nav .dropdown-menu{border-radius:0;border-top:none;border-left:none;border-right:none;box-shadow:1px 1px 5px #646464;margin-left:-85px}nav .dropdown-menu a.dropdown-item:hover{color:white;background-color:#3a3a3a}nav .navbar-toggler{border:none;outline:none}nav .navbar-toggler i{color:#3a3a3a}nav .navbar-toggler:hover i{color:grey}@media (max-width: 767px){nav .dropdown-menu{margin-left:0px}nav .navbar-nav{padding-right:0px}nav .navbar-collapse{background-color:white;position:absolute;top:58px;left:0;width:100%}nav .navbar-collapse ul li .nav-link{padding-left:20px}}.project .form img{width:50px}.project .form .cover-image-info{clear:both;text-align:left}.project .form #project-images-sortable .project-images-info{text-align:left}.project .form #project-images-sortable .reordable p{font-weight:500;font-size:19px}.project .form #project-images-sortable .nested-fields{margin-bottom:10px}.project .form #project-images-sortable .nested-fields .delete-x{color:grey}.project .form #project-images-sortable .nested-fields .delete-x:hover{color:#b20000;background:transparent}.project .form #project-images-sortable .reordable{padding:10px;border-bottom:1px solid #CCCCCC}.project .form #project-images-sortable .reordable:hover,.project .form #project-images-sortable .reordable:active{cursor:move;background-color:#EEEEEE}.project .form #project-images-sortable .association-link{margin-top:50px}.project .card img{width:100%}.project.show .card{padding-left:0;padding-right:0}.project.show .project-intro-and-description{padding-left:50px;padding-right:50px}.project.show .project-intro-and-description .cover-image img{width:100%}.project.show .project-intro-and-description .name{font-weight:400;font-size:25px}.project.show .project-intro-and-description .location-year .loc-icon{width:20px;height:20px;fill:none;stroke:#3a3a3a;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-top:-3px}.project.show .project-intro-and-description .location-year .under-construction-tag{font-size:15px;color:#999;text-transform:uppercase;letter-spacing:1px;font-style:italic;margin-left:5px}.project.show .project-intro-and-description .area img{width:20px;margin-top:-5px}.project.show .project-intro-and-description .button-for-sale{transition:background-color 0.3s ease, color 0.3s ease;width:50%;margin:auto}.project.show .project-intro-and-description .button-for-sale:hover{background-color:#3a3a3a;color:white}.project.show .project-intro-and-description .description{margin:30px 0 0 0;text-align:left}.project.show .project-images{margin-top:20px;margin-bottom:60px}.project.show .project-images .photographer{margin-bottom:10px}.project.show .project-images .photographer .photographer-link{text-decoration:underline}.project.show .project-images .photographer .photographer-link:hover{background:none;color:grey}.project.show .project-images .carousel-image{height:450px;width:auto;margin:0 10px;opacity:0.3}.project.show .project-images .carousel-image.is-selected{opacity:1}.project.show .links-to-other-projects{padding-left:20px;padding-right:20px}.project.index{padding:0 20px 20px 20px !important}.project.index .sortable-project{transition:all 0.2s ease-in-out;padding:10px;border-radius:6px}.project.index .sortable-project:has(.handle:hover){background-color:#e9ecef}.project.index .sortable-project:has(.handle:active){background-color:#dee2e6;box-shadow:inset 0 0 5px rgba(0,0,0,0.05)}.project.index .handle{color:#6c757d}.project.index .handle:hover{color:#343a40}@media (max-width: 575px){.project.show .project-intro-and-description .name{margin-top:16px}.project.show .project-intro-and-description .button-for-sale{margin-bottom:16px}.project.show .project-intro-and-description .description{margin-top:0px}}@media (max-width: 767px){.project.show .project-intro-and-description{padding-left:20px;padding-right:20px}.project.show .project-intro-and-description .under-construction-tag{display:block;margin-top:16px}.project.show .project-images .carousel-image{height:300px}.project .form .uploaded-image i.fa-trash{margin-top:16px}}@media (min-width: 576px) and (max-width: 767px){.project.show .project-intro-and-description .description{margin-top:10px}}@media (max-width: 991px){.project.show .project-intro-and-description .button-for-sale{width:70%}}.index-carousel{height:calc(100vh - 58px - 20px)}.index-carousel img{height:100%;width:100%;object-fit:cover;z-index:-1}.index-carousel .flickity-page-dots{bottom:50px;z-index:100;opacity:1}.carousel-caption{font-size:50px;width:100%;height:100%;left:0;text-align:left;padding-left:10%;color:white;font-weight:500;text-shadow:2px 7px 5px rgba(255,255,255,0.3),0px -4px 10px rgba(0,0,0,0.3);top:100%;opacity:0;transition:all .7s ease-out;transition-delay:1s}.carousel-caption.is-selected{top:70%;opacity:1}.welcome,.under-construction{background-color:#3a3a3a;position:relative;padding-bottom:20px;padding-top:20px;min-height:calc(100vh - 58px);overflow-x:hidden}.welcome .lines .line,.under-construction .lines .line{height:2px;background-color:white;position:absolute}.welcome .lines .line-horizontal,.under-construction .lines .line-horizontal{padding:0;width:100%}.welcome .lines .line-horizontal-left,.under-construction .lines .line-horizontal-left{top:50%}.welcome .lines .line-diagonal,.under-construction .lines .line-diagonal{width:200vw;-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;left:-10%;bottom:0}.welcome .lines .line-horizontal-right,.under-construction .lines .line-horizontal-right{top:75%}.welcome .welcome-card,.under-construction .welcome-card{background:white;min-height:350px;height:75vh;position:relative}.welcome .welcome-card .welcome-message,.under-construction .welcome-card .welcome-message{width:90%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.welcome .welcome-card h1,.under-construction .welcome-card h1{font-size:50px;line-height:67px;font-weight:300;margin-bottom:0}.welcome .welcome-card .description .keywords,.under-construction .welcome-card .description .keywords{font-size:25px;margin:30px 0}.welcome .welcome-card .description .keywords img,.under-construction .welcome-card .description .keywords img{width:15px}.welcome .welcome-card .description .short-description,.under-construction .welcome-card .description .short-description{font-size:18px}.under-construction{min-height:100vh;padding:0;padding-bottom:10vh}.under-construction .welcome-card{margin-top:10vh;min-height:80vh}.projects,.project.index{padding:35px;padding-bottom:20px}.projects h1,.project.index h1{margin-bottom:20px}.projects .project-card,.project.index .project-card,.project.show .project-card{text-align:center;margin-bottom:40px}.projects .project-card .badge-container,.project.index .project-card .badge-container,.project.show .project-card .badge-container{position:absolute;top:15px;left:0;display:flex;flex-direction:column;gap:5px;z-index:10}.projects .project-card .badge-container .status-badge,.project.index .project-card .badge-container .status-badge,.project.show .project-card .badge-container .status-badge{padding:6px 12px;font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:400;border-left:3px solid #fff;white-space:nowrap}.projects .project-card .badge-container .status-badge.for-sale,.project.index .project-card .badge-container .status-badge.for-sale,.project.show .project-card .badge-container .status-badge.for-sale{background:#fff;color:#212529;border-left:3px solid #212529;font-weight:600}.projects .project-card .badge-container .status-badge.badge-under-construction,.project.index .project-card .badge-container .status-badge.badge-under-construction,.project.show .project-card .badge-container .status-badge.badge-under-construction{background:rgba(33,37,41,0.9);color:white;font-weight:300}.projects .project-card img,.project.index .project-card img,.project.show .project-card img{width:100%}.projects .project-card p,.project.index .project-card p,.project.show .project-card p{padding-top:8px;border-bottom:1px solid #3a3a3a;width:80%;margin:auto;transition:width 0.5s}.projects .project-card:hover,.project.index .project-card:hover,.project.show .project-card:hover{-webkit-filter:grayscale(70%);filter:grayscale(70%)}.projects .project-card:hover img,.project.index .project-card:hover img,.project.show .project-card:hover img{box-shadow:1px 1px 5px #646464}.projects .project-card:hover p,.project.index .project-card:hover p,.project.show .project-card:hover p{width:100%}.projects{padding-top:70px;padding-bottom:70px}.projects h1{margin-bottom:30px}.contact{background:#3a3a3a;padding:70px 50px;color:white}.contact h1{font-weight:100;margin-bottom:35px}.contact .contact-info{text-align:right;padding-right:50px}.contact .contact-info img{width:30px}.contact .contact-info .company-name{font-family:'Fira Sans', sans-serif;font-size:20px}.contact .contact-info a{color:white}.contact .contact-info .social-media .only-instagram{border-color:white;padding:5px 7px}.contact .contact-info .social-media .only-instagram p{margin-bottom:0}.contact .contact-info #map{height:200px}.contact .contact-form input,.contact .contact-form textarea{background:#3a3a3a;color:white;border:none;border-radius:0;border-bottom:1px solid white}.contact .contact-form .form-wrapper{position:relative}.contact .contact-form .form-wrapper:after{content:'';width:0%;height:0%;border-left:1px solid white;border-top:1px solid white;position:absolute;bottom:0;left:0}.contact .contact-form .form-wrapper:before{content:'';width:0%;height:0%;border-top:1px solid white;border-right:1px solid white;position:absolute;bottom:0;right:0}.contact .contact-form .form-wrapper:hover:after,.contact .contact-form .form-wrapper:hover:before{-webkit-animation:show-borders 1s ease-out both;animation:show-borders 1s ease-out both}@keyframes show-borders{0%{height:0%;width:0%}50%{height:100%;width:0%}100%{height:100%;width:50%}}@-webkit-keyframes show-borders{0%{height:0%;width:0%}50%{height:100%;width:0%}100%{height:100%;width:50%}}@keyframes hide-borders{0%{height:100%;width:50%}50%{height:100%;width:0%}100%{height:0%;width:0%}}@-webkit-keyframes hide-borders{0%{height:1000%;width:50%}50%{height:100%;width:0%}100%{height:0%;width:0%}}.contact .contact-form .form-contact .form-control:focus{outline:none;box-shadow:none}.contact .contact-form .button{background:white;color:#3a3a3a;width:100%;padding:15px;border:none}.contact .contact-form .button:hover{color:white;background:#e8bd23}.contact .contact-form-submitted{display:none;color:white;padding:20px}.about{padding:70px 30px;border-top:17px solid #3a3a3a}.about h1{margin-bottom:30px}.about .keywords{font-size:25px;margin:30px  auto 10px auto}.about .keywords img{width:15px}.about-page{padding:0}.about-page .about-eng-group{margin:70px auto}.about-page h1{margin-bottom:30px}.team-presentation{padding:70px 0;background:#3a3a3a}.team-presentation h2{color:white;margin-bottom:70px}.team-presentation .team-member-photo{padding:0;display:flex;height:500px}.team-presentation .team-member-photo.img-to-left{justify-content:right}.team-presentation .team-member-photo .avatar{min-height:auto;min-width:auto}.team-presentation .name{text-transform:uppercase;font-size:25px;letter-spacing:1px;font-family:'Fira Sans', sans-serif;font-weight:100}.team-presentation .team-member-info{background:#3a3a3a;color:white;padding:10px 30px;text-align:justify}.team-presentation .team-member-info .proffession{text-transform:lowercase;font-size:18px;font-weight:800;font-family:'Oxygen', sans-serif;text-align:left}.team-presentation .team-member-info .email a{color:white;font-style:italic}.team-presentation .team-member-info .email a:hover{color:#e8bd23;background-color:transparent}.team-presentation .team-member-info.order-md-first .name,.team-presentation .team-member-info.order-md-first .proffession,.team-presentation .team-member-info.order-md-first .email{text-align:right}@media (min-width: 992px){.welcome .welcome-card,.under-construction .welcome-card{height:60vh}.welcome h1,.under-construction h1{font-size:60px;line-height:77px}}@media (min-width: 576px) and (max-width: 767px){.welcome .welcome-card,.under-construction .welcome-card{min-height:500px}.welcome .welcome-card h1,.under-construction .welcome-card h1{font-size:50px;line-height:67px}.welcome .welcome-card .description .keywords,.under-construction .welcome-card .description .keywords{font-size:20px}.welcome .welcome-card .description img,.under-construction .welcome-card .description img{width:12px}.contact .contact-info{padding-right:0}}@media (max-width: 767px){.about .keywords{font-size:20px;padding:20px 0}.about .keywords img{width:10px}.team-presentation h2{margin-bottom:0}.team-presentation .team-member-photo{position:relative;height:350px;margin-top:50px}.team-presentation .team-member-photo.img-to-left,.team-presentation .team-member-photo.img-to-right{justify-content:center}.team-presentation .team-member-photo .name{position:absolute;bottom:0px;left:0px;background:rgba(37,37,37,0.9);color:white;margin-bottom:0px;padding:10px 0 10px 40px;width:100%;text-align:left;font-size:20px}.team-presentation .team-member-info{padding:10px 40px 0 40px}.team-presentation .team-member-info.order-md-first .proffession,.team-presentation .team-member-info.order-md-first .email{text-align:left}}@media (max-width: 575px){.welcome .welcome-card,.under-construction .welcome-card{min-height:590px}.welcome .welcome-card h1,.under-construction .welcome-card h1{font-size:40px;line-height:57px}.welcome .welcome-card .description .keywords,.under-construction .welcome-card .description .keywords{font-size:20px}.welcome .welcome-card .description img,.under-construction .welcome-card .description img{width:10px}.contact{padding:70px 30px}.contact .contact-info{padding-right:0;text-align:center;margin-top:40px}}@media (max-width: 400px){.welcome .welcome-card h1,.under-construction .welcome-card h1{font-size:30px;line-height:52px}}.team .form img{width:50px}.team .team-card{cursor:pointer;outline:0px solid rgba(50,115,220,0.3);outline-offset:0;outline-color:#929292;outline-color:rgba(37,37,37,0.7);transition:outline 0.5s, outline-offset 0.5s;margin-bottom:20px}.team .team-card:hover{outline:20px solid;outline-offset:-20px;outline-color:#929292;outline-color:rgba(37,37,37,0.7)}.team .team-name{font-size:18px;font-weight:600;text-align:center;margin-top:10px}.team.managing p{text-align:justify}.user .card .link{text-decoration:underline}.user .card .link:hover{background:white;color:blue}.user .card table{border-spacing:15px !important}.video-carousel{position:relative;width:100%}.video-carousel video{width:100%;height:auto;position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease-in-out}.video-carousel video.active{opacity:1;position:relative;z-index:1}.video-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(to bottom, rgba(0,0,0,0.35), rgba(0,0,0,0.05));color:white;pointer-events:none}.video-overlay h1{font-size:clamp(2.5rem, 5vw, 3.75rem);font-weight:500;margin-bottom:20px;text-shadow:0 2px 10px rgba(0,0,0,0.35),0 6px 30px rgba(0,0,0,0.25)}.video-overlay .overlay-paragraphs{position:relative;margin-top:1rem;min-height:3.5rem;width:100%;max-width:680px}.video-overlay .overlay-paragraphs p{display:block;position:absolute;inset:0;margin:0 auto;font-size:clamp(1.1rem, 2.5vw, 1.55rem);line-height:1.6;font-weight:400;letter-spacing:0.01em;opacity:0;transition:opacity 0.9s ease-in-out;text-shadow:0 1px 2px rgba(0,0,0,0.25);margin:0 auto}.video-overlay .overlay-paragraphs p.active{opacity:1}.video-overlay .overlay-paragraphs p img{width:15px}.overlay-text{position:absolute;opacity:0;transition:opacity 0.8s ease, transform 0.8s ease;transform:translateY(10px)}.overlay-text.active{opacity:1;transform:translateY(0)}@media (max-width: 575px){.overlay-paragraphs p{padding:0 10px}}
