@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');


/* -------------------- HEADER-MENU-SITE LINKS -------------------- */
/* -- header -- */
#header {
    position: sticky;
    top: 0;
    z-index: 10000;
    box-shadow: 0px 0px 3px 1px rgb(0 0 0 / 10%);
}

.sticky-footer {
    height: auto;
}


/* -- spacing of logo-menu-site links -- */
@media (min-width: 1000px) {
	.header__menu {
	    max-width: calc(100% - 400px);
	}
	
	.header__logo {
	    max-width: 150px;
	}

	.header__site-links {
	    max-width: 275px;
	}
}


/* -- scroll away sticky menu -- */
.fixed-bar, li.main-nav__item.grid__cell:nth-child(1), .fixed-social, #header .site-links__link--1 {
    display: none !important;
}


/* -- logo -- */
.logo__img {
    max-height: 45px;
}

.logo__content {
    padding: 0 !important;
}

/* -- menu -- */
.menu-layout, .header__logo-menu-site-links, .fixed-social, .header__menu-dropdown, .fixed-bar, .fixed-bar__menu-dropdown {
    background-color: var(--c-global-accent3);
}

.main-nav__item.grid__cell {
    padding: 17px 15px 0 20px;
}


/* -- menu hover -- */                                                     
.main-nav__link--is-selected, .main-nav__sub-link--is-selected, .main-nav__sub-link--is-hovered, .main-nav__link--has-open-dropdown, .main-nav__link-is-hovered, .main-nav__link--is-hovered {
    color: var(--c-global-accent2); 
}

@media (max-width: 1100px) {
	.header__menu {
	    padding-left: 0px;
	}
}


/* -- menu text style -- */
.main-nav__link-container span, .main-nav--dropdown-center .main-nav__dropdown .main-nav__sub-list .main-nav__sub-item .main-nav__sub-link, .site-links__label {
    text-decoration: none;
    font-size: 14px;
    letter-spacing: .07em;
    font-family: 'Montserrat';
    font-weight: 600 !important;
}


/* -- ddm arrow -- */
.arrow {
    fill: #000000;
    margin-left: 5px;
}

.main-nav__item.grid__cell:nth-child(2):hover .main-nav__link-container.js-toggle-main-nav-link-dropdown-state svg.arrow, .main-nav__link--is-selected .arrow {
    fill: #f09f99;
}


/* -- ddm width -- */
.main-nav__dropdown {
    white-space: nowrap;
    text-align: left;
}

.main-nav--dropdown-center .main-nav__dropdown {
    left: 100%;
    padding: 10px 20px 20px;
}


/* -- site links -- */
.site-links__link--1 {
    display: none;
}

.sites-icon--sphere:before {
    content: "\e907";
}

.site-links__content .grid--gutter-thin>.grid__cell {
    padding: 15px 0 0;
}

.site-links__content.u-margin-ultra-thin {
    margin: 10px 10px 6px 0;
}

.header__site-links {
    max-width: 290px;
}




/* -------------------- MOBILE CODE -------------------- */
@media (max-width: 999px) {
	.main-nav__item.grid__cell {
	    border-left: 0px solid;
	    text-align: center;
	    margin-top: 25px;
	}

	li.main-nav__sub-item.u-padding-bottom-thin {
	    padding-bottom: 15px;
	}
 
	.main-nav--x-align-center {
	    -webkit-justify-content: center;
	    -ms-flex-pack: center;
	    justify-content: center;
	}

	.main-nav--y-align-center .main-nav__content {
	    margin-top: 50px;
	    margin-bottom: auto;
	}

	.main-nav {
	    background-color: #ffffff;
	    margin: 0;
	    padding: 15px;
	}

	.main-nav__dropdown {
	    color: var(--c-global-siteText);
	    font-size: 17px;
	    text-align: center !important;
	}

	/* logo */
	.logo__img {
	    max-height: 40px;
	}

	#header {
	    z-index: 9999;
	}

	.menu-layout__logo.grid__cell, .logo.grid__cell {
	    padding: 7px;
	}

	/* site links */
	.site-links__link--1 {
	    display: contents;
   	    padding-top: 4px !important;
	}

	.site-links__link--2 .btn {
	    padding: 0 25px;
	    background-color: #F7F0EB;
	}

	.site-links__link--3 .btn--text {
	    padding: 0.4em 1em;
	}
	
	.site-links__content .grid--gutter-thin {
   	    margin: 0px 0 0 0px !important;
   	    -webkit-justify-content: center;
   	    -ms-flex-pack: center;
   	    justify-content: center;
   	    background-color: #F7F0EB;
	}

	.site-links.u-padding-ultra-thin {
   	    padding: 0px;
	}


	.site-links__content .grid--gutter-thin>.grid__cell {
	    padding: 8px 0;
	}


	/* ddm */
	.main-nav__dropdown, .main-nav__link--has-open-dropdown .main-nav__closed-dropdown-icon, .main-nav__opened-dropdown-icon {
	    display: contents;
	}
	.main-nav__item.grid__cell:nth-child(2) .main-nav__link {
	    display: none;
	}

	.main-nav__dropdown, .main-nav__link-container span, .main-nav--dropdown-center .main-nav__dropdown .main-nav__sub-list .main-nav__sub-item .main-nav__sub-link {
	    font-size: 20px !important;
	}

	.main-nav__dropdown .main-nav__sub-link {
	    font-weight: 600;
	    padding: 15px 0;
	}

	.main-nav__item.grid__cell:nth-child(3) {
	    margin-top: 5px;
	}

	/* social media */
	.menu-layout__social.menu-layout__non-flex-item {
	    display: none;
	}

}




/* -------------------- FOOTER -------------------- */
.sitemap-block .sitemap-block__item {
    text-transform: capitalize;
}

.footer .image-block__img {
    max-width: 175px;
}

@media (max-width: 768px) {
	/* FOOTER SITEMAP WIDTH */
	.sitemap-block .content-container__content {
	    width: 265px;
	}
	.sitemap-block__hdr {
	    margin-top: 10px;
	}

	.sitemap-block .sitemap-block__hdr {
	    font-size: 20px;
	}
}

/* social media icons */
.btn--icon .btn__content {
    line-height: normal;
}



/* -------------------- CUSTOM GLOBAL -------------------- */
/* -- scroll behavior -- */
html {
    scroll-behavior: smooth;
}


/* -- content width -- */ 
.content-container--contain .content-container__content {
    max-width: 1200px;
}

.content-container--contain.content-container--sibling-medium-up .content-container__content {
    max-width: 600px;
}



/* -- contact page --*/
.contact-page .grid .grid__cell:nth-child(2) .editor-block .block__content.content-container__content {
    border-left: 1px solid #d1d1d1;
}

@media (max-width: 768px) {
	/* CONTACT PAGE */
	.contact-page .grid .grid__cell:nth-child(1) .editor-block .block__content.content-container__content {
	    border-right: 0px solid #EBE5E1;
	}
}


/* -- mobile spacing -- */
@media (max-width: 768px) {
 	.u-padding-bottom-ultra-thin {
		padding-bottom: 10px;
    	}
	.u-padding-top-ultra-thin {
		padding-top: 10px;
	}
	.u-padding-bottom-thin {
		padding-bottom: 30px;
	}
	.u-padding-top-thin {
		padding-top: 30px;
	}
	.u-padding-bottom-medium {
		padding-bottom: 35px;
	}
	.u-padding-top-medium {
		padding-top: 35px; 
	}
	.u-padding-bottom-thick {
  		padding-bottom: 45px;
	}
	.u-padding-top-thick {
		padding-top: 45px;
	}
}





/* -------------------- CUSTOM PAGES -------------------- */
/* -- templates page -- */
/* template editor block link decoration */
.templates-page .editor-block a {
    text-decoration: none;
}

.templates-page .editor-block a:hover {
    color: var(--c-global-accent1);
}


/* -- templates image block -- */
.templates-page .images-modern-portrait-layout__info {
    top: -35px;
    bottom: auto;
    left: 0;
}

.templates-page .images-modern-portrait-layout .image-modern-layout__info {
    left: 0;
}

.templates-page .images-modern-portrait-layout .aspect-ratio--portrait {
    margin-top: 30px;
    border: 1px solid #ebe5e1;
}


.templates-page .images-modern-portrait-layout.grid--col-3-medium-up>.grid__cell .aspect-ratio--portrait img {
    border: 1px solid #ededed;
}

.templates-page .images-modern-portrait-layout__title {
    font-weight: 600;
}

.templates-page .images-modern-portrait-layout .last-item__link p {
    text-align: center;
    font-size: 24px;
    font-weight: 600;
    padding-bottom: 30px;
}

.templates-page .list-block .block__content.content-container__content, .service-page .images-block .block__content.content-container__content, .templates-page .images-block .block__content.content-container__content {
    padding: 30px;
}





/* -------------------- CUSTOM BLOCKS -------------------- */
/* -- EDITOR -- */
@media (max-width: 768px) {
	.editor-block__title, .text-image-block__title, .text-image-block__title, .title-block__title {
	    font-size: calc(20px * var(--ff-global-title-multiplier) * var(--fs-global-title-user-multiplier)) !important;
	}
	.editor-block__title, .text-image-block__title {
	    font-size: 30px;
	}
}


/* -- LIST -- */
/* -- image border text bottom */
.list-text-block-layout--block .list-text-block-layout__contentWrap {
    margin: 5px;
    border-radius: 23px;
}

.list-text-block-layout__title {
    font-size: 32px;
    Font-weight: 600;
}


/* -- badges -- */
.list-editorial-layout .aspect-ratio.aspect-ratio--badge {
    width: 125px;
    height: 125px;
}


/* -- circle overlay top -- */
.list-text-block-layout--circles h2 {
    margin-bottom: -20px;
}


/* -- editorial square - text design -- */
.list-editorial-layout--square .list-editorial-layout__info {
    margin: 20px 0;
}

.list-editorial-layout--square .list-editorial-layout__info h3 {
    font-weight: 500;
}

.list-editorial-layout--square .list-editorial-layout__info-item~.list-editorial-layout__info-item {
    margin-top: 10px;
    font-style: italic;
}

.list-editorial-layout__title {
    font-weight: 600;
}


/* -- BANNER -- */
/* -- banner controls -- */
.banner-block .gallery__arrow {
    display: none;
}

.gallery--full-screen-mode .gallery__caption-bg {
    display: none
}


/* -- banner hero concept -- */
@media (min-width: 1000px) { 
	.grid__cell:nth-child(1) .banner-block .banner-classic-medium-layout .gallery__caption {
	    width: 50%;
	}
    
	.gallery__caption-item.gallery__title.u-contain-text {
        line-height: 65px;
        margin-bottom: 15px;
    }
}

@media (max-width: 768px) {
	.grid__cell:nth-child(1) .banner-block .banner-classic-medium-layout .gallery__caption--standard {
 	   padding: 0px 40px 0 !important;
	}


	.gallery__caption-item.gallery__title.u-contain-text {
 	       font-size: 36px;
 	       line-height: 46px;
	        margin-bottom: 0;
    	}
}

.grid__cell:nth-child(1) .banner-block .banner-classic-medium-layout h2, .grid__cell:nth-child(1) .banner-block .banner-classic-medium-layout p {
    color: var(--c-banner-text);
    margin: 15px 0 0;
}

.gallery__caption-item.gallery__title.u-contain-text {
    font-weight: 500;
    margin-bottom: 0px;
}

.grid__cell:nth-child(1) .banner-block .banner-classic-medium-layout h2 {
   font-weight: 600;
}

.grid__cell:nth-child(1) .banner-block .banner-classic-medium-layout .gallery__caption--standard {
    padding: 0 100px 0;
    background-image: linear-gradient(to right, rgba(0, 0, 0, .6), rgba(0, 0, 0, 0));
    border: 0;
}

/* BANNER HEIGHT HACK */
@media (min-width: 1500px) {
    .banner-classic-medium-layout .gallery__slideshow {
        height: 1000px;
    }
}


/* -- FORM -- */
.fb-form {
    --fb-two-col-width: 100%;
}

.form-form-overlay-bottom-layout__form-cell .fb-section-type span {
    font-size: 40px;
}

.form-form-overlay-bottom-layout__form-cell .fb-row:not(:last-child) .fb-section-type {
    text-align: center;
}

@media (max-width: 768px) {
	.form-form-overlay-bottom-layout__form-cell {
	    width: 100% !important;
	}
}


/* -- IMAGE -- */
.images-stackable-layout {
    pointer-events: none;
}

.images-layout__info.images-editorial-portrait-layout__info h3 {
    font-weight: 600 !important;
}


/* -- TEXT IMAGE -- */
.text-image-overlay-layout--bottom .grid__cell--75-percent {
    width: 100% !important;
}




/* ---------------------- GLOBAL TEXT ---------------------- */
p {
    letter-spacing: .03em;
    font-weight: 300;
}

@media (max-width: 768px) {
	p {
	   letter-spacing: 0em;
	}

	/* line height */
	.text-image-block h3, .title-block__title, .editor-block__title, .text-image-block__title {
	   line-height: 40px !important;
	}
}


/* -- rich text -- */
.rich-text h1 {
    font-style: italic;
}

.rich-text h2 {
    font-weight: 600;
}

.rich-text h3 {
    font-weight: 600;
    margin-bottom: 10px;
}




/* -------------------- BUTTON -------------------- */
/* -- font style -- */
.btn__content, .fb-submit-btn {
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 0;
    font-family: 'Montserrat';
}


/* -- button style spacing -- */
.btn--text, .fb-submit-btn {
    /*padding: 0.35em 1.5em;*/
    padding: 7px 25px 6px;
    border-radius: 30px;
}

.fb-submit-btn-container input.fb-btn.fb-submit-btn {
    padding: 21px 25px;
}

@media (max-width: 768px) {
	.btn--text, .fb-submit-btn {
	    padding: 0.5em 1.5em;
	}
}


/* -- button animation fix -- */
.app--classic-graphics .grid__cell.button-hover-arrows .btn .btn__content:after {
    overflow: visible;
    font-size: 1.5em;
}


/* -- site links button hover -- */
.site-links__link--3 .btn:hover {
    background-color: #498790;
}

.site-links__link--2 .btn:hover{
    color: #F09F99;
}


/* --- MISC UPDATES ---*/
.list-text-block-layout--block .noMedia .list-text-block-layout__contentWrap {
    -webkit-justify-content: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
}

.form-detail .btn__content {
    line-height: 20px;
}

.form-block .fb-submit-btn {
    padding: 6px 25px 9px;
}


/* FOOTER */
@media (max-width: 768px) {
        .sitemap-layout-info .text-align-left {
            align-self: center;
            text-align: center;
        }

}

.placeholder-social {
    display: none;
}
