/*
* Breakpoints
*/
$breakpoints: (
'thumb': 'screen and (min-width: 480px)', //sm - tailwind
'lap': 'screen and (min-width: 768px)', //md - tailwind
'desk': 'screen and (min-width: 992px)', //lg - tailwind
'widescreen': 'screen and (min-width: 1280px)', //xl - tailwind
'widescreen-4k': 'screen and (min-width: 1536px)', //2xl - tailwind
);
@mixin mq($alias) {
// Search breakpoint map for alias
$query: map-get($breakpoints, $alias);
// If alias exists, print out media query
@if $query {
@media #{$query} {
@content;
}
} @else {
@error 'No breakpoint found for #{$alias}';
}
}
body {
// overflow: clip;
&::before {
content: 'thumb';
display: none;
visibility: hidden;
@include mq(lap) {
content: 'lap';
}
@include mq(desk) {
content: 'desk';
}
@include mq(widescreen) {
content: 'widescreen';
}
@include mq(widescreen-4k) {
content: 'widescreen-4k';
}
}
}
// -----------------------------------
/* Accessibility */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width:0;
color: #000;
}
.sr-only:focus {
position: static;
width: auto;
height: auto;
padding: 0;
margin: 0;
overflow: visible;
clip: auto;
white-space: normal;
border: solid 1px black;
position: absolute;
top: 0;
left: 0;
z-index: 999;
}
/* Set color style to inherit */
.inherit-color * {
color: inherit;
}
/* Focus state style for keyboard navigation for the focusable elements */
*[tabindex]:focus-visible,
input[type="file"]:focus-visible {
outline: 0.125rem solid #4d65ff;
outline-offset: 0.125rem;
}
/* Prevent all click and hover interaction with an element */
.pointer-events-off {
pointer-events: none;
}
/* Enables all click and hover interaction with an element */
.pointer-events-on {
pointer-events: auto;
}
/* Create a class of .div-square which maintains a 1:1 dimension of a div */
.div-square::after {
content: "";
display: block;
padding-bottom: 100%;
}
/* Make sure containers never lose their center alignment */
.container-medium,.container-small, .container-large {
margin-right: auto !important;
margin-left: auto !important;
}
/*
Make the following elements inherit typography styles from the parent and not have hardcoded values.
Important: You will not be able to style for example "All Links" in Designer with this CSS applied.
Uncomment this CSS to use it in the project. Leave this message for future hand-off.
*/
/*
a,
.w-input,
.w-select,
.w-tab-link,
.w-nav-link,
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
color: inherit;
text-decoration: inherit;
font-size: inherit;
}
*/
/* Apply "..." after 3 lines of text */
.text-style-3lines {
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
/* Apply "..." after 2 lines of text */
.text-style-2lines {
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
/* Adds inline flex display */
.display-inlineflex {
display: inline-flex;
}
/* These classes are never overwritten */
.hide {
display: none !important;
}
@media screen and (max-width: 991px) {
.hide, .hide-tablet {
display: none !important;
}
}
@media screen and (max-width: 767px) {
.hide-mobile-landscape{
display: none !important;
}
}
@media screen and (max-width: 479px) {
.hide-mobile{
display: none !important;
}
}
.margin-0 {
margin: 0rem !important;
}
.padding-0 {
padding: 0rem !important;
}
.spacing-clean {
padding: 0rem !important;
margin: 0rem !important;
}
.margin-top {
margin-right: 0rem !important;
margin-bottom: 0rem !important;
margin-left: 0rem !important;
}
.padding-top {
padding-right: 0rem !important;
padding-bottom: 0rem !important;
padding-left: 0rem !important;
}
.margin-right {
margin-top: 0rem !important;
margin-bottom: 0rem !important;
margin-left: 0rem !important;
}
.padding-right {
padding-top: 0rem !important;
padding-bottom: 0rem !important;
padding-left: 0rem !important;
}
.margin-bottom {
margin-top: 0rem !important;
margin-right: 0rem !important;
margin-left: 0rem !important;
}
.padding-bottom {
padding-top: 0rem !important;
padding-right: 0rem !important;
padding-left: 0rem !important;
}
.margin-left {
margin-top: 0rem !important;
margin-right: 0rem !important;
margin-bottom: 0rem !important;
}
.padding-left {
padding-top: 0rem !important;
padding-right: 0rem !important;
padding-bottom: 0rem !important;
}
.margin-horizontal {
margin-top: 0rem !important;
margin-bottom: 0rem !important;
}
.padding-horizontal {
padding-top: 0rem !important;
padding-bottom: 0rem !important;
}
.margin-vertical {
margin-right: 0rem !important;
margin-left: 0rem !important;
}
.padding-vertical {
padding-right: 0rem !important;
padding-left: 0rem !important;
}
/* Apply "..." at 100% width */
.truncate-width {
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* Removes native scrollbar */
.no-scrollbar {
-ms-overflow-style: none;
overflow: -moz-scrollbars-none;
}
.no-scrollbar::-webkit-scrollbar {
display: none;
}
/*
** Nav Styles
*/
@media screen and (min-width: 992px) {
.secondary-nav {
visibility: hidden;
opacity: 0;
transition: opacity .3s ease;
}
.nav_item:hover .secondary-nav,
.nav_item:focus-within .secondary-nav {
visibility: visible;
opacity: 1;
}
.nav_link.w--current + .nav_dropdown-icon {
color: var(--text-color--text-secondary);
}
.nav_dropdown-icon {
transition: transform .3s ease;
}
.nav_item:hover .nav_dropdown-icon,
.nav_item:focus-within .nav_dropdown-icon {
transform: rotateZ(180deg);
}
.secondary-nav_link:hover .secondary-nav_title,
.secondary-nav_link:focus .secondary-nav_title {
// color: var(--text-color--text-secondary);
}
}
.nav_dropdown-btn .nav_dropdown-icon {
transition: transform .3s ease;
}
.nav_dropdown-btn.is-active .nav_dropdown-icon {
transform: rotateZ(180deg);
}
@media screen and (max-width: 991px) {
.secondary-nav_link:hover .secondary-nav_title,
.secondary-nav_link:focus .secondary-nav_title {
// color: #fff;
}
}
.nav_btb-icon {
transition: transform .2s ease;
}
.nav_link.w--current {
color: var(--base-color-brand--secondary);
}
.nav_btn.w-nav-button.w--open {
.nav_btn-text.is-close {
display: block;
}
.nav_btn-text.is-open {
display: none;
}
.nav_btb-icon {
transform: rotateZ(45deg)
}
}
/*
** Overlays
*/
.background-overlay {
background: linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.52) 84%, rgba(0, 0, 0, 0.80) 100%);
}
/*
** Swiper
*/
.swiper.loading-nav .swiper-slide-thumb-active * {
color: #fff !important;
}
.hero-slider_nav-item {
opacity: 0;
visibility: hidden;
transition: opacity .3s ease;
}
.hero-slider_nav-item.swiper-slide-thumb-active {
opacity: 1;
visibility: visible;
}
.hero-slider_nav-item {
@include mq(lap) {
opacity: 1;
visibility: visible;
}
}
// -------- PROJECTS SECTION ----------- //
.projects_grid-cell:nth-child(odd) {
.projects_card-header {
justify-content: flex-end;
}
}
.projects_grid-cell:nth-child(even) {
.projects_card-header {
justify-content: flex-start;
}
}
.projects_grid.is-alt {
.projects_grid-cell:nth-child(odd) {
.projects_card-header {
justify-content: flex-start;
}
}
.projects_grid-cell:nth-child(even) {
.projects_card-header {
justify-content: flex-end;
}
}
}
@media screen and (max-width: 767px) {
.projects_grid-cell:nth-child(odd) {
.projects_card-header {
justify-content: space-between;
}
.projects_card-image-wrapper {
margin-left: -1.5rem;
}
}
.projects_grid-cell:nth-child(even) {
.projects_card-header {
justify-content: space-between;
}
.projects_card-image-wrapper {
margin-right: -1.5rem;
}
}
.projects_grid.is-alt {
.projects_grid-cell:nth-child(odd) {
.projects_card-image-wrapper {
margin-right: -1.5rem;
margin-left: 0;
}
}
.projects_grid-cell:nth-child(even) {
.projects_card-image-wrapper {
margin-left: -1.5rem;
margin-right: 0;
}
}
}
}
// --------------- COLLECTION ------------ //
@media screen and (max-width: 767px) {
.listing_item:nth-child(odd) {
.listing_item-image {
margin-left: 1.5rem;
}
}
.listing_item:nth-child(even) {
.listing_item-image {
margin-right: 1.5rem;
}
}
}
@include mq(lap) {
.listing_item-link {
.listing_item-image {
transition: transform, .3s ease;
}
}
.listing_item-link:hover {
.listing_item-image {
transform: scale(1.05);
}
}
}
// -------------- PROJECT META --------------
.project-meta_tags-item:last-child .project-meta_tag-comma {
display: none;
}
.projects_grid-cell:hover {
.projects_card.is-cta {
border-radius: 50%;
background: var(--base-color-brand--secondary);
.button {
color: var(--base-color-brand--white);
}
.button_arrow-wrapper {
background: var(--base-color-brand--white);
color: var(--base-color-brand--secondary);
}
}
}
// ------------ INSIGHTS ----------------
.insights_row-wrapper:hover + .insights_row-wrapper {
border-top-color: var(--base-color-brand--gray);
}
// -------------- CAREERS CUSTOM STYLING -------------
.careers_button .careers_svg.is-minus {
visibility: hidden;
position: absolute;
opacity: 0;
}
.careers_button.is-active .careers_svg.is-minus {
visibility: visible;
position: static;
opacity: 1;
}
.careers_button.is-active .careers_svg.is-plus {
visibility: hidden;
position: absolute;
opacity: 0;
}
// ------------ CONTACT --------------------
.contact_field::placeholder {
color: var(--base-color-brand--primary);
}
.contact_radio {
-webkit-appearance: auto;
appearance: auto;
}
.contact_radio:checked ~ .contact_radio-pseudo .contact_radio-pseudo-after {
background-color: var(--base-color-brand--secondary);
}
// ----------- MAP ------------
.responsive-iframe iframe {
width: 100%;
height: 100%;
}
.location_item:last-of-type .location_item-comma {
display: none;
}
/*
** Horizontal Scroller
*/
.scroll-banner_list-wrapper {
display: flex;
flex-flow: row nowrap;
align-items: center;
overflow: hidden;
}
.scroll-banner_list {
display: flex;
flex-shrink: 0;
align-items: center;
overflow: hidden;
animation: marquee 42s linear infinite;
}
.scroll-banner_item {
white-space: nowrap;
max-width: none;
}
@keyframes marquee {
0% {
transform: translate(0, 0);
}
100% {
transform: translate(-100%, 0);
}
}Skip to main content