@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500&display=swap');
body{
	font-family: 'Montserrat', sans-serif;
	font-weight: 300;
	width: 100vw;
	margin: 0;
	padding: 0;
	line-height: 1;
	border: none;
	color: #000000;
	--app-height: 100vh;
	--navbar-height: 3.75rem;
	--mobile-menu-navbar-height: 6.25rem;
	--mobile-bottom-menu-height: 6.875rem;
	overflow: hidden;
	height: var(--app-height);
}
.w-100vw { width: 100vw;}
.text-gray { color: #777072; }
.changeLanguage {height: 3rem;border: 1px solid #004B7A;color: #004C7A;text-align: left; font-size: 1.25rem; min-width: 180px; letter-spacing: 0.6px;background-color: #fff; padding: 10px 14px;}
.changeLanguage:focus {box-shadow: none;outline: none !important; border: 1px solid #004B7A; }
.pageNavbar { background:#fff!important; min-height: var(--navbar-height); display: flex; flex-direction: column; justify-content: center;  }
.fitPage { height: calc(var(--app-height) - var(--navbar-height)); width: 100vw; }
.navbBrand img { height: 32px; }
.menuNbWrapper { width: 100%; height: 100%; justify-content: flex-end; align-items: flex-end; display: flex; }
.verticalTitle, .vNvbarHeader {align-self: flex-end;writing-mode: tb-rl;transform: rotate(-180deg);min-width: 65px;cursor: pointer;display: flex;align-items: center;padding: 35px 0;font-size: 1.313rem;font-weight: bold;letter-spacing: 3px;background-color: #fff;height: 100%;right: 0; transition: height .5s ease-in-out;}
.verticalNb.active ~ .verticalNb:not(.active, .closing) .verticalTitle:hover { height: calc(var(--verticalTitle-height) + 1rem); transition-duration: .2s; }
.verticalNb.active { width: 100%; }
.verticalNb:nth-child(2):not(.active) .verticalTitle { border-bottom-right-radius: 3.125rem; }
.verticalNb:nth-child(2).active, .verticalNb:nth-child(2).always-active .appMenuContent { border-top-left-radius: 3.125rem; }
.verticalNb.active:not(.closing) ~ .verticalNb .verticalTitle { border-radius: 0; height: var(--verticalTitle-height); }
.verticalNb .appMenuContent-inner{ display: none; overflow: hidden; padding: 0 15%;}
.verticalNb.active:not(.closing) .appMenuContent-inner { display: block; }
.vNvbarHeader {justify-content: flex-end;padding-bottom: 100px;}
.verticalNb.active:not(.closing) .vNvbarHeader:after {content: '';position: absolute;width: 2px; height: 3.125rem;left: 50%; right: 50%;bottom: 30px;background-color: #000000;animation-duration: 1s;animation-timing-function: ease;animation-name: drop-in-from-up;}
.verticalNb:not(.active, .closing) .vNvbarHeader:after {content: '';position: absolute;background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MiIgaGVpZ2h0PSI1MiIgdmlld0JveD0iMCAwIDUyIDUyIj4KICA8ZyBpZD0iR3JvdXBfNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM1MiAtOCkiPgogICAgPHBhdGggaWQ9IlBhdGhfMzgiIGQ9Ik04MDYuNTUzLDMwMjguMDg2aDMyLjM4NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTkzNy4zNjEgLTI2ODkpIHJvdGF0ZSg0NSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgICA8cGF0aCBpZD0iUGF0aF8zOSIgZD0iTTgwNi41NTMsMzAyOC4wODZoMzIuMzg0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjM0NSAtMTUyNS40NjIpIHJvdGF0ZSgtNDUpIiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMyIvPgogICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV82MSIgd2lkdGg9IjUyIiBoZWlnaHQ9IjUyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNTIgOCkiIGZpbGw9Im5vbmUiLz4KICA8L2c+Cjwvc3ZnPgo=");width: 40px;height: 40px;display: flex;align-items: center;justify-content: center;bottom: 40px;background-position: center;background-size: contain;transition: all .5s ease;animation-duration: .5s;animation-timing-function: ease;animation-name: drop-in-rotate-from-left;}
.appMenuContent { display: none; justify-content: stretch; flex-direction: column; overflow-x: hidden; }
.appMenuContent .title { font-size: 6.25rem; font-weight: bold; letter-spacing: 2px; margin-bottom: 0.625rem; }
.appMenuContent .description { font-size: 1.313rem; letter-spacing: 0.6px; line-height: 1.2; max-height: 8rem; overflow-y: auto; margin-bottom: 2.625rem; }
.appCustomScrolling::-webkit-scrollbar-track {-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.1);border-radius: 0.625rem;background-color: transparent;}
.appCustomScrolling::-webkit-scrollbar {width: 3px;background-color: transparent;}
.appCustomScrolling::-webkit-scrollbar-thumb {border-radius: 0;-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.1);background-color: #555;}
.appMenuContent .link { color: #000000; font-size: 1.565rem; letter-spacing: 0.75px; font-weight: bold;  }
.verticalNb.active .appMenuContent, .verticalNb.always-active .appMenuContent { display: flex; flex-grow: 1; }
.verticalNb.active .verticalTitle,  .verticalNb.always-active .verticalTitle { height: 100% !important; }
.verticalNb.active ~ .verticalNb { border-radius: 0!important; }
.mobile-menuNbWrapper {border-top-right-radius: 4rem; position: relative;}
.mobile-menuNbWrapper:after {content: "";position: absolute;bottom: 0;left: 0;z-index: 0;width: var(--mobile-menu-bg-width, 0);height: var(--mobile-menu-bg-height, 0);border-top-right-radius: var(--mobile-menu-bg-border-radius, 10rem);}
.mobile-menuNbWrapper.opening-bg:after {width: 100%;height: 100%;background-color: var(--mobile-menu-bg-color, #fff);border-top-right-radius: 4rem;transition: all 1s ease-in-out;}
.mobile-menuNbWrapper.closing-bg:after {width: 0;height: 0;background-color: var(--mobile-menu-bg-color, #fff);border-top-right-radius: 10rem;transition: all 1s ease-in-out;}
.mobile-menuNbWrapper .menu-navbar { max-width: 100vw;overflow-x: auto;position: absolute;left: 0;right: 0;bottom: 10px; z-index: 1;}
.mobile-menuNbWrapper .mobile-nav {font-size: 1.375rem;font-weight: 500;min-width: 10.4rem;width: 10.4rem;height: 7.375rem;border-radius: 1.5rem;padding: 20px 12px;display: flex;align-items: end;cursor: pointer;transition: border .2s ease-in-out;}
.mobile-menuNbWrapper .mobile-nav:first-child { margin-left: 1rem; }
.mobile-menuNbWrapper .mobile-nav:last-child { margin-right: 1rem; }
.mobile-menuNbWrapper .mobile-nav.active { border: 1px solid #fff; }
.mobile-menuNbWrapper .mobile-nav.main-nav.active { border: 1px solid #000; }
.mNbContent { height: calc(var(--app-height) - var(--navbar-height)); z-index: 1; }
.mNbContent .container-fluid { height: calc(var(--app-height) - var(--navbar-height) - var(--mobile-menu-navbar-height) - 10px); width: 100%; }
.nbItem .title { font-size: 2.715rem; font-weight: bold; margin-bottom: 1.2rem; }
.nbItem .description { font-size: 1.075rem; font-weight: 400; line-height: 1.125;  max-height: 9rem; overflow-y: auto; margin-bottom: 1rem; }
.nbItem .link { color: #000000; font-size: 1.375rem; letter-spacing: 0.75px; font-weight: bold;  }
.nbItem { display: none; transition: opacity 1s ease-in-out; border-top-right-radius: 4rem; background-color: transparent; }
.nbItem-content {  height: calc(100% - var(--mobile-bottom-menu-height)); width: 100vw; padding: 1rem 15px; border-top-right-radius: 4rem; }
.nbItem.active { display: flex; }
.nbToggle { outline: none !important; border: none !important; padding: 0; }
.nbToggle:not(.collapsed) .nbToggle-icon {background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MiIgaGVpZ2h0PSI1MiIgdmlld0JveD0iMCAwIDUyIDUyIj4KICA8ZyBpZD0iR3JvdXBfNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM1MiAtOCkiPgogICAgPHBhdGggaWQ9IlBhdGhfMzgiIGQ9Ik04MDYuNTUzLDMwMjguMDg2aDMyLjM4NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTkzNy4zNjEgLTI2ODkpIHJvdGF0ZSg0NSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgICA8cGF0aCBpZD0iUGF0aF8zOSIgZD0iTTgwNi41NTMsMzAyOC4wODZoMzIuMzg0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjM0NSAtMTUyNS40NjIpIHJvdGF0ZSgtNDUpIiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMyIvPgogICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV82MSIgd2lkdGg9IjUyIiBoZWlnaHQ9IjUyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNTIgOCkiIGZpbGw9Im5vbmUiLz4KICA8L2c+Cjwvc3ZnPgo=");width: 3rem;height: 3rem;animation-duration: .5s;animation-timing-function: ease; animation-name: drop-in-rotate-from-right;}
.nbToggle.collapsed .nbToggle-icon {background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MiIgaGVpZ2h0PSI1MiIgdmlld0JveD0iMCAwIDUyIDUyIj4KICA8ZyBpZD0iR3JvdXBfNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM1MiAtOCkiPgogICAgPHBhdGggaWQ9IlBhdGhfMzgiIGQ9Ik04MDYuNTUzLDMwMjguMDg2aDMyLjM4NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQ0NC45MzggLTI5OTguMDg2KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjMiLz4KICAgIDxwYXRoIGlkPSJQYXRoXzM5IiBkPSJNODA2LjU1MywzMDI4LjA4NmgzMi4zODQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00NDQuOTM4IC0yOTg4LjU0MykiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzYxIiB3aWR0aD0iNTIiIGhlaWdodD0iNTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM1MiA4KSIgZmlsbD0ibm9uZSIvPgogIDwvZz4KPC9zdmc+Cg==");width: 3rem; height: 3rem;animation-duration: .5s;animation-timing-function: ease; animation-name: drop-in-rotate-from-left;}
.modal-dialog { max-width: 100vw; }
.modal-content { background-color: #0000006E; }
.modal-open .modal { backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.contact-modal .icon { width: 32px; height: 32px; }
.modal .close { position: absolute; right: 0.5rem; top: 0.5rem; font-size: 3rem; color: #fff; background: transparent; box-shadow: none; opacity: 1; text-shadow: none; font-weight: 500; z-index: 2;}
.modal .close:focus-visible, .modal .close:focus{ outline: none; }
.modal-title { font-size: 2rem; letter-spacing: 0.15rem; }
.mobile-header-nav { z-index: 999; position: fixed; top: var(--navbar-height); left: 0; right: 0; background: #fff; height: calc(var(--app-height) - var(--navbar-height)); overflow-y: auto; transition: height .35s ease-in-out; }
.collapsing { height: unset; transition: none; }
.collapse:not(.show) { display: block; }
.collapse:not(.show) .mobile-header-nav { height: 0; }
.collapse.show .mobile-header-nav { height: calc(var(--app-height) - var(--navbar-height)); }
.mobile-header-nav a { height: 4.5rem; width: 100%; display: flex; font-size: 1.425rem; font-weight: 500; align-items: center; justify-content: center; color: #000;  }
.overflow-y { overflow-y: auto;}
.tag-bubble {display: block;position: absolute;border-radius: 50%;background-color: #fff;box-shadow: 0 0 5px 0 #000;transition: .5s cubic-bezier(.075,.82,.165,1.1); width: 24px; height: 24px;}
.tag-bubble .animate-ping {background-color: #fff;width: 100%;height: 100%;border-radius: 50%;opacity: 0.9;}
.collection-item-image { width: 96px; height: 64px; background-position: center; background-size: cover; background-repeat: no-repeat;}
.font-weight-semibold { font-weight: 500; }
.text-black { color: #000000 !important; }
.hover-bg:hover {background-color: #f8f8f8;opacity: 0.9;}
.animatedTextItem {animation-duration: 1s;animation-timing-function: ease;animation-delay: 0.6s;animation-fill-mode: backwards;}
.hover-animate.to-right, .hover-animate .to-right { transform: translateX(0);	transition: transform .5s ease-in-out;}
.hover-animate.to-right:hover, .hover-animate:hover .to-right {transform: translateX(1rem);}
.animatedTextItem.from-left { animation-name: drop-in-from-left; }
.animatedTextItem.from-down { animation-name: drop-in-from-down; }
.animatedTextItem.from-up { animation-name: drop-in-from-up; }
.animation-delay-05 { animation-delay: 0.5s; }
.animation-delay-03 { animation-delay: 0.3s; }
.animation-delay-07 { animation-delay: 0.7s; }
.animation-delay-1 { animation-delay: 1s; }
.column-gap > * + * {margin-left: 1rem;}
.column-gap-05 > * + * { margin-left: 0.5rem; }
.row-gap > * + * { margin-top: 1rem; }
@media (min-width: 1200px) {
	body {--navbar-height: 5rem;}
	.navbBrand img { height: 40px; }
	.modal-title { font-size: 4rem; }
	.modal-dialog { max-width: calc(100vw - 200px); }
	.contact-modal .icon { width: 42px; height: 42px; }
	.modal .close { position: absolute; right: 3rem; top: 3rem; font-size: 3rem; color: #fff; background: transparent; box-shadow: none; opacity: 1; text-shadow: none; font-weight: 500; z-index: 2;}
	.modal .close:focus-visible, .modal .close:focus{ outline: none; }
	.hover-xl-animate.to-right, .hover-xl-animate .to-right { transform: translateX(0);	transition: transform .5s ease-in-out;}
	.hover-xl-animate.to-right:hover, .hover-xl-animate:hover .to-right {transform: translateX(1rem);}
}
@media (max-width: 1500px) and (min-width: 1200px) {
	.appMenuContent .title { font-size: 3rem; }
}
@media (max-height: 700px) {
	.verticalTitle, .vNvbarHeader {
		font-size: 1.125rem;
		padding: 16px 0;
	}
}
@media (max-width: 1999px) and ( min-width: 375px ) {
	.nbItem .title { font-size: 2.915rem; margin-bottom: 1.25rem; }
	.nbItem .description { font-size: 1.175rem; max-height: 10rem; margin-bottom: 2rem; }
	.nbItem .link { font-size: 1.475rem;  }
}
@media (max-width: 1999px) and ( min-width: 414px ) {
	.nbItem .title { font-size: 3.250rem; margin-bottom: 1.35rem; }
	.nbItem .description { font-size: 1.175rem; max-height: 10rem; margin-bottom: 2.5rem; }
	.nbItem .link { font-size: 1.575rem;  }
}
@media (max-width: 1999px) and ( min-width: 768px ) {
	.nbItem .title { font-size: 5rem; margin-bottom: 1.5rem; }
	.nbItem .description { font-size: 2.225rem; max-height: 16rem; margin-bottom: 3rem; }
	.nbItem .link { font-size: 2.5rem;  }
}
@media (max-width: 1999px) {
	nav.navbar { padding: 0; }
}
@media (max-width: 767px) {
	.changeLanguage {height: 3rem;border: none;color: #004C7A;text-align: left; font-size: .75rem; min-width: 50px; letter-spacing: 0.6px;background-color: #fff; padding: 10px 5px;}
	.changeLanguage:focus {box-shadow: none;outline: none !important; border: none; }
}

@keyframes ping{75%,to{transform:scale(2);opacity:0}}
.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}
@keyframes transform-to-right { from {transform: translateX(0);} to {transform: translateX(20px);} }
@keyframes drop-in-from-left { from {opacity: 0;transform: translateX(-100px);} to {opacity: 1;transform: translateX(0px);} }
@keyframes drop-in-from-down { from {opacity: 0;transform: translateY(100px);} to {opacity: 1;transform: translateY(0px);} }
@keyframes drop-in-from-up { from {opacity: 0;transform: translateY(-100px);} to {opacity: 1;transform: translateY(0px);} }
@keyframes drop-in-rotate-from-left { from {opacity: 0;transform: rotate(-180deg);} to {opacity: 1;transform: rotate(0deg);} }
@keyframes drop-in-rotate-from-right { from {opacity: 0;transform: rotate(180deg);} to {opacity: 1;transform: rotate(0deg);} }
