/* Start Block Utils */

/* Full width */
body .tdg-custom-block.full-width {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

body .tdg-custom-block.full-width .wp-block-group__inner-container > p {
  margin-top: 0;
}

/* Normal width */
body .tdg-custom-block.normal-width {
  position: relative;
}

/* Narrow container */
body .tdg-custom-block.narrow-container-width .block-size {
  width: calc(48rem - 3rem);
  margin: auto !important;
}

@media only all and (min-width: 64rem) and (max-width: 74.99rem) {
  body .tdg-custom-block.narrow-container-width .block-size {
    width: calc(48rem - 3rem);
  }
}

@media only all and (min-width: 48rem) and (max-width: 63.9375rem) {
  body .tdg-custom-block.narrow-container-width .block-size {
    width: calc(48rem - 3rem);
  }
}

@media only all and (max-width: 47.99rem) {
  body .tdg-custom-block.narrow-container-width .block-size {
    width: calc(100% - 3rem);
  }
}

/* Normal container */
body .tdg-custom-block.normal-container-width .block-size {
  width: calc(75rem - 3rem);
  margin: auto !important;
}

@media only all and (min-width: 64rem) and (max-width: 74.99rem) {
  body .tdg-custom-block.normal-container-width .block-size {
    width: calc(64rem - 3rem);
  }
}

@media only all and (min-width: 48rem) and (max-width: 63.9375rem) {
  body .tdg-custom-block.normal-container-width .block-size {
    width: calc(100% - 3rem);
  }
}

@media only all and (max-width: 47.99rem) {
  body .tdg-custom-block.normal-container-width .block-size {
    width: calc(100% - 3rem);
  }
}

/* Wide container */
body .tdg-custom-block.wide-container-width .block-size {
  width: calc(90rem - 3rem);
  margin: auto !important;
}

@media only all and (min-width: 75rem) and (max-width: 89.99rem) {
  body .tdg-custom-block.wide-container-width .block-size {
    width: calc(75rem - 3rem);
  }
}

@media only all and (min-width: 64rem) and (max-width: 74.99rem) {
  body .tdg-custom-block.wide-container-width .block-size {
    width: calc(64rem - 3rem);
  }
}

@media only all and (max-width: 63.99rem) {
  body .tdg-custom-block.wide-container-width .block-size {
    width: calc(100% - 3rem);
  }
}

/* Full width container */
body .tdg-custom-block.full-width-container-width .block-size {
  	/*width: calc(96% - 3.126rem);*/
	width: 100%;
  	margin: auto !important;
}

/* Narrow column */
body .tdg-custom-block.narrow-column-width {
  width: 64rem;
  margin: auto !important;
}

@media only all and (min-width: 64rem) and (max-width: 74.99rem) {
  body .tdg-custom-block.narrow-column-width {
    width: calc(64rem - 3rem);
  }
}

@media only all and (min-width: 48rem) and (max-width: 63.9375rem) {
  body .tdg-custom-block.narrow-column-width {
    width: calc(48rem - 3rem);
  }
}

@media only all and (max-width: 47.99rem) {
  body .tdg-custom-block.narrow-column-width {
    width: calc(100% - 3rem);
  }
}

/* Normal column */
body .tdg-custom-block.normal-column-width {
  width: calc(75rem - 3rem);
  margin: auto !important;
}

@media only all and (min-width: 64rem) and (max-width: 74.99rem) {
  body .tdg-custom-block.normal-column-width {
    width: calc(64rem - 3rem);
  }
}

@media only all and (min-width: 48rem) and (max-width: 63.9375rem) {
  body .tdg-custom-block.normal-column-width {
    width: calc(100% - 3rem);
  }
}

@media only all and (max-width: 47.99rem) {
  body .tdg-custom-block.normal-column-width {
    width: calc(100% - 3rem);
  }
}

/* Wide column */
body .tdg-custom-block.wide-column-width {
  width: calc(90rem - 3rem);
  margin: auto !important;
}

@media only all and (min-width: 75rem) and (max-width: 89.99rem) {
  body .tdg-custom-block.wide-column-width {
    width: calc(75rem - 3rem);
  }
}

@media only all and (min-width: 64rem) and (max-width: 74.99rem) {
  body .tdg-custom-block.wide-column-width {
    width: calc(64rem - 3rem);
  }
}

@media only all and (min-width: 48rem) and (max-width: 63.9375rem) {
  body .tdg-custom-block.wide-column-width {
    width: calc(100% - 3rem);
  }
}

@media only all and (max-width: 47.99rem) {
  body .tdg-custom-block.wide-column-width {
    width: calc(100% - 3rem);
  }
}

/* Full width column */
body .tdg-custom-block.full-width-column-width {
  width: calc(96% - 3rem);
  margin: auto !important;
}

@media only all and (min-width: 64rem) and (max-width: 74.99rem) {
  body .tdg-custom-block.full-width-column-width {
    width: calc(64rem - 3rem);
  }
}

@media only all and (max-width: 63.9375rem) {
  body .tdg-custom-block.full-width-column-width {
    width: calc(100% - 3rem);
  }
}

/****** Margins and paddings ******/
body .tdg-custom-block.topmarginlarge .block-margin-padding {
  margin-top: 4rem;
}

@media only all and (max-width: 47.99rem) {
  body .tdg-custom-block.topmarginlarge .block-margin-padding {
    margin-top: 1rem;
  }
}

body .tdg-custom-block.topmarginmedium .block-margin-padding {
  margin-top: 3rem;
}

@media only all and (min-width: 48rem) and (max-width: 63.9375rem) {
  body .tdg-custom-block.topmarginmedium .block-margin-padding {
    margin-top: 1.875rem;
  }
}

@media only all and (max-width: 47.99rem) {
  body .tdg-custom-block.topmarginmedium .block-margin-padding {
    margin-top: 1rem;
  }
}

body .tdg-custom-block.topmarginsmall .block-margin-padding {
  margin-top: 1.5rem;
}

@media only all and (max-width: 47.99rem) {
  body .tdg-custom-block.topmarginsmall .block-margin-padding {
    margin-top: 1rem;
  }
}

body .tdg-custom-block.bottommarginlarge .block-margin-padding {
  margin-bottom: 4rem;
}

@media only all and (max-width: 47.99rem) {
  body .tdg-custom-block.bottommarginlarge .block-margin-padding {
    margin-bottom: 1rem;
  }
}

body .tdg-custom-block.bottommarginmedium .block-margin-padding {
  margin-bottom: 3rem;
}

@media only all and (min-width: 48rem) and (max-width: 63.9375rem) {
  body .tdg-custom-block.bottommarginmedium .block-margin-padding {
    margin-bottom: 1.875rem;
  }
}

@media only all and (max-width: 47.99rem) {
  body .tdg-custom-block.bottommarginmedium .block-margin-padding {
    margin-bottom: 1rem;
  }
}

body .tdg-custom-block.bottommarginsmall .block-margin-padding {
  margin-bottom: 1.5rem;
}

@media only all and (max-width: 47.99rem) {
  body .tdg-custom-block.bottommarginsmall .block-margin-padding {
    margin-bottom: 1.5rem;
  }
}

body .tdg-custom-block.toppaddinglarge .block-margin-padding {
  padding-top: 6rem;
}

@media only all and (max-width: 63.9375) {
  body .tdg-custom-block.toppaddinglarge .block-margin-padding {
    padding-top: 3rem;
  }
}

body .tdg-custom-block.toppaddingmedium .block-margin-padding {
  padding-top: 4rem;
}

@media only all and (max-width: 63.9375) {
  body .tdg-custom-block.toppaddingmedium .block-margin-padding {
    padding-top: 2rem;
  }
}

body .tdg-custom-block.toppaddingnormal .block-margin-padding {
  padding-top: 3rem;
}

@media only all and (max-width: 63.9375) {
  body .tdg-custom-block.toppaddingnormal .block-margin-padding {
    padding-top: 1rem;
  }
}

body .tdg-custom-block.bottompaddinglarge .block-margin-padding {
  padding-bottom: 6rem;
}

@media only all and (max-width: 63.9375) {
  body .tdg-custom-block.bottompaddinglarge .block-margin-padding {
    padding-bottom: 3rem;
  }
}

body .tdg-custom-block.bottompaddingmedium .block-margin-padding {
  padding-bottom: 4rem;
}

@media only all and (max-width: 63.9375) {
  body .tdg-custom-block.bottompaddingmedium .block-margin-padding {
    padding-bottom: 2rem;
  }
}

body .tdg-custom-block.bottompaddingnormal .block-margin-padding {
  padding-bottom: 3rem;
}

@media only all and (max-width: 63.9375) {
  body .tdg-custom-block.bottompaddingnormal .block-margin-padding {
    padding-bottom: 1rem;
  }
}
