@font-face {
  font-family: "Source Sans 3";
  src: url("fonts/SourceSans3-VariableFont_wght.ttf") format("truetype-variations");
  font-weight: 200 900;
  font-style: normal;
}

@font-face {
  font-family: "Source Sans 3";
  src: url("fonts/SourceSans3-Italic-VariableFont_wght.ttf") format("truetype-variations");
  font-weight: 200 900;
  font-style: italic;
}

*                 {font-family: "Source Sans 3"; color: rgb(15, 58, 107); outline: transparent; -webkit-tap-highlight-color: transparent;}
html			  {-webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 55px;}
body              {margin: 0; background: white; touch-action: manipulation;}

nav {height: 60px; width: 100%; position: fixed; top: 0; background: transparent; transition: .4s ease-out; z-index: 99; box-sizing: content-box}
nav.homepage:not(.nav-detached) .nav-content {margin: 10px;}
nav.homepage:not(.nav-detached) .hamburger-button {top: 20px; right: 25px;}
nav .nav-content {width: calc(100% - 190px); transition: .2s ease; padding: 10px 15px;}
nav .nav-blurred-background {height: 0px; width: 100%; mask: linear-gradient(black, black, transparent); -webkit-backdrop-filter: blur(2.5px); backdrop-filter: blur(2.5px) brightness(1); position: absolute; top: 0; transition: .3s ease-out; will-change: height, mask, backdrop-filter;}
nav.nav-detached .nav-blurred-background {height: 100px;}
nav .nav-blurred-background.expanded {height: 100%; mask: linear-gradient(black, black, black); -webkit-backdrop-filter: blur(40px); backdrop-filter: blur(30px) brightness(0.8);}
nav .website-logo-wrapper {background: rgb(15, 58, 107); padding: 10px; height: 40px; width: 40px; display: inline-block; border-radius: 50%; cursor: pointer; position: relative; border: 1px solid rgba(255, 255, 255, 0.5); transition: .2s ease;}
nav .website-logo-wrapper:hover {transform: scale(1.065); background: rgb(22,86,159)}
nav .website-logo-wrapper:active {transform: scale(1); background: rgb(15, 58, 107)}
nav .website-logo {transform-origin: center 30%; width: 40px; height: 40px;}
nav .website-logo-wrapper:hover .website-logo {animation: logoHover .5s}
nav .website-logo .st0 {fill: white;}
nav .website-logo .st1 {fill: #678FB4;}
nav .website-logo .st2 {fill: #507EA2;}
nav .website-logo .st3 {fill: #BAD9A4;}
nav .website-logo .st4 {fill: #A3C48F;}
nav .website-logo .st5 {fill: #89B792;}
nav .website-logo .st6 {fill: #81B28D;}
nav .hamburger-button {height: 60px; width: 60px; position: absolute; right: 15px; top: 10px; vertical-align: text-bottom; background: rgb(15, 58, 107); border-radius: 50vw; border: 1px solid rgba(255, 255, 255, 0.3); transition: .2s ease;}
nav .hamburger-button:hover {transform: scale(1.065); background: rgb(22,86,159)}
nav .hamburger-button:active, nav .hamburger-button:focus {transform: scale(1); background: rgb(15, 58, 107)}
@media (hover: none) {
	nav .hamburger-button:hover {transform: scale(1); background: rgb(15, 58, 107)}
}

nav .nav-menu {display: none; position: absolute;}
nav .nav-menu a {font-weight: bold; transition: .2s ease-in-out; font-size: 18px; padding: 10px 15px; line-height: 40px; vertical-align: middle;}
nav a {display: inline-block;}
.hamburger-new {display: inline-block; height: 35px; width: 25px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.hamburger-bun {background-color: white; position: absolute; height: 3px; width: 100%; transition: .2s  ease-in-out; border-radius: 50vh;}
.hamburger-bun:nth-of-type(1) {top: 8px;}
.hamburger-bun:nth-of-type(2) {top: 16px;}
.hamburger-bun:nth-of-type(3) {top: 24px;}
#hamburger.close .hamburger-bun:nth-of-type(1) {top: 16px; transform: rotate(45deg);}
#hamburger.close .hamburger-bun:nth-of-type(2) {top: 16px; opacity: 0;}
#hamburger.close .hamburger-bun:nth-of-type(3) {top: 16px; transform: rotate(-45deg);}
nav .nav-phone {display: none;}
nav #more-menu-container, nav #more-menu-container.visible {display: none;}

.mobile-menu {z-index: 250; position: fixed; top: 70px; right: 0; bottom: 25px; left: 0; padding: 22px 15px 0; height: 0; overflow-x: hidden; box-sizing: border-box; transition: .3s ease-out; opacity: 0;}
.mobile-menu.open {height: calc(100% - 110px); padding: 10px 15px 0; opacity: 1;}
.mobile-menu a {border-radius: 30px; padding: 10px 13px; display: block; text-decoration: none; font-weight: bold; color: rgb(186 217 164); background: rgb(15, 58, 107); border: 1px solid rgba(255, 255, 255, 0.5); font-size: 16pt; margin: 6px 0; width: fit-content;}
.mobile-menu a:active {background: rgb(22,86,159);}
.mobile-menu a.active {padding: 10px 13px; color: rgb(186 217 164); background: rgb(22,86,159); text-decoration: underline; border: 1px solid rgba(255,255,255,0.15);}

main {background: white}
.wrapper:not(#homepage-content .wrapper) {padding: 80px 15px 15px; max-width: 1400px; margin: auto;}
.wrapper.homepage {padding: 10px 15px 15px !important;}
h1 {margin: 15px auto; transition: .2s ease-in-out;}
pre {background: gainsboro; padding: 10px; border-radius: 10px; white-space: pre-wrap; border: 1px solid white;}
.no-margin {margin: 0;}

/* Home */
#homepage-content .homepage-content-element:last-of-type {margin-bottom: 10px;}
#homepage-content .homepage-content-element h1 {margin: 25px 0;}
#homepage-content .homepage-content-element .text-container {padding: 0;}
#homepage-content .homepage-content-element .text-container p:first-of-type {margin-top: 0;}
#homepage-content .homepage-content-element .text-container p:last-of-type {margin-bottom: 0;}
#homepage-content .homepage-content-element .grid-list {margin: 0;}
#homepage-content .homepage-content-element .section-see-more {display: inline-block; margin-top: 15px; padding: 10px 15px; border-radius: 50vh; background: rgb(186 217 164); border: 1px solid rgba(0,0,0,0.07); color: rgb(15, 58, 107); transition: .2s ease; font-weight: bold; font-size: 17px;}
#homepage-content .homepage-content-element .section-see-more:hover {background: rgba(186, 217, 164, 0.8); transform: scale(1.065);}
#homepage-content .homepage-content-element .section-see-more:active {background: rgba(186, 217, 164, 0.6);}
#homepage-content .homepage-content-element div.blog-list {margin: 0;}

/* Heading*/
.carousel {height: 450px; overflow: hidden; position: relative; border-radius: 40px; background: white;}
.carousel .arrow-prev {left: 10px;}
.carousel .arrow-next {right: 10px;}
.carousel .carousel-item {position: relative; width: 100%; height: 100%; border-radius: 40px; position: absolute; left: 0; display: block;}
.carousel .carousel-item img {width: 100%; height: 100%; object-fit: cover;}
.carousel-heading {position: absolute; bottom: 10px; left: 10px; right: 10px; cursor: pointer; transition: .3s ease-in-out; width: fit-content; border-radius: 50vh; border: 1px solid rgba(255, 255, 255, 0.25)}
.carousel-heading-container {transition: .2s ease-in-out; background: rgb(15, 58, 107); padding: 12px 20px; border-radius: 50vh; display: inline-block;}
.carousel-heading-container p {margin: 0; font-weight: bold; font-size: 20px; color: rgb(186 217 164); transition: none;}
.carousel-heading-container:hover {background: rgb(22,86,159);}
.carousel-heading-container:hover p {color: white;}
.carousel-heading-container:active {background: rgb(15, 58, 107)}

.mini-items-heading-parent {transition: .2s ease-in-out;}
.mini-items-heading {position: relative; grid-template-columns: repeat(auto-fill, minmax(0, 100%)); gap: 12px; grid-gap: 12px; display: grid; margin: 12px 0 0;}
.mini-items-heading div {position: relative; cursor: pointer; overflow: hidden; border-radius: 10px;}
.mini-items-heading a {text-decoration: none;}
.mini-items-heading div .content {position: relative; height: 100%; width: 100%; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); z-index: 2; border-radius: 10px; box-sizing: border-box; padding: 22px; color: white; font-weight: bold; font-size: 22px; transition: .2s ease-in-out; overflow: hidden;}
.mini-items-heading div .content .background-text {display: block; position: absolute; top: -25px; margin: 0; left: -10px; font-size: 110px; overflow: hidden; white-space: nowrap; animation: backgroundTextResize 100s; animation-fill-mode: forwards; text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 10px; -webkit-text-stroke: 1px black;}
.mini-items-heading div .content:hover {background: rgba(0, 0, 0, 0.43);}
.mini-items-heading div .content:active {background: rgba(0, 0, 0, 0.37);}
.mini-items-heading div img {position: absolute; top: 0; object-fit: cover; height: 100%; width: 100%; border-radius: 10px;  transition: .4s ease;}
.mini-items-heading div:hover img {transform: scale(1.07);}

/* Buttons*/
.button-generic {color: rgb(15, 58, 107) !important; background: rgb(186 217 164); text-decoration: none; padding: 10px 20px; border-radius: 50vh; box-sizing: border-box; display: inline-block; position: relative; line-height: normal; transition: .2s ease-in; border: 1px solid rgba(0, 0, 0, 0.07); font-size: 17px; cursor: pointer; font-weight: bold;}
.button-generic:hover {background: rgba(186, 217, 164, 0.8); transform: scale(1.065);}
.button-generic:active {background: rgba(186, 217, 164, 0.6);}
.button-generic:after {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; border-radius: 50vh; 
  -webkit-box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.2); box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.2);}
.link, .link-button, .link-button:visited {text-decoration: none; color: #0074D9; cursor: pointer !important;}
.link-underlined{color: #0074D9;}
.link:hover, .link-button:hover, .link-underlined:hover {color: #0066c0;}
.link:active, .link-button:active, .link-underlined:active {color: #0059a6;}
.link:visited, .link-underlined:visited {color: #004b8d;}
.strong {font-weight: bold;}

/* Grid*/
div.grid-list {margin: 30px auto 15px; z-index: 1; display: grid; grid-template-columns: repeat(auto-fill, minmax(0, 100%)); gap: 15px; grid-gap: 15px; transition: .2s ease-in-out;}
div.grid-list .list-item {position: relative; display: inline-block; vertical-align: top; width: 100%; transition: .3s ease-in-out;}
div.grid-list .list-item:hover, div.gallery-grid-list .list-item:hover {transform: scale(1.015);}
div.grid-list .list-item:hover .grid-list-item-img img {transform: scale(1.06);}
div.grid-list .list-item:hover .empty-img img {transform: translate(-50%, -50%) scale(1.15);}
div.grid-list .list-item:hover .grid-list-item-title {transform: scale(1.03);}
div.grid-list .list-item img {height: 200px; width: 100%; object-fit: cover; filter: none; transform: scale(1.01); transition: transform 0.4s cubic-bezier(0, 0.45, 0.6, 0.97); position: relative;}
div.grid-list .list-item .grid-list-item-img, div.grid-list .empty-img {position: relative; height: 200px; box-sizing: border-box; max-width: 100%; max-height: 100%; border-radius: 40px; overflow: hidden; transition: .2s ease-in-out; border: 1px solid rgba(0,0,0,0.3);}
div.grid-list .empty-img img {margin: auto; width: 60px !important; height: 60px !important; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); filter: brightness(0.9);}
div.grid-list .empty-img {position: relative; height: 200px; background: #1a1a1a;}
div.grid-list .list-item .grid-list-item-title {position: relative; margin: 0; color: rgb(15, 58, 107); padding: 10px 20px; transition: .2s ease-in-out; font-size: 21px;     display: block; margin-top: 10px; justify-self: center; text-align: center;}
div.grid-list .list-item a {text-decoration: none; display: block;}
.image-gradient {background: linear-gradient(
  hsl(0, 0%, 0%) 0%,hsla(0, 0%, 0%, 0.738) 19%,hsla(0, 0%, 0%, 0.541) 34%,hsla(0, 0%, 0%, 0.382) 47%,hsla(0, 0%, 0%, 0.278) 56.5%,hsla(0, 0%, 0%, 0.194) 65%,hsla(0, 0%, 0%, 0.126) 73%,hsla(0, 0%, 0%, 0.075) 80.2%,hsla(0, 0%, 0%, 0.042) 86.1%,hsla(0, 0%, 0%, 0.021) 91%,hsla(0, 0%, 0%, 0.008) 95.2%,hsla(0, 0%, 0%, 0.002) 98.2%,hsla(0, 0%, 0%, 0) 100%);
  position: absolute; width: 100%; height: 37%; bottom: -1px; z-index: 10; transform: rotate(180deg);}

/* Gallery */
div.gallery-grid-list {grid-template-columns: repeat(auto-fill, minmax(0, calc(50% - 4px))); gap: 8px 8px; grid-gap: 8px 8px; margin: 30px auto 15px; z-index: 1; display: grid; transition: .2s ease-in-out;}
div.gallery-grid-list .list-item {background: black; position: relative; display: inline-block; vertical-align: top; border-radius: 14px; width: 100%; transition: .3s ease-in-out; height: fit-content; aspect-ratio: 1; cursor: pointer;}
div.gallery-grid-list .list-item:hover .item-img img {transform: scale(1.06);}
div.gallery-grid-list .list-item img {width: 100%; display: block; object-fit: cover; filter: none; transform: scale(1.01); transition: transform 0.4s cubic-bezier(0, 0.45, 0.6, 0.97); position: relative; aspect-ratio: 1;}
div.gallery-grid-list .list-item .item-img {position: relative; box-sizing: content-box; max-width:100%; max-height:100%; border-radius: 12px; overflow: hidden; -webkit-mask-image: -webkit-radial-gradient(white, black); transition: .2s ease-in-out;}
.image-gradient {background: linear-gradient(
  hsl(0, 0%, 0%) 0%,hsla(0, 0%, 0%, 0.738) 19%,hsla(0, 0%, 0%, 0.541) 34%,hsla(0, 0%, 0%, 0.382) 47%,hsla(0, 0%, 0%, 0.278) 56.5%,hsla(0, 0%, 0%, 0.194) 65%,hsla(0, 0%, 0%, 0.126) 73%,hsla(0, 0%, 0%, 0.075) 80.2%,hsla(0, 0%, 0%, 0.042) 86.1%,hsla(0, 0%, 0%, 0.021) 91%,hsla(0, 0%, 0%, 0.008) 95.2%,hsla(0, 0%, 0%, 0.002) 98.2%,hsla(0, 0%, 0%, 0) 100%);
  position: absolute; width: 100%; height: 37%; bottom: -1px; z-index: 10; transform: rotate(180deg);}

/* Blog*/
div.blog-list {margin: 30px auto 15px; z-index: 1; transition: .2s ease-in-out;}
div.blog-list .list-item {position: relative; background: white; border-radius: 30px; z-index: 0; margin: auto auto 15px; max-width: 600px;}
div.blog-list .list-item::after {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; border-radius: 20px;}
div.blog-list .list-item a {text-decoration: none;}
div.blog-list .list-item .link-button {position: absolute; bottom: 20px; z-index: 11; padding: 7.2px 12.2px; border-radius: 10px; background: white; border: 1px solid rgba(0,0,0,0.1);}
div.blog-list .list-item .list-item-img {object-fit: cover; height: 230px; width: calc(100% - 40px); display: inline-block; margin: 20px;}
div.blog-list .list-item img {height: 100%; width: 100%; border-radius: 10px; object-fit: cover; transition: transform 0.4s cubic-bezier(0, 0.45, 0.6, 0.97);}
div.blog-list .list-item img:hover {transform: scale(1.02);}
div.blog-list .list-item .list-item-info {display: inline-block; vertical-align: top; margin: 0 20px 20px;}
div.blog-list .list-item.imageless .list-item-info {margin: 20px !important;}
div.blog-list h3 {display: block; margin: 8px 0 0; font-size: 20px;}
div.blog-list .date {display: block; margin: 7px 0;}
div.blog-list .list-item .blog-intro-gradient-wrapper {position: relative; overflow: hidden;}
.text-intro {margin: 17px 0 10px; cursor: default;}
.blog-gradient {background: linear-gradient(
	hsl(0, 0%, 100%) 11%,hsla(0, 0%, 100%, 0.738) 40%,hsla(0, 0%, 100%, 0.541) 50%,hsla(0, 0%, 100%, 0.382) 55%,hsla(0, 0%, 100%, 0.278) 60%,hsla(0, 0%, 100%, 0.194) 65%,hsla(0, 0%, 100%, 0.126) 73%,hsla(0, 0%, 100%, 0.075) 80.2%,hsla(0, 0%, 100%, 0.042) 86.1%,hsla(0, 0%, 100%, 0.021) 91%,hsla(0, 0%, 100%, 0.008) 95.2%,hsla(0, 0%, 100%, 0.002) 98.2%,hsla(0, 0%, 100%, 0) 100%);
	position: absolute; width: 100%; height: 100%; bottom: 0; z-index: 10; transform: rotate(180deg);}

/* Reviews */
div.reviews-list {margin: 30px auto 15px; z-index: 1; transition: .2s ease-in-out; display: grid; gap: 10px;}
div.reviews-list .list-item {position: relative; background: white; border-radius: 40px; z-index: 0; margin: auto auto; border: 1px solid rgba(0,0,0,0.2);}
div.reviews-list .list-item::after {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; border-radius: 20px;}
div.reviews-list .list-item a {text-decoration: none;}
div.reviews-list .list-item .link-button {position: absolute; bottom: 20px; z-index: 11; padding: 7.2px 12.2px; border-radius: 10px; background: white; border: 1px solid rgba(0,0,0,0.1);}
div.reviews-list .list-item .list-item-img {object-fit: cover; height: 230px; width: calc(100% - 40px); display: inline-block; margin: 20px;}
div.reviews-list .list-item img {height: 100%; width: 100%; border-radius: 10px; object-fit: cover; transition: transform 0.4s cubic-bezier(0, 0.45, 0.6, 0.97);}
div.reviews-list .list-item img:hover {transform: scale(1.02);}
div.reviews-list .list-item .list-item-info {display: inline-block; vertical-align: top; margin: 0 20px 20px;}
div.reviews-list .list-item .list-item-info .review-stars img {width: 20px;}
div.reviews-list .list-item.imageless .list-item-info {margin: 25px;}
div.reviews-list h3 {display: block; margin: 12px 0 0; font-size: 24px;}
div.reviews-list .date {display: block; margin: 0 0 20px;}
.text-intro {margin: 17px 0 10px; cursor: default;}

/* Images*/
.images-module-container {position: relative; width: 100%; max-width: 620px; margin: 15px 0 0; display: inline-block;}
.image-module-element {display: none;}
.images-wrapper {position: relative; width: 100%; min-height: 310px; aspect-ratio: 16/9; border-radius: 30px; cursor: pointer; overflow: hidden;}
.images-wrapper .image-module-element {position: absolute; width: 100%; height: 100%; object-fit: cover; display: block;}
.arrow-prev, .arrow-next {position: absolute; height: 25px; padding: 13px; background: rgba(0,0,0,0.7); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-radius: 40px; top: 50%; transform: translateY(-50%); cursor: pointer; transition: .2s ease-in-out; z-index: 5; border: 1px solid rgba(255, 255, 255, 0.25);}
.arrow-prev:hover, .arrow-next:hover, .viewer.close:hover {background: rgba(20, 20, 20, 0.5);}
.arrow-prev:active, .arrow-next:active .viewer.close:hover {background: rgba(0,0,0,0.4);}
.images-wrapper .arrow-prev {left: 10px;}
.images-wrapper .arrow-next {right: 10px;}
.image-selectors {margin: 1px 5px;}
.carousel-image-selectors {margin: 1px 5px -8px;}
.selector-dot {width: 30px; height: 8px; border-radius: 4px; background: rgba(0, 0, 0, 0.8); display: inline-block; cursor: pointer; margin-top: 6px;}
.selector-dot:hover {background: rgba(0, 0, 0, 0.6);}
.selector-dot:active {background: rgba(0, 0, 0, 0.5);}
.selector-dot.active {background: rgba(0, 0, 0, 0.4);}

/* Text Container*/
.text-container {max-width: 1100px; padding: 5px 0 0;}
.text-container a {color: #0066c0; font-weight: bold;}
.text-container p, .text-container p .ql-size-normal {font-size: 17px; min-height: 1px;}
.text-container p .ql-size-tiny {font-size: 10px;}
.text-container p .ql-size-small {font-size: 14px;}
.text-container p .ql-size-large {font-size: 24px;}
.text-container p .ql-size-huge {font-size: 36px;}
.text-container h1, .text-container h1 .ql-size-normal {font-size: 32px;}
.text-container h1 .ql-size-tiny {font-size: 18px;}
.text-container h1 .ql-size-small {font-size: 26px;}
.text-container h1 .ql-size-large {font-size: 36px;}
.text-container h1 .ql-size-huge {font-size: 42px;}
.text-container h2, .text-container h2 .ql-size-normal {font-size: 26px;}
.text-container h2 .ql-size-tiny {font-size: 16px;}
.text-container h2 .ql-size-small {font-size: 22px;}
.text-container h2 .ql-size-large {font-size: 32px;}
.text-container h2 .ql-size-huge {font-size: 36px;}
.text-container h3, .text-container h3 .ql-size-normal {font-size: 22px;}
.text-container h3 .ql-size-tiny {font-size: 14px;}
.text-container h3 .ql-size-small {font-size: 18px;}
.text-container h3 .ql-size-large {font-size: 26px;}
.text-container h3 .ql-size-huge {font-size: 32px;}
.text-container h4, .text-container h4 .ql-size-normal {font-size: 18px;}
.text-container h4 .ql-size-tiny {font-size: 12px;}
.text-container h4 .ql-size-small {font-size: 14px;}
.text-container h4 .ql-size-large {font-size: 22px;}
.text-container h4 .ql-size-huge {font-size: 26px;}

.text-container table {border-collapse: collapse; border: none !important; display: block; overflow: auto; max-width: fit-content;}
.text-container table th, .text-container table td {border: 1px solid #C3C3C3 !important;}
.text-container table tr:nth-child(even) {background: rgba(0, 0, 0, 0.04);}
.text-container table td {padding: 10px 12px;}
.text-container img {width: 100%; max-width: 500px; border-radius: 10px;}

.cookie-settings {margin-top: 30px;}

/* Image- Viewer*/
#image-viewer {display: none;}
.viewer-image {display:none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 101; max-width: calc(100% - 40px); max-height: calc(100% - 140px); border-radius: 10px;}
.image-viewer-controls {z-index: 101; position: fixed; background: rgba(0, 0, 0, 0.8); border-radius: 12px; top: 10px; right: 10px; padding: 3px 3px 0 3px}
.image-viewer-controls .arrow-prev, .image-viewer-controls .arrow-next {border: none;}
.viewer.close {position: fixed; z-index: 101; height: 25px; padding: 13px; background: rgba(0,0,0,0.7); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-radius: 40px; top: 15px; right: 15px; cursor: pointer; transition: .2s ease-in-out;}
.viewer.arrow-prev, .viewer.arrow-next, .image-viewer-controls .viewer.close {height: 22px; padding: 10px; position: relative; display: inline-block; transform: none; top:0; left: 0; right: 0; background: rgba(255, 255, 255, 0.03);}
.viewer.arrow-prev:hover, .viewer.arrow-next:hover, .image-viewer-controls .viewer.close:hover {background: rgba(255, 255, 255, 0.1);}
.viewer.arrow-prev:active, .viewer.arrow-next:active, .image-viewer-controls .viewer.close:active {background: rgba(255, 255, 255, 0.15);}

/* Popup- General*/
.popup-background {width: 100%; height: 100vh; position: fixed; display: block; z-index: 100; background:rgba(0, 0, 0, 0.1); backdrop-filter: blur(0px); -webkit-backdrop-filter: blur(0px); top: 0; left: 0; animation: dimAndBlur .4s; animation-fill-mode: forwards;}

/* Popup - Small*/
.popup-small {position: fixed; z-index: 101; background: white; border-radius: 30px; top: 50%; left: 50%; transform: translate(-50%, -50%); overflow: hidden; text-align: center; width: 90%; max-width: 400px; box-sizing: border-box; padding: 25px; will-change: transform, opacity; animation: popupLoad .5s; animation-fill-mode: forwards;}
#cookies-popup h3 {margin-top: 5px;}
#cookies-popup p {margin-bottom: 22px;}
#cookies-popup .cookies-learn-more {margin: 0 0 12px; font-weight: bold; display: block;}
.popup-small .button-generic {margin-top: 10px;}

/* Input*/
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active {background: transparent;}
.input-generic {-webkit-appearance: none; user-select: text; border: 2px solid; padding: 15px; border-radius: 30px; position: relative; border-color: white; font-size: 14px; transition: .2s ease;}
.input-generic:after {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; border-radius: 8px; 
	-webkit-box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.2); box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.2);}
.input-generic:focus, .select-generic:focus {border-color: dodgerblue;}

/* Shadows*/
.shadow		{-webkit-box-shadow: 10px 7px 33px -6px rgba(0,0,0,0.4); -moz-box-shadow: 10px 7px 33px -6px rgba(0,0,0,0.4); box-shadow: 10px 7px 33px -6px rgba(0,0,0,0.4);}
.shadow-2	{-webkit-box-shadow: 10px 7px 33px -6px rgba(0,0,0,0.3); -moz-box-shadow: 10px 7px 33px -6px rgba(0,0,0,0.3); box-shadow: 10px 7px 33px -6px rgba(0,0,0,0.3);}
.shadow-3	{-webkit-box-shadow: 10px 7px 33px -6px rgba(0,0,0,0.2); -moz-box-shadow: 10px 7px 33px -6px rgba(0,0,0,0.2); box-shadow: 10px 7px 33px -6px rgba(0,0,0,0.2);}
.shadow-center {-webkit-box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.2); -moz-box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.2); box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.2);}
.shadow-center-strong {-webkit-box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.3); -moz-box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.3); box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.3);}
.shadow-input {-webkit-box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.2); -moz-box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.2); box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.2);}
.shadow-box:after {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; border-radius: 9px; 
  -webkit-box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.2); -moz-box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.2); box-shadow: 0px 0px 17px 0px rgba(0,0,0,0.2);}

/* Footer*/
footer {padding: 10px 15px 40px; background: white; max-width: 1400px; margin: auto;}
footer p, footer .copyright-info a, footer .copyright-info a:link, footer .copyright-info a:visited, footer .copyright-info:hover a, footer .copyright-info a:active {color: rgb(15, 58, 107); font-size: 16px;}
.footer-items {display: block; margin: -3px; font-size: 0;}
.footer-items .footer-link-button {border-radius: 50vh; display: inline-block; color: rgb(15, 58, 107); padding: 8px 12px; border: 1px solid rgba(0, 0, 0, 0.07); margin: 3px; transition: .2s ease; background: #BAD9A4; text-decoration: none; font-size: 16px; line-height: 16px;}
.footer-items .footer-link-button:hover {background: rgba(186, 217, 164, 0.8); transform: scale(1.065);}
.footer-social-icons {display: inline-block; margin: -3px -3px 6px -3px; font-size: 0;} 
.footer-social-icon {background: rgb(15, 58, 107); border-radius: 50vh; display: inline-block; padding: 8px; border: 1px solid rgba(255, 255, 255, 0.5); margin: 3px; transition: .2s ease;}
.footer-social-icon, .footer-social-icon img {height: 16px;}
.footer-social-icon p {display: inline-block; margin: 0; color: #BAD9A4; font-weight: bold; vertical-align: top; margin-left: 6px; font-size: 16px; height: 16px; line-height: 16px;}
.footer-social-icon:hover {background: rgb(22,86,159); margin: 0px; padding: 11px;}
.footer-social-icon:hover img {filter: brightness(0) invert(1);}
.footer-social-icon:hover p {color: white;}
footer .copyright-info {margin: 15px 0 0 0;}
/* TEMPLATES */

/* Logos */
.logos-list {overflow: hidden; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 30px; justify-items: center; align-items: center;}
.logos-list .list-item {height: 150px; width: fit-content; display: inline-block;}
div.logos-list .list-item .item-img, div.logos-list a {height: 150px;}
div.logos-list .list-item img {height: 150px; max-width: 150px; object-fit: contain;}

/* Contact form */
.contact-form-grid {display: grid; grid-template-columns: repeat(auto-fill, minmax(100%, 100%)); grid-gap: 30px;}
.contact-form .input-generic {margin: 5px 0; width: 100%; max-width: 500px; box-sizing: border-box;}
.contact-form textarea.input-generic {height: 200px; resize: none;}
.contact-form #submit {margin: 10px 0 15px;}
.contact-form small {color: gray;}
.contact-form small a {color: #0066c0; font-weight: bold;}
.contact-form-text-container {padding: 0;}
.contact-form-text-container *:first-child {margin-top: 0;}

/* Documentation */
.side-section-list {margin: 5px 0 20px;}
.side-section-list h2 {display: none;}
.side-section-list a {color: #0074D9; text-decoration: none; font-weight: bold; padding: 5px 10px; border-radius: 10px; transition: .2s ease;}
.side-section-list a:hover {color: #0066c0;}
.side-section-list a:active {color: #0059a6;}
.side-section-list .active {color: white; background: #0074D9;}
.side-section-list .active:hover {color: white; background: #0066c0;}
.side-section-list .active:active {color: white; background: #0059a6;}

/* Other */
.hidden {display: none;}
.h0 {height: 0px !important;}
.w0 {width: 0px !important;}
.h0, .w0 {margin: 0px !important; padding: 0px !important; border: 0px !important; display: block !important;}
.grecaptcha-badge {border-radius: 10px !important; box-shadow: none !important; visibility: hidden;}

/* Animations */
@keyframes dimAndBlur {
	0% {background:rgba(0, 0, 0, 0.1); -webkit-backdrop-filter: blur(0px); backdrop-filter: blur(0px);}
	100% {background:rgba(0, 0, 0, 0.7); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);}
}
@keyframes popupLoad {
	0% {transform: translate(-50%, -50%) scale(.4) translateY(-10%);}
	100% {transform: translate(-50%, -50%) scale(1) translateY(0);}
}
@keyframes backgroundTextResize {
	0% {transform: scale(1); opacity: 0.06;}
	50% {opacity: 0.06;}
	100% {transform: scale(2); opacity: 0;}
}
@keyframes backgroundImageResize {
	0% {transform: scale(1);}
	100% {transform: scale(1.2);}
}
@keyframes logoHover {
	0% {transform: rotate(0);}
	20% {transform: rotate(30deg);}
	60% {transform: rotate(-15deg);}
	100% {transform: rotate(0);}
}

/* Media Query*/
@media screen and (min-width: 350px) {
	div.grid-list .list-item img {height: 250px;}
	div.grid-list .list-item .grid-list-item-img, div.grid-list .empty-img {height: 250px;}
}

@media screen and (min-width: 460px) {
	.mini-items-heading {grid-template-columns: repeat(auto-fill, minmax(0, calc(50% - 6px))); margin: 12px 0 0;}
}

@media screen and (min-width: 530px) {
	div.grid-list {grid-template-columns: repeat(auto-fill, minmax(0, calc(50% - 5px))); gap: 10px 8px; grid-gap: 15px 10px;}
}

@media screen and (min-width: 600px) {
	div.blog-list .list-item .list-item-img {height: 230px; width: 230px;}
	div.blog-list .list-item .list-item-info {margin: 20px 20px 20px 0; width: calc(100% - 295px);}
	div.blog-list .list-item.imageless .list-item-info {width: calc(100% - 40px);}
	div.blog-list .list-item .blog-intro-gradient-wrapper {max-height: 174px; box-sizing: border-box; border-radius: 11px;}

	div.reviews-list {gap: 16px;}
	div.reviews-list .list-item .list-item-img {height: 230px; width: 230px;}
	div.reviews-list .list-item .list-item-info {margin: 20px 20px 20px 0; width: calc(100% - 295px);}
	div.reviews-list .list-item.imageless .list-item-info {margin: 40px; width: calc(100% - 80px);}
}

@media screen and (min-width: 700px) {
	/* Contact form */
	.contact-form-grid {grid-template-columns: repeat(auto-fill, minmax(0, calc(50% - 25px))); max-width: 1000px; gap: 50px; padding: 20px 0;}
	.contact-form-grid form, .contact-form-grid .contact-form-text-container {display: inline-block;}
	.text-container table td {padding: 10px 20px;}
}

@media screen and (min-width: 960px) {
}