/**** GLOBALS ****/
:root {
    --base-margin: 1.77777777777777rem; /* 32px, based on 18px body font-size */
    --margin-0_25: calc(var(--base-margin) * 0.25); /* 8px */
    --margin-0_5: calc(var(--base-margin) * 0.5); /* 16px */
    --margin-0_75: calc(var(--base-margin) * 0.75); /* 24px */
    --margin-1: var(--base-margin); /* 32px */
    --margin-1_5: calc(var(--base-margin) * 1.5); /* 48px */
    --margin-2: calc(var(--base-margin) * 2); /* 64px */
    --padding-0_5: calc(var(--base-margin) * 0.5); /* 16px */
    --padding-0_75: calc(var(--base-margin) * 0.75); /* 24px */
    --padding-1: var(--base-margin); /* 32px */
    --padding-1_5: calc(var(--base-margin) * 1.5); /* 48px */
    --padding-2: calc(var(--base-margin) * 2); /* 64px */
}

/* named margins */
.margin-right-0_75 {
    margin-right: var(--margin-0_75);
}

/* Semantic */
.mb-default { margin-bottom: var(--margin-1); } /* 32px px*/
.mt-default { margin-top: var(--margin-1); } /* 32px px*/
.mb-medium { margin-bottom: var(--margin-0_75); } /* 24px */
.mt-medium { margin-top: var(--margin-0_75); } /* 24px */
.mt-half { margin-top: var(--margin-0_5); } /* 16px */
.mb-half { margin-bottom: var(--margin-0_5); } /* 16px */
.mt-small { margin-top: var(--margin-0_25); } /* 8px */
.mb-small { margin-bottom: var(--margin-0_25); } /* 8px */
.mb-large { margin-bottom: var(--margin-2); } /* 64px px*/
.mt-large { margin-top: var(--margin-2); } /* 64px px*/

.pt-default { padding-top: var(--margin-1); } /* 32px px*/
.pb-default { padding-bottom: var(--margin-1); } /* 32px px*/

.no-margin { margin: 0; }
.no-vertical-margin { margin-top: 0; margin-bottom: 0; }
.no-horizontal-margin { margin-left: 0; margin-right: 0; }
.last-child-no-margin:last-child { margin: 0 }

.no-padding { padding: 0; }
.no-vertical-padding { padding-top: 0; padding-bottom: 0; }
.no-horizontal-padding { padding-left: 0; padding-right: 0; }

/* Padding-Left */
.padding-left-0_5 { padding-left: var(--padding-0_5) }
.padding-left-0_75 { padding-left: var(--padding-0_75) }
.padding-left-1 { padding-left: var(--padding-1) }

/* alignment and flex */
.is-block {
    display: block;
}

.is-flex {
    display: flex;
}

.spaced-align {
    display: flex;
    justify-content: space-between;
}

.left-align {
    display: flex;
    justify-content: flex-start;
}

.right-align {
    display: flex;
    justify-content: flex-end;
}

.center-align {
    display: flex;
    justify-content: center;
}

.middle-align {
    display: flex;
    align-items: center;
}

.top-align {
    display: flex;
    align-items: flex-start;
}

.stretch-align {
    display: flex;
    align-items: stretch;
}

.bottom-align {
    display: flex;
    align-items: flex-end;
}

.col-align {
    flex-direction: column;
}

/* scale to container */
.full-container-width {
    width: 100%;
    height: auto;
}

.half-container-width {
    width: calc(50% - var(--margin-0_5));
    height: auto;
}

.max-half-container-width {
    max-width: calc(50% - var(--margin-0_5));
    height: auto;
}

/* images */
.square-image, .landscape-image  {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover ;
}

.square-image {
    aspect-ratio: 1;
}

.landscape-image {
    aspect-ratio: 2;
}

img.full-container-width, img.half-container-width, img.max-half-container-width {
    display: block;
}

/* responsive */
.mobile-only {
    display: none !important;
}
/**** /GLOBALS ****/


/**** FONTS ****/
.heading-size {
    font-size: 1.38888888rem;
}

.subheading-size {
    font-size: 1.222222222rem; /* 22px */
}

.font-medium { font-weight: 600 }


/**** /FONTS ****/



/**** COMMON ELEMENTS ****/
.sectionHeading {
    padding: 0 41px;
    color: var(--dibo_secondary);
    font-size: 30px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 0.2px;
    margin-bottom: 32px;

    font-family: 'Publico Text Web', Serif;
}


/* cta button */
.dibo-cta-button {
    background-color: var(--dibo_inverse);
    color: var(--dibo_secondary) !important;
    padding: 0 var(--margin-0_75);
    height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
}

.dibo-cta-button img {
    margin-right: 0.666666666666666rem;
    display: inline-block;
    width: 0.4444444444444444rem;
    height: auto;
}
/**** /COMMON ELEMENTS ****/


/**** CMS ***/
.from-cms ul {
    list-style: none;
}

.from-cms ul li {
    list-style: disc outside;
    margin-left: 1em;
}

.from-cms ol li {
    list-style: decimal outside;
    margin-left: 1em;
}

.from-cms strong {
    font-weight: 700;
}

.from-cms p:not(:last-child), .from-cms ul:not(:last-child), .from-cms ol:not(:last-child) {
    margin-bottom: 1em;
}

.from-cms p:last-child, .from-cms ul:last-child, .from-cms ol:last-child {
    margin-bottom: 0;
}

.from-cms .video-wrapped {
    margin-left: auto;
    margin-right: auto;
}

.from-cms .wp-caption {
    max-width: 100%;
    margin-bottom: 1rem;
}

.from-cms .wp-caption img {
    display: block;
    max-width: 100%;
    height: auto;
}

.from-cms .wp-caption-text {
    font-size: 80%
}

.from-cms h2 {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.from-cms h3 {
    font-size: 1.25rem;
    font-weight: 500;
    margin-bottom: 1.25rem;
}

.from-cms a, .from-cms a:visited {
    color: var(--dibo_primary);
    transition: color 0.2s ease-out;
    text-decoration: underline;
}

.from-cms a:hover {
    color: var(--dibo_secondary);
}

.from-cms em {
    font-style: italic;
}
/**** /CMS ***/



/**** BREADCRUMBS ****/
#top-breadcrumbs {
    padding-bottom: 0;
}

#top-breadcrumbs .home-entry img {
    margin-right: 0.333333333rem;
}
/**** /BREADCRUMBS ****/


/**** PHONE ****/
@media screen AND (max-width: 600px) {

    /* globals */
    .mobile-only { display: block !important;  }
    .mobile-only.as-flex { display: flex !important;  }
    .mobile-only.flex { display: flex !important; }
    .desktop-only { display: none !important;}
    .mobile-as-column { display: flex; flex-direction: column !important;  }
    .mobile-full-width { width: 100%; }

}