/* Santa Anne by the Sea: additions that are not in live's own CSS (Stage 3, faithful build; Stage 4 owns look beyond this).
   1. tel: links (the kit's build rule: every non-fax phone number is an explicit tel: link so iOS adds no colour of its own) keep the surrounding look.
   2. Divi neutralising so live's own CSS owns the geometry: live assumes content-box, Divi sets border-box everywhere; Divi's .container is 80% wide, max 1080px, relative,
      with 58px top padding in #main-content and a 1px sidebar divider drawn by #main-content .container:before.
   3. live's #container-outer (position relative, z-index 2) holds the page content above #feature (absolute, z-index 1). Here Divi owns the wrappers and the header shortcode
      closes #container-outer after the header, so the content wrapper takes the same stacking. */
body.sa-site #page-container a.tel-link, body.sa-site #page-container a.tel-link:link, body.sa-site #page-container a.tel-link:visited,
body.sa-site #page-container a.tel-link:hover, body.sa-site #page-container a.tel-link:active, body.sa-site #page-container a.tel-link:focus {
	color: inherit; text-decoration: inherit; font: inherit; letter-spacing: inherit; background: none; border: 0; padding: 0; margin: 0;
}
body.sa-site #page-container *, body.sa-site #page-container *::before, body.sa-site #page-container *::after { box-sizing: content-box; }
body.sa-site #page-container .et_pb_contact_form_container *, body.sa-site #page-container .et_pb_contact_form_container *::before, body.sa-site #page-container .et_pb_contact_form_container *::after { box-sizing: border-box; }
body.sa-site #page-container select, body.sa-site #page-container button,
body.sa-site #page-container input[type=submit], body.sa-site #page-container input[type=button], body.sa-site #page-container input[type=reset] { box-sizing: border-box; }
body.sa-site #page-container .container { max-width: none; position: static; }
body.sa-site #page-container :where(#main-content) .container { padding-top: 0; }
body.sa-site #page-container #main-content .container:before { display: none; }
body.sa-site #page-container #main-content { position: relative; z-index: 2; padding-top: 0; background: transparent; }   /* no flow-root: live lets the last block's bottom margin collapse into the footer's -32px margin (FAQ page) */

/* ---- first-step Divi neutralisers, the same ones every family-B build needed (copied from a sister family B build's desktop layer, sections 2 to 5 and 8, selectors renamed; Stage 4 owns any look beyond them) ---- */
/* Divi sets body weight 500 and strong 700; live's body is 400 and its <strong> is "bolder" than the surrounding weight (a strong inside a 300 heading is 400, as on live). */
body.sa-site { font-weight: 400; }
body.sa-site strong, body.sa-site b { font-weight: bolder; }
/* Divi gives every column min-height 1px; the Theme Builder header here holds only absolutely positioned pieces and must take no height (it pushed every page down 1px). */
body.sa-site #page-container .et-l--header .et_pb_column { min-height: 0; }
/* 2. Browser-default spacing and line boxes the live CSS relies on, which Divi's reset removes. :where() keeps these at
      element weight, so every live rule still wins where live sets a value. */
body.sa-site :where(.et-l, #main-content) p { padding-bottom: 0; }
/*    Divi's reset also zeroes the browser's own block margins (p 1em, h6 2.33em, dl/dd); live relies on them wherever its CSS sets
      no margin of its own (the home location text, list pages). 'revert' hands them back at element weight. */
body.sa-site :where(.et-l, #main-content) :where(p, h6, dl, dd, figure, pre) { margin: revert; }
body.sa-site :where(.et-l, #main-content) h6 { font-size: revert; }
body.sa-site :where(.et-l, #main-content) ul, body.sa-site :where(.et-l, #main-content) ol { padding: 0 0 0 40px; margin: 1em 0; line-height: inherit; list-style-type: revert; }
body.sa-site :where(.et-l, #main-content) :is(ul, ol) :is(ul, ol) { margin-top: 0; margin-bottom: 0; }
body.sa-site :where(.et-l, #main-content) li { line-height: inherit; }
body.sa-site :where(.et-l, #main-content) :is(h1, h2, h3, h4, h5, h6) { padding-bottom: 0; line-height: inherit; font-weight: revert; color: inherit; }
body.sa-site :where(.et-l, #main-content) h5 { font-size: 0.83em; }

/* 3. Divi's content-table look (borders, cell padding, width 100%) is not on live. */
body.sa-site :where(.et-l, #main-content) table:not(.variations) { border: 0; margin: 0; width: auto; text-align: start; border-collapse: separate; }
body.sa-site :where(.et-l, #main-content) table[width="100%"]:not(.variations) { width: 100%; }
/*    Divi's reset sets border-spacing 0, which also wipes the cellspacing attribute live's tables carry (the units table's
      cellspacing="1"), and fg-extra.css made tables content-box (the browser's own is border-box). */
body.sa-site #page-container table { box-sizing: border-box; }
body.sa-site :where(.et-l, #main-content) table { border-spacing: 2px; }
body.sa-site :where(.et-l, #main-content) table[cellspacing="0"] { border-spacing: 0; }
body.sa-site :where(.et-l, #main-content) table[cellspacing="1"] { border-spacing: 1px; }
body.sa-site :where(.et-l, #main-content) table[cellspacing="2"] { border-spacing: 2px; }
body.sa-site :where(.et-l, #main-content) table[cellspacing="3"] { border-spacing: 3px; }
body.sa-site :where(.et-l, #main-content) table[cellspacing="4"] { border-spacing: 4px; }
body.sa-site :where(.et-l, #main-content) table[cellspacing="5"] { border-spacing: 5px; }
body.sa-site :where(.et-l, #main-content) tr td, body.sa-site :where(.et-l, #main-content) tr th { border-top: 0; padding: 1px; }
body.sa-site :where(.et-l, #main-content) table[cellpadding="0"] tr td, body.sa-site :where(.et-l, #main-content) table[cellpadding="0"] tr th { padding: 0; }

/* 4. Divi draws a 5px rule down the left of every blockquote; live has none. */
body.sa-site :where(.et-l, #main-content) blockquote { border: 0; border-color: currentColor; }

/* 5. Divi forces greyscale font smoothing; live uses the browser default. */
body.sa-site { -webkit-font-smoothing: auto; -moz-osx-font-smoothing: auto; }

/* 8. On archive views (category, month, tag) Divi prints the Theme Builder footer row with padding-bottom:20px!important,
      so those pages would end 20px lower than every other page. */
html body.sa-site #et-boc .et-l.et-l--footer .et_pb_row { padding-bottom: 0 !important; }


/* /faq only: live's footer (overflow hidden, min-width 1170, margin-top -32px) cannot sit beside the last block's float, so the browser pushes it below the float and the -32px pull never happens
   (the page's stray closing </div>s put the last .content.alt and the footer side by side in the body). Here the footer lives in its own wrapper, so the block carries the same 32px. */
body.sa-site #page-container .et_pb_column > .content.alt:last-child { padding-bottom: 32px; }   /* the stray closing divs push the last two blocks out of the code module: this is the third, a direct child of the column */

/* live's #container-outer, #feature and #footer all carry min-width 1170px (the iLaunch frame; there is no viewport meta and no responsive CSS, so a narrow window shows the 1170px page and scrolls
   sideways). The kit's CSS port zeroes min-width values of 1000px and up because Divi owns the frame; Divi's frame is the page container, so it takes the same minimum until Stage 4 ships
   the designed phone and tablet layers (which set it back below 1250px). */
body.sa-site #page-container { min-width: 1170px; }

/* live paints the header and the .wifi badge (inside #container-outer, after the page blocks' stacking) above the content blocks; here the header wrapper comes first in the page and the content wrapper (z-index 2, for #feature) after it. */
body.sa-site #page-container #container-outer-bg #container-outer { z-index: 3; }
