/*
 * Divi parent-theme primitives.
 *
 * src/theme.css is the production child theme verbatim; on WordPress it
 * `@import`s the Divi parent stylesheet for its layout and typography base.
 * This file reproduces only the parts of that base the child theme actually
 * relies on - the reset, the container/row/column grid at gutter width 3, the
 * header/footer chrome, and Divi's default type scale - with the same values
 * read out of Divi 4.22.1's style-static.min.css. Everything visual beyond
 * this belongs in theme.css.
 *
 * The two icon fonts WordPress loaded (ETmodules and FontAwesome) are not
 * redistributed here; the handful of glyphs that were load-bearing are drawn
 * in CSS instead and are marked below.
 */

/* Inter and Bebas Neue: the two families the production <head> loaded from
   Google Fonts, self-hosted because the Content-Security-Policy is font-src
   'self'. Latin and Latin Extended subsets, same files Google serves. */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/fonts/inter-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/fonts/inter-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Open Sans is Divi's own body face, loaded by production from Google Fonts.
   It stays the fallback for the handful of elements the child theme does not
   set a family on. */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(/fonts/open-sans-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(/fonts/open-sans-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 300 800;
  font-display: swap;
  src: url(/fonts/open-sans-italic-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Bebas Neue";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/bebas-neue-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Bebas Neue";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/bebas-neue-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* -------------------------------------------------------------- reset ---- */
*, *::before, *::after { box-sizing: border-box; }
html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, a, abbr, address,
cite, code, em, img, small, strong, sub, sup, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figure, figcaption, footer, header, main, nav, section, time,
video, audio {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  background: transparent;
}
article, aside, figure, figcaption, footer, header, main, nav, section { display: block; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 14px;
  color: #666;
  background-color: #fff;
  line-height: 1.7em;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 { color: #333; padding-bottom: 10px; line-height: 1em; font-weight: 500; }
h1 { font-size: 30px; }
h2 { font-size: 26px; }
h3 { font-size: 22px; }
h4 { font-size: 18px; }
h5 { font-size: 16px; }
h6 { font-size: 14px; }
p { padding-bottom: 1em; line-height: 1.7em; }
p:last-of-type { padding-bottom: 0; }
a { color: #2ea3f2; text-decoration: none; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; }
strong, b { font-weight: 700; }
em, i { font-style: italic; }
/* Divi strips list markers globally and puts them back only inside content
   areas, which is why the header, footer and widget lists show none. */
ol, ul { list-style: none; }
#left-area ul, .entry-content ul, .et-l--body ul, .et-l--footer ul, .et-l--header ul { list-style-type: disc; padding: 0 0 23px 1em; line-height: 26px; }
#left-area ol, .entry-content ol, .et-l--body ol, .et-l--footer ol, .et-l--header ol { list-style-type: decimal; list-style-position: inside; padding: 0 0 23px; line-height: 26px; }
#left-area ul.products { padding: 0 !important; line-height: 1.7 !important; list-style: none !important; }
.woocommerce-page .woocommerce-pagination ul.page-numbers, .woocommerce .woocommerce-pagination ul.page-numbers { list-style: none !important; padding: 0 !important; }
blockquote { margin: 20px 0 30px; border-left: 5px solid #2ea3f2; padding-left: 20px; }
img { max-width: 100%; height: auto; display: inline-block; }
video { max-width: 100%; }
table { border-collapse: collapse; border-spacing: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid #141414; outline-offset: 3px; }

/* Divi's clearfix, used throughout the child theme's float layout. */
.clearfix::after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }

/* Screen-reader-only helper for the accessible names this static build adds
   where WordPress relied on an icon font to convey meaning. */
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
  white-space: nowrap; border: 0;
}
.skip-link { position: fixed; left: 1rem; top: -10rem; z-index: 100000; padding: 12px 16px; background: #141414; color: #fff; font-family: "Inter", sans-serif; font-weight: 700; }
.skip-link:focus { top: 1rem; }

/* ------------------------------------------------------ layout grid ----- */
/* Divi defaults are 1080px; this install's et-cache raises both the container
   and the row to 1180px (et-core-unified-10.min.css). */
.container { width: 80%; max-width: 1180px; margin: auto; position: relative; }
#page-container { position: relative; }
#et-main-area { position: relative; }
#main-content { background-color: #fff; }

.et_pb_section { position: relative; background-color: #fff; background-position: 50%; background-size: cover; background-repeat: no-repeat; padding: 4% 0; }
.et_pb_module, .et_pb_with_background { background-size: cover; background-position: 50%; background-repeat: no-repeat; }
.et_pb_row { width: 80%; max-width: 1180px; margin: auto; position: relative; padding: 2% 0; }
.et_pb_fullwidth_section { padding: 0; }
.et_pb_row::after { content: ""; display: block; clear: both; }
.et_pb_column { float: left; background-size: cover; background-position: 50%; position: relative; z-index: 2; min-height: 1px; }
.et_pb_module { z-index: 9; position: relative; }

/* Gutter width 3 (the site-wide setting, body.et_pb_gutters3). */
.et_pb_gutters3 .et_pb_column { margin-right: 5.5%; }
/* Divi ends every row with this, !important and all - the child theme sets
   per-row column widths that would otherwise push the last column onto a new
   line. */
.et_pb_row .et_pb_column.et-last-child,
.et_pb_row .et_pb_column:last-child,
.et_pb_row_inner .et_pb_column.et-last-child,
.et_pb_row_inner .et_pb_column:last-child { margin-right: 0 !important; }
.et_pb_row .et_pb_column.et-last-child,
.et_pb_row .et_pb_column:last-child { margin-bottom: 0; }
.et_pb_column_4_4 { width: 100%; margin-right: 0; }
.et_pb_column_3_4 { width: 73.625%; }
.et_pb_column_2_3 { width: 64.833%; }
.et_pb_column_3_5 { width: 57.8%; }
.et_pb_column_1_2 { width: 47.25%; }
.et_pb_column_2_5 { width: 36.7%; }
.et_pb_column_1_3 { width: 29.6667%; }
.et_pb_column_1_4 { width: 20.875%; }
.et_pb_column_1_5 { width: 15.6%; }
.et_pb_column_1_6 { width: 12.5417%; }
.et_pb_column_4_4 .et_pb_module { margin-bottom: 2.75%; }
.et_pb_column_3_5 .et_pb_module { margin-bottom: 4.758%; }
.et_pb_column_1_2 .et_pb_module { margin-bottom: 5.82%; }
.et_pb_column_2_5 .et_pb_module { margin-bottom: 7.493%; }
.et_pb_column_1_3 .et_pb_module { margin-bottom: 9.27%; }
.et_pb_row .et_pb_column .et_pb_module.et-last-child,
.et_pb_row .et_pb_column .et_pb_module:last-child { margin-bottom: 0; }

/* ------------------------------------------------------ site chrome ----- */
/* Divi's secondary bar. #2ea3f2 is Divi's own default: this install ships no
   customizer override for it, so the production bar renders in that blue. */
#top-header { background-color: #2ea3f2; color: #fff; font-size: 12px; line-height: 13px; }
#top-header .container { padding-top: .75em; font-weight: 600; line-height: 1em; }
#top-header a { color: #fff; }
#et-info { float: left; padding-bottom: .75em; line-height: 1em; }
#et-info span { margin-right: 15px; }
#et-info-email:hover { opacity: .7; transition: all .4s ease-in-out; }

/* body.et_fixed_nav.et_show_nav.et_secondary_nav_enabled: Divi pins both bars
   and would pad #page-container by 111px, but the child theme forces that
   padding to 0 and compensates inside each page template instead. */
#top-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100000; }
#main-header { position: fixed; top: 30px; left: 0; right: 0; width: 100%; z-index: 99999; background: #fff; }
#page-container { padding-top: 0; }
.logo_container { display: block; }
#logo { display: block; }
#et-top-navigation { float: left; }
#top-menu-nav, #top-menu { float: none; }
#top-menu { list-style: none; padding: 0; margin: 0; }
#top-menu li { list-style: none; }

/* Divi renders the mobile toggle with its ETmodules icon font; that font is
   not redistributed here, so the bar glyph is drawn in CSS instead. */
#et_mobile_nav_menu { display: none; float: right; }
.select_page { display: none; }
.mobile_menu_bar { display: block; position: relative; cursor: pointer; background: none; border: 1px solid #000; }
.mobile_menu_bar::before {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: 19px; height: 2px;
  margin-left: -9.5px;
  background: currentColor;
  box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
}
.et_mobile_menu { list-style: none; padding: 0; margin: 0; }
.et_mobile_menu li { list-style: none; }
#et_mobile_nav_menu .et_mobile_menu[data-open] { display: block !important; }

#main-footer { position: relative; }
#footer-widgets { padding: 0; }
#footer-widgets .footer-widget { float: left; }
#footer-widgets .footer-widget ul { list-style: none; padding: 0; }
.et_pb_widget { float: none; }

/* WordPress content classes the exported copy still carries. */
.alignleft { float: left; margin: 0 20px 20px 0; }
.alignright { float: right; margin: 0 0 20px 20px; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 13px; }

@media only screen and (min-width: 1475px) {
  .et_pb_row { padding: 29px 0; }
  .et_pb_section { padding: 59px 0; }
  .et_pb_fullwidth_section { padding: 0; }
}

@media only screen and (max-width: 980px) {
  .et_pb_column { width: 100%; margin-right: 0; margin-bottom: 30px; }
  .et_pb_column:last-child { margin-bottom: 0; }
  #main-header #et-top-navigation #top-menu { display: none; }
  #main-header #et-top-navigation #et_mobile_nav_menu { display: block; }
}
