/* BLOCK BASICS */
.wp-block-buttons, 
.wp-block-coblocks-accordion,
.wp-block-embed {
    width:98%;
    margin:1em auto;
    max-width:800px;
}
.wp-block-embed {
    text-align:center;
}

/* COLAB Events Block */
/* these styles should be in the block, but they aren't, so we must add them here */
/* some events styles are in functions.php because they should match chosen theme styles */
h2.colab-ev-title {
    font-size:30px;
}
.colab-events-container {
    display: flex;
    flex-flow: wrap;
}
.date-box {
    min-width: 300px;
    margin: 10px 10px 10px 10px;
    padding: 20px;
    flex: 1;
    min-height: 120px;
    box-shadow: 0px 0px 10px 5px #ddd;
}
.date-box > .wp-block-coblocks-events__date {
    text-align:center;
}
.wp-block-coblocks-events__month {
    margin-bottom:0;
}
.date-box > .wp-block-coblocks-events__date,
.wp-block-coblocks-events__title,
.wp-block-coblocks-events__title a {
    line-height:1.25;
}

/* accordion */
.wp-block-coblocks-accordion-item__title {
    font-size:24px;
    text-indent: -1em;
    padding-left: 2em;
    line-height: 1;
}

.dpz-search-wrapper {
    width:96%;
    max-width:800px;
    margin-left:auto;
    margin-right:auto;
}

figure.aligncenter figcaption {
    text-align:center;
}
.wp-block-image figcaption {
    margin-top:0 ! important;
}

/*******************************/
/* GENERAL DPZ BLOCKS          */
/*******************************/
/* Full height = vh - header height; Almost full height = vh - header height & footer height (less than footer height on colab) */

.dpz-block-full-height {
    height: calc(100vh - 80px);
}
.dpz-block-almost-full-height{
    height: calc(100vh - 80px - 50px);
}
.admin-bar .dpz-block-full-height {
    height: calc(100vh - 80px - 30px);
}
.admin-bar .dpz-block-almost-full-height {
    height: calc(100vh - 80px - 50px - 30px);
}
.dpz-flex-column-block-content {
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
}
.dpz-flex-row-block-content {
    width:100%;
    height:100%;
    display:flex;
    align-items:stretch ! important;
}

/*******************************/
/* FLEX ALIGNMENTS             */
/*******************************/

.dpz-flex-column {
    flex-direction:column;
}
.dpz-flex-row {
    flex-direction:row;
}
.dpz-table {
    display:table;
}
.dpz-table-column {
    display:table-column;
}

/* this group all implies display-type:flex and flex-direction:column */
.dpz-valign-top {
    justify-content:flex-start;
}
.dpz-valign-middle {
    justify-content:center;
}
.dpz-valign-bottom {
    justify-content:flex-end;
}
.dpz-halign-left {
    align-items:flex-start;
}
.dpz-halign-right {
    align-items:flex-end;
}
.dpz-halign-center {
    align-items:center;
}
.dpz-halign-center .dpz-cover-content {
    align-items:center;
}
/* flex-direction:row; */
.dpz-flex-row-block-content.dpz-valign-top,
.dpz-flex-row-block-content.dpz-valign-top div {
    align-items:flex-start;
}
.dpz-flex-row-block-content.dpz-valign-middle, 
.dpz-flex-row-block-content.dpz-valign-middle div {
    align-items:center;
}
.dpz-flex-row-block-content.dpz-valign-bottom,
.dpz-flex-row-block-content.dpz-valign-bottom div {
    align-items:flex-end;
}
/* horiztonal alignment may not be obvious because it is for the container, not the text/items inside */
/* second selector (with div) is for DPZ TWO COLUMN BLOCK; may have to change for more flexibility */
.dpz-flex-row-block-content.dpz-halign-left,
.dpz-flex-row-block-content.dpz-halign-left div {
    justify-content:flex-start;
    display:flex;
}
.dpz-flex-row-block-content.dpz-halign-right,
.dpz-flex-row-block-content.dpz-halign-right div {
    justify-content:flex-end;
    display:flex;
}
.dpz-flex-row-block-content.dpz-halign-center,
.dpz-flex-row-block-content.dpz-halign-center div {
    justify-content:center;
    display:flex;
}
.dpz-flex-row-reverse {
    flex-direction:row-reverse;
}
/***********************************/
/* DPZ ANIMATIONS / TRANSITIONS    */
/***********************************/

.dpz-parallax-background:before {
    background-attachment:fixed;
}
.dpz-fade-in {
    opacity: 1;
    animation-name: dpzFadeInOpacity;
    animation-iteration-count: 1;
    animation-timing-function: ease-in;
    animation-duration: 1s;
}
@keyframes dpzFadeInOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
.dpz-zoom-background:before {
    background-size: cover;
    background-attachment: fixed;
    background-repeat: repeat;
    background-position:center;
    -webkit-animation: dpzZoomout 12s ease-in 1;
    animation: dpzZoomout 12s ease-in 1;
    transform: scale(1); /* Start at half size */
    transition: all .5s ease-in-out;
    overflow: hidden;
    content: ""; /* Needed for pseudo-elements */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height:100%;
    z-index: -1; /* Place the background behind the content */
}
/* Zoom in Keyframes */
@-webkit-keyframes dpzZoomin {
  0% {transform: scale(1);}
  100% {transform: scale(1.5);}
  /*100% {transform: scale(1);}*/
}
@keyframes dpzZoomin {
  0% {transform: scale(1);}
  100% {transform: scale(1.5);}
  /*100% {transform: scale(1);}*/
} /*End of Zoom in Keyframes */

/* Zoom out Keyframes */
@-webkit-keyframes dpzZoomout {
    0% {transform: scale(1.25);}
    /*50% {transform: scale(0.67);}*/
    100% {transform: scale(1);}
}
@keyframes dpzZoomout {
    0% {transform: scale(1.25);}
    /*50% {transform: scale(0.67);}*/
    100% {transform: scale(1);}
}/*End of Zoom out Keyframes */


/*******************************/
/* DPZ COVER BLOCK             */
/*******************************/

.dpz-cover-block {
    background-repeat: no-repeat;
    background-size:cover;
    display:flex;
    position:relative; 
    overflow:hidden;
}
.dpz-cover-block:before {
    overflow: hidden;
    content: ""; /* Needed for pseudo-elements */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height:100%;
    z-index: -1; /* Place the background behind the content */
    background-repeat:no-repeat;
    background-size:cover;
}
.dpz-cover-content {
    width:98%;
    padding:40px 0;
    display: flex;
    flex-direction: column;    
}
.dpz-cover-block h1 {
    font-size:58px;
    margin-bottom:26px;
    margin-top:26px;
    text-transform:none;
    font-weight:200;
}
.dpz-cover-block.dpz-block-custom-height h1 {
    margin-top:10px;
    margin-bottom:10px;
}
.dpz-cover-block.dpz-block-almost-full-height h1 {
    font-size:62px;
    margin-bottom:30px;
    margin-top:30px;
    text-transform:uppercase;
    font-weight:300;
}
.dpz-cover-block h2 {
    font-size:40px;
    margin-bottom:30px;
    margin-top:30px;
}
.dpz-cover-block.dpz-block-custom-height h2 {
    margin-top:10px;
    margin-bottom:10px;
}
.dpz-cover-block h1 + h2 {
    margin-top:0;
}
.dpz-cover-buttons {
    display: flex;
}
.dpz-cover-buttons.dpz-flex-row {
    justify-content: center;
    gap: 80px;
}
.dpz-cover-buttons.dpz-flex-row.dpz-div-align-left {
    justify-content: flex-start;
}
.dpz-cover-buttons.dpz-table {
    display:table;
}
.dpz-cover-buttons a,
.dpz-cover-buttons div {
    padding:16px 29px;
    font-size: 16px;
    text-decoration:none;
    border-radius:5px;
    text-transform:uppercase;
    font-weight:300;
    letter-spacing:1.9px;
    cursor:pointer;
}
.dpz-cover-buttons.dpz-table a,
.dpz-cover-buttons.dpz-table.dpz-div-align-center a,
.dpz-cover-buttons.dpz-table div,
.dpz-cover-buttons.dpz-table.dpz-div-align-center div {
    display:table;
    margin:10px auto;
}
.dpz-cover-buttons.dpz-table.dpz-div-align-right a,
.dpz-cover-buttons.dpz-table.dpz-div-align-right div {
    margin:10px 0 10px auto;
}
.dpz-cover-buttons.dpz-table.dpz-div-align-left a,
.dpz-cover-buttons.dpz-table.dpz-div-align-left div {
    margin:10px auto 10px 0;
}
.dpz-cover-additional-content,
.dpz-cover-additional-content p {
    font-size:18px;
    text-align:justify;
    font-weight:300;
}
.home .dpz-cover-additional-content,
.home .dpz-cover-additional-content p {
    font-size: 32px;
    text-align:center;
}

/********************************************************/
/* DPZ TWO COLUMN ROW BLOCKS (text+image and variable)  */
/********************************************************/

.dpz-tcrti-image {
    background-repeat:no-repeat;
}
.dpz-tcrti-image,
.dpz-tcrti-text,
.dpz-tcr-text {
    height:100%;
}
.dpz-tcrti-text,
.dpz-tcr-text {
    overflow-y:scroll;
    display:flex;
}
.dpz-tcrti-text.dpz-valign-middle,
.dpz-tcr-text.dpz-valign-middle {
    flex-direction:column;
}
.dpz-tcrti-content,
.dpz-tcr-content {
    display:flex;
    flex-direction:column;
    margin-left:auto;
    margin-right:auto;
    height:100%;
}
.dpz-valign-middle .dpz-tcrti-content,
.dpz-valign-middle .dpz-tcr-content {
    justify-content:center;
}
.dpz-tcrti-content p {
    text-align:justify;
}
.dpz-tcrti-text h1,
.dpz-tcrti-text h2,
.dpz-tcrti-text h3,
.dpz-tcrti-text h4,
.dpz-tcrti-text h5,
.dpz-tcrti-text h6,
.dpz-tcr-text h1,
.dpz-tcr-text h2,
.dpz-tcr-text h3,
.dpz-tcr-text h4,
.dpz-tcr-text h5,
.dpz-tcr-text h6 {
    margin-top:0.25em;
    margin-bottom:0.5em;
}
.dpz-tcrti-text p,
.dpz-tcr-text p {
    margin-top:0;
}

