@import url('https://fonts.googleapis.com/css2?family=Orbitron&family=Playfair+Display:wght@400;700;900&family=Raleway:wght@100;200;300;400;500;600;700;800;900&display=swap');/* =========================================================
   FONT IMPORTS
   ---------------------------------------------------------
   Orbitron: used for funnel page titles
   Playfair Display: decorative headings
   Raleway: primary site font
   ========================================================= */
/* =========================================================
   DIVI POST LAYOUT -- ROW WIDTH FIX
   ---------------------------------------------------------
   Forces row width to 100% inside the Post Content module.
   Applies to posts only, not pages.
   Required for Divi template builder sections to render
   correctly above post content without overlap.
   Confirmed required on all Divi sites using template
   builder with post types.
   ========================================================= */
.et-db #et-boc .et-l .et-l--post .et_builder_inner_content .et_pb_row {
  width: 100%;
}
/* =========================================================
   HERO / TOP SECTION POSITIONING
   ---------------------------------------------------------
   Apply class .onpage-tophero-bumpup to any Divi section
   sitting directly under the global header (e.g. SR slider
   on post templates, contest pages, etc.)
   Uses padding-top to push down in document flow.
   Value based on measured header height on barriesmiles.ca:
   placeholder 131px -- measure and confirm via DevTools.
   Do not use transform for layout positioning on this site.
   ========================================================= */
.onpage-tophero-bumpup {
  padding-top: 20x !important;
  margin-top: 0 !important;
}
/* =========================================================
   GLOBAL TYPOGRAPHY
   ========================================================= */
h1 {
  color: #20B9BC;
  font-weight: 900;
  line-height: 0.8em;
  font-size: 4em;
  text-transform: none;
}
h2 {
  color: #20B9BC;
  font-variant: normal;
  text-align: left;
  font-weight: 300;
  font-size: 3em;
  line-height: 1.5em;
  padding-bottom: 16px;
}
p {
  line-height: 2em;
  text-align: left;
  font-size: 1.2em;
}
a {
  color: #fa4646;
  font-weight: 400;
  margin-bottom: 2px;
  font-size: 17px;
  font-variant: small-caps;
  text-transform: uppercase;
}
/* =========================================================
   GLOBAL COLOUR HELPER CLASSES
   ---------------------------------------------------------
   NOTE: .BOTEAL outputs coral (#d45a54) not teal --
   naming mismatch, review when possible.
   ========================================================= */
.BOCORAL {
  color: #d45a54 !important;
}
/* NOTE: outputs coral not teal -- naming mismatch */
.BOTEAL {
  color: #d45a54 !important;
}
.dhhotorange {
  color: #d45a54 !important;
}
.dhblack {
  color: #1D2327 !important;
}
.lighttext {
  color: #ffffff !important;
}
.dhgrey {
  color: #545454 !important;
}
.dhltgrey {
  color: #CCCCCC !important;
}
/* =========================================================
   TEXT EFFECT & LAYOUT HELPERS
   ========================================================= */
.centretext,
.leftaligntext {
  margin-left: auto;
  margin-right: auto;
}
.centretext {
  text-align: center;
}
.leftaligntext {
  text-align: left;
}
.shadow {
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}
.changelineheight {
  line-height: 2.5rem;
}
.padmesmall {
  padding-top: 12px;
}
.NO-BULLET,
.NO-BULLET ul,
.NO-BULLET ol {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
/* =========================================================
   FUNNEL PAGES ONLY -- TYPOGRAPHY
   ---------------------------------------------------------
   These classes are used exclusively on funnel pages.
   Do not apply sitewide.
   ========================================================= */
.large-title {
  font-family: 'Orbitron Display', sans-serif !important;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 3.1rem;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
}
.medium-title {
  font-family: 'Orbitron Display', sans-serif;
  font-size: 1.8rem;
  line-height: 1.9rem;
}
.small-title {
  font-family: 'Orbitron Display', sans-serif;
  font-size: 1.3rem;
  line-height: 1.6rem;
}
/* Blog title positioning -- used on blog index */
#blog-title {
  position: relative;
  height: 133px;
}
#blog-title > span {
  position: absolute;
  bottom: 0;
  width: 100%;
}
/* Private video pages -- all on 4 and ceramic implants only */
.privatevideopage h2 {
  color: #eb4912;
  font-variant: normal;
  text-align: left;
  font-weight: 300;
  font-size: 3.5em;
  line-height: 1.5em;
  padding-bottom: 16px;
}
/* =========================================================
   TYPOGRAPHY HELPERS -- RALEWAY VARIANTS
   ========================================================= */
.bigtitle {
  font-family: 'Raleway', sans-serif !important;
  font-weight: 700 !important;
}
.thintitle {
  font-family: 'Raleway', sans-serif !important;
  font-weight: 600 !important;
}
.bigbiotitle {
  font-size: 2.5rem !important;
  font-family: 'Raleway', sans-serif !important;
  font-weight: 600 !important;
}
.smallbiotitle {
  font-size: 1.5rem !important;
  line-height: 1.1rem !important;
  font-family: 'Raleway', sans-serif !important;
  font-weight: 600 !important;
}
/* =========================================================
   SLIDER REVOLUTION -- CUSTOM TEXT & TITLE STYLES
   ========================================================= */
div.sr-post-title h1 {
  font-size: 3.2rem !important;
  font-weight: 600;
  line-height: 3.5rem !important;
  text-transform: uppercase !important;
  margin: 0;
  padding: 0;
}
div.sr-post-title h2 {
  font-size: 2.5rem !important;
  font-weight: 600;
  line-height: 1.5rem !important;
  text-transform: uppercase !important;
  margin: 0;
  padding: 0;
}
div.sr-post-excerpt p {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8rem;
  margin-bottom: 1rem;
}
.sr-post-tabtitle p {
  font-size: 15px !important;
  font-weight: 700;
  line-height: 0.8rem;
  text-transform: uppercase !important;
}
.sr-smalltext {
  font-size: 1.2rem !important;
  line-height: 1.2rem !important;
}
.sr-smallsubtitle {
  font-size: 1.5rem !important;
  line-height: 1.5rem !important;
}
/* =========================================================
   SLIDER REVOLUTION -- CUSTOM BUTTON CONTROLS
   ========================================================= */
div.sr-details-container {
  padding: 20px;
}
.sr-custombutton-textbox {
  background-color: transparent;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 4px;
  padding: 6px 6px;
  font-size: 16px;
}
.sr-custombutton-textbox:hover {
  background-color: rgba(90, 200, 250, 0.25);
  border: 2px solid #5ac8fa;
  border-radius: 4px;
  padding: 6px 6px;
  transition: all 400ms cubic-bezier(0.68, -0.55, 0.27, 1.55);
}
/* Horizontal SR list -- used in SR footer */
.SR-LIST-HORZ {
  display: flex;
  list-style-type: none !important;
}
.SR-LIST-HORZ li {
  margin-right: 20px;
  font-size: 0.8em;
  position: relative;
  padding-left: 20px;
}
.SR-LIST-HORZ li:before {
  content: "\25BA";
  position: absolute;
  left: 0;
}
/* =========================================================
   ACCORDION -- CUSTOM STYLING
   ---------------------------------------------------------
   Uses CSS variable --custom-accordion-color for theming.
   Change the variable value to update all accordion colours
   at once without editing individual rules.
   Do not remove -- actively in use on the site.
   ========================================================= */
:root {
  --custom-accordion-color: #D45A54;
}
.et_pb_accordion.custom-accordion {
  position: relative;
}
.et_pb_accordion.custom-accordion:before {
  content: '';
  width: 1px;
  height: 100%;
  background-color: var(--custom-accordion-color);
  position: absolute;
  top: 0;
  left: 0;
}
.et_pb_accordion.custom-accordion.et_pb_text_align_right:before {
  right: 0;
  left: auto;
}
.et_pb_accordion.custom-accordion .et_pb_toggle {
  margin: 0;
  padding: 0;
  border: none;
  background-color: transparent;
}
.et_pb_accordion.custom-accordion.et_pb_text_align_right .et_pb_toggle {
  text-align: right;
}
.et_pb_accordion.custom-accordion .et_pb_toggle .et_pb_toggle_title {
  color: var(--custom-accordion-color);
  padding: 15px 0 15px 65px;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.et_pb_accordion.custom-accordion.et_pb_text_align_right .et_pb_toggle .et_pb_toggle_title {
  padding: 15px 65px 15px 0;
}
.et_pb_accordion.custom-accordion .et_pb_toggle .et_pb_toggle_title:before {
  overflow: hidden;
  border-radius: 50%;
  background-color: #FFF;
  border: 1px solid var(--custom-accordion-color);
  color: transparent;
  left: -9px;
  right: auto;
}
.et_pb_accordion.custom-accordion.et_pb_text_align_right .et_pb_toggle .et_pb_toggle_title:before {
  left: auto;
  right: 0;
}
.et_pb_accordion.custom-accordion .et_pb_toggle .et_pb_toggle_title:hover {
  color: var(--custom-accordion-color);
}
.et_pb_accordion.custom-accordion .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title {
  font-size: 30px;
  font-weight: bold;
  color: var(--custom-accordion-color) !important;
}
.et_pb_accordion.custom-accordion .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title:before {
  display: block;
  padding: 5px;
  margin: -15px 0 0 -14px;
  color: #FFF;
  text-shadow: 1px 1px 0 var(--custom-accordion-color), 2px 2px 0 var(--custom-accordion-color), 3px 3px 0 var(--custom-accordion-color), 4px 4px 0 var(--custom-accordion-color), 5px 5px 0 var(--custom-accordion-color), 6px 6px 0 var(--custom-accordion-color), 7px 7px 0 var(--custom-accordion-color), 8px 8px 0 var(--custom-accordion-color), 9px 9px 0 var(--custom-accordion-color), 10px 10px 0 var(--custom-accordion-color), 11px 11px 0 var(--custom-accordion-color), 12px 12px 0 var(--custom-accordion-color), 13px 13px 0 var(--custom-accordion-color), 14px 14px 0 var(--custom-accordion-color), 15px 15px 0 var(--custom-accordion-color), 16px 16px 0 var(--custom-accordion-color), 17px 17px 0 var(--custom-accordion-color), 18px 18px 0 var(--custom-accordion-color), 19px 19px 0 var(--custom-accordion-color), 20px 20px 0 var(--custom-accordion-color), 21px 21px 0 var(--custom-accordion-color), 22px 22px 0 var(--custom-accordion-color), 23px 23px 0 var(--custom-accordion-color), 24px 24px 0 var(--custom-accordion-color), 25px 25px 0 var(--custom-accordion-color), 26px 26px 0 var(--custom-accordion-color), 27px 27px 0 var(--custom-accordion-color), 28px 28px 0 var(--custom-accordion-color), 29px 29px 0 var(--custom-accordion-color), 30px 30px 0 var(--custom-accordion-color), 31px 31px 0 var(--custom-accordion-color), 32px 32px 0 var(--custom-accordion-color), 33px 33px 0 var(--custom-accordion-color), 34px 34px 0 var(--custom-accordion-color), 35px 35px 0 var(--custom-accordion-color);
  background-color: var(--custom-accordion-color);
  left: 0;
  right: auto;
  -webkit-transform: scale(3);
  -moz-transform: scale(3);
  -ms-transform: scale(3);
  -o-transform: scale(3);
  transform: scale(3);
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.et_pb_accordion.custom-accordion.et_pb_text_align_right .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title:before {
  margin: -15px -14px 0 0;
  left: auto;
  right: 0;
}
.et_pb_accordion.custom-accordion .et_pb_toggle .et_pb_toggle_content {
  padding: 0 0 15px 65px;
}
.et_pb_accordion.custom-accordion.et_pb_text_align_right .et_pb_toggle .et_pb_toggle_content {
  padding: 0 65px 15px 0;
}
/* =========================================================
   FORMINATOR -- FORM & BUTTON STYLES
   ---------------------------------------------------------
   Overrides Forminator default styles sitewide.
   ========================================================= */
/* Form container */
body .forminator-ui.forminator-custom-form {
  background-color: #f4f4f4 !important;
  border: 2px solid #ccc !important;
  border-radius: 12px !important;
  padding: 20px !important;
  font-family: 'Raleway', sans-serif !important;
}
/* Form fields */
body .forminator-field {
  margin-bottom: 16px !important;
  font-family: 'Raleway', sans-serif !important;
}
/* Form labels */
body .forminator-label {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #d33206 !important;
  font-family: 'Raleway', sans-serif !important;
}
/* Form description text */
body .forminator-description {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #333333 !important;
  line-height: 1.75rem !important;
  font-family: 'Raleway', sans-serif !important;
  max-width: 80% !important;
}
/* NOTE: original had #33333 (5 chars) -- corrected to #333333 */
/* Form title */
body .forminator-title {
  font-size: 26px !important;
  font-weight: 900 !important;
  color: #20B9BC !important;
  font-family: 'Raleway', sans-serif !important;
}
/* Placeholder text */
body .forminator-input::placeholder,
body .forminator-textarea::placeholder {
  color: #aaa !important;
  font-family: 'Raleway', sans-serif !important;
}
/* Select dropdown options */
body .forminator-select option {
  background-color: #d33206 !important;
  color: #ffffff !important;
}
/* Submit button */
body .forminator-button.forminator-button-submit {
  background-color: #d33206 !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  padding: 14px 20px !important;
  font-size: 18px !important;
  cursor: pointer !important;
  font-family: 'Raleway', sans-serif !important;
}
/* Submit button hover */
body .forminator-button.forminator-button-submit:hover {
  background-color: #212121 !important;
}
/* =========================================================
   RESPONSIVE TYPOGRAPHY
   ========================================================= */
/* Tablet and below -- max 768px */
/* Small phones -- max 576px */
@media screen and (max-width: 768px) {
  h1 {
    font-size: 2.5em;
    line-height: 1.3em;
  }
  h2 {
    font-size: 2em;
    line-height: 1.4em;
    padding-bottom: 12px;
  }
}
@media screen and (max-width: 576px) {
  div.sr-post-title h1 {
    font-size: 1.5rem !important;
    line-height: 1.7rem !important;
  }
  div.sr-post-title h2 {
    font-size: 1.3rem !important;
    line-height: 1.2rem !important;
  }
}
