@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/inter/inter-v18-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/inter/inter-v18-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/inter/inter-v18-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/inter/inter-v18-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/inter/inter-v18-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/playfair-display/playfair-display-v37-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* playfair-display-italic - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/playfair-display/playfair-display-v37-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* playfair-display-700 - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/playfair-display/playfair-display-v37-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* playfair-display-700italic - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/playfair-display/playfair-display-v37-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }

:root{
    --primary-text: #2d2f38;
    --form-background: #FAFAFA;
    --form-border: #dddddd;

    --primary: #e01a4f;
    --primary-dark: #ba1944;
    --secondary: #D7A044;
    --secondary-dark: #c4880f;
    --accent: #F52E91;
    --accent-dark: #f41684;
    --light: #F2F4FE;
    --light-dark: #dae0fc;
    --dark: #33374B;
    --dark-dark: #292c3c;
    --link-color: #e01a4f;
    --link-hover: #3463FF;
    --success: #cce5d4;
    --success-dark: #165016;
    --info: #cce4f6;
    --info-dark: #0a4876;
    --warning: #fde8cd;
    --warning-dark: #7a3e00;
    --danger: #f3d1d6;
    --danger-dark: #6e1c22;    
    --black: #000000;
    --white: #FFFFFF;
    --grey: #AFB7C1;
    --grey-dark: #a1aab6;

    --body-font: "Inter", Arial, Helvetica, sans-serif;
    --heading-font: "Playfair Display", "Times New Roman", Georgia, sans-serif;
}

*{ box-sizing: border-box;}
html{ height: 100%; }
body{ display: flex; flex-direction: column; height: 100%; font-family: var(--body-font); font-weight: 400; line-height: 1.65; color: var(--primary-text); padding: 0; margin: 0; }
body .main-body{ flex: 1; }
a { color: var(--link-color); text-decoration: none; background-color: transparent; }
a:hover { color: var(--link-hover); text-decoration: underline; }
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, li{ margin: 0; padding: 0 0 1rem; }
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { line-height: 1.4; font-family: var(--heading-font); font-weight: 400; text-transform: capitalize; }
h1{ font-size: 2.8rem; }
h2{ font-size: 2.35rem; }
h3{ font-size: 1.9rem; }
h4{ font-size: 1.5rem; }
h5, h6{ font-size: 1.2rem; }
p, li{ line-height: 1.6; }
figure{ margin: 0; }
img{ vertical-align: bottom; }
picture{ display: block; }
.text-xs { font-size: 0.75rem !important; }
.text-sm { font-size: 0.875rem !important; }
.text-md { font-size: 1rem !important; }
.text-lg { font-size: 1.25rem !important; }
.text-xl { font-size: 1.5rem !important; }

.container{ max-width: 1500px; margin: 0 auto; padding: 0 30px; }
.row{ display: flex; flex-wrap: wrap; }
.body-panel{ padding-top: 100px; padding-bottom: 100px; }
@media only screen and (max-width: 800px){
    .container{ padding: 0 25px; }
    .body-panel{ padding-top: 60px; padding-bottom: 60px; }
}

/* Color Systems */
.bg-black { background-color: var(--black) !important; }
.bg-white { background-color: var(--white) !important; }
.bg-primary { background-color: var(--primary) !important; }
a.bg-primary:hover, a.bg-primary:focus { background-color: var(--primary-dark) !important; }
.bg-accent { background-color: var(--accent) !important; }
a.bg-accent:hover, a.bg-accent:focus { background-color: var(--accent-dark) !important; }
.bg-secondary { background-color: var(--secondary) !important; }
a.bg-secondary:hover, a.bg-secondary:focus { background-color: var(--secondary-dark) !important; }
.bg-success { background-color: var(--success) !important; }
a.bg-success:hover, a.bg-success:focus { background-color: var(--success-dark) !important; }
.bg-info { background-color: var(--info) !important; }
a.bg-info:hover, a.bg-info:focus { background-color: var(--info-dark) !important; }
.bg-warning { background-color: var(--warning) !important; }
a.bg-warning:hover, a.bg-warning:focus { background-color: var(--warning-dark) !important; }
.bg-danger { background-color: var(--danger) !important; }
a.bg-danger:hover, a.bg-danger:focus { background-color: var(--danger-dark) !important; }
.bg-grey { background-color: var(--grey) !important; }
a.bg-grey:hover, a.bg-grey:focus { background-color: var(--grey-dark) !important; }
.bg-dark { background-color: var(--dark) !important; }
a.bg-dark:hover, a.bg-dark:focus { background-color: var(--dark-dark) !important; }
.bg-light { background-color: var(--light) !important; }
a.bg-light:hover, a.bg-light:focus { background-color: var(--light-dark) !important; }
.fg-black { color: var(--black) !important; }
.fg-white { color: var(--white) !important; }
.fg-primary { color: var(--primary) !important; }
a.fg-primary:hover, a.fg-primary:focus { color: var(--primary-dark) !important; }
.fg-accent { color: var(--accent) !important; }
a.fg-accent:hover, a.fg-accent:focus { color: var(--accent-dark) !important; }
.fg-secondary { color: var(--secondary) !important; }
a.fg-secondary:hover, a.fg-secondary:focus { color: var(--secondary-dark) !important; }
.fg-success { color: var(--success) !important; }
a.fg-success:hover, a.fg-success:focus { color: var(--success-dark) !important; }
.fg-info { color: var(--info) !important; }
a.fg-info:hover, a.fg-info:focus { color: var(--info-dark) !important; }
.fg-warning { color: var(--warning) !important; }
a.fg-warning:hover, a.fg-warning:focus { color: var(--warning-dark) !important; }
.fg-danger { color: var(--danger) !important; }
a.fg-danger:hover, a.fg-danger:focus { color: var(--danger-dark) !important; }
.fg-grey { color: var(--grey) !important; }
a.fg-grey:hover, a.fg-grey:focus { color: var(--grey-dark) !important; }
.fg-dark { color: var(--dark) !important; }
a.fg-dark:hover, a.fg-dark:focus { color: var(--dark-dark) !important; }
.fg-light { color: var(--light) !important; }
a.fg-light:hover, a.fg-light:focus { color: var(--light-dark) !important; }
.border-primary { border-color: var(--primary) !important; }
.border-accent { border-color: var(--accent) !important; }
.border-secondary { border-color: var(--secondary) !important; }
.border-success { border-color: var(--success) !important; }
.border-info { border-color: var(--info) !important; }
.border-warning { border-color: var(--warning) !important; }
.border-danger { border-color: var(--danger) !important; }
.border-grey { border-color: var(--grey) !important; }
.border-dark { border-color: var(--dark) !important; }
.border-light { border-color: var(--light) !important; }

/* Social Media Colors */
.bg-facebook { background-color: #3B5999 !important; }
.btn.bg-facebook:hover, .btn.bg-facebook:focus { background-color: #344e87 !important; }
.bg-twitter { background-color: #1DA1F2 !important; }
.btn.bg-twitter:hover, .btn.bg-twitter:focus { background-color: #0d95e8 !important; }
.bg-google-plus { background-color: #DB4437 !important; }
.btn.bg-google-plus:hover, .btn.bg-google-plus:focus { background-color: #d33426 !important; }
.bg-youtube { background-color: #CD201F !important; }
.btn.bg-youtube:hover, .btn.bg-youtube:focus { background-color: #b71d1c !important; }
.bg-dribbble { background-color: #EA4C89 !important; }
.btn.bg-dribbble:hover, .btn.bg-dribbble:focus { background-color: #e7357a !important; }
.bg-pinterest { background-color: #BD081C !important; }
.btn.bg-pinterest:hover, .btn.bg-pinterest:focus { background-color: #a50718 !important; }
.bg-slack { background-color: #3AAF85 !important; }
.btn.bg-slack:hover, .btn.bg-slack:focus { background-color: #349c76 !important; }
.bg-linkedin { background-color: #0077B5 !important; }
.btn.bg-linkedin:hover, .btn.bg-linkedin:focus { background-color: #00669c !important; }

.btn{ padding: 0.8rem 2.2rem; -webkit-transition: all 0.2s ease; transition: all 0.2s ease; display: inline-block; }
.btn.btn-border{ border-style: solid; }
.btn.btn-border-1{ border-width: 1px; }
.btn.btn-border-2{ border-width: 2px; }
.btn.btn-border-3{ border-width: 3px; }
.btn.btn-border-4{ border-width: 4px; }
.btn.btn-border-5{ border-width: 5px; }
.btn:focus, .btn.focus { -webkit-box-shadow: none; box-shadow: none; }
.btn:hover{ text-decoration: none; }
.btn-primary { color: var(--white); background-color: var(--primary); border-color: var(--primary); }
.btn-primary:hover { color: var(--white); background-color: var(--dark-dark); border-color: var(--dark-dark); }
.btn-primary:focus, .btn-primary.focus { color: var(--white); background-color: var(--primary-dark); border-color: var(--primary-dark); }
.btn-primary:disabled, .btn-primary.disabled { color: var(--white); background-color: var(--primary); border-color: var(--primary); }
.btn-accent { color: var(--white); background-color: var(--accent); border-color: var(--accent); }
.btn-accent:hover { color: var(--white); background-color: var(--accent-dark); border-color: #f10c7e; -webkit-box-shadow: 0 4px 12px rgba(245, 46, 145, 0.3); box-shadow: 0 4px 12px rgba(245, 46, 145, 0.3); }
.btn-accent:focus, .btn-accent.focus { color: var(--white); background-color: #f6469e; border-color: #f63a97; -webkit-box-shadow: none; box-shadow: none; }
.btn-accent:disabled, .btn-accent.disabled { color: var(--white); background-color: var(--accent); border-color: var(--accent); }
.btn-accent:not(:disabled):not(.disabled):active, .btn-accent:not(:disabled):not(.disabled).active, .show > .btn-accent.dropdown-toggle { color: var(--white); background-color: #f10c7e; border-color: #e50b77; }
.btn-accent:not(:disabled):not(.disabled):active:focus, .btn-accent:not(:disabled):not(.disabled).active:focus, .show > .btn-accent.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-secondary { color: var(--white); background-color: var(--secondary); border-color: var(--secondary); }
.btn-secondary:hover { color: var(--white); background-color: var(--secondary-dark); border-color: #5c6076; -webkit-box-shadow: 0 4px 12px rgba(109, 114, 139, 0.3); box-shadow: 0 4px 12px rgba(109, 114, 139, 0.3); }
.btn-secondary:focus, .btn-secondary.focus { color: var(--white); background-color: #7a7f97; border-color: #737891; -webkit-box-shadow: none; box-shadow: none; }
.btn-secondary:disabled, .btn-secondary.disabled { color: var(--white); background-color: var(--secondary); border-color: var(--secondary); }
.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle { color: var(--white); background-color: #5c6076; border-color: #575b6e; }
.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-success { color: var(--white); background-color: var(--success); border-color: var(--success); }
.btn-success:hover { color: var(--white); background-color: var(--success-dark); border-color: #05a770; -webkit-box-shadow: 0 4px 12px rgba(6, 204, 137, 0.3); box-shadow: 0 4px 12px rgba(6, 204, 137, 0.3); }
.btn-success:focus, .btn-success.focus { color: var(--dark); background-color: #07e59a; border-color: #06d891; -webkit-box-shadow: none; box-shadow: none; }
.btn-success:disabled, .btn-success.disabled { color: var(--white); background-color: var(--success); border-color: var(--success); }
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle { color: var(--white); background-color: #05a770; border-color: #059a68; }
.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-info { color: var(--white); background-color: var(--info); border-color: var(--info); }
.btn-info:hover { color: var(--white); background-color: var(--info-dark); border-color: #0c88c2; -webkit-box-shadow: 0 4px 12px rgba(14, 161, 230, 0.3); box-shadow: 0 4px 12px rgba(14, 161, 230, 0.3); }
.btn-info:focus, .btn-info.focus { color: var(--white); background-color: #1cadf1; border-color: #10a9f0; -webkit-box-shadow: none; box-shadow: none; }
.btn-info:disabled, .btn-info.disabled { color: var(--white); background-color: var(--info); border-color: var(--info); }
.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle { color: var(--white); background-color: #0c88c2; border-color: #0b7fb6; }
.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-warning { color: var(--dark); background-color: var(--warning); border-color: var(--warning); }
.btn-warning:hover { color: var(--white); background-color: var(--warning-dark); border-color: #df7409; -webkit-box-shadow: 0 4px 12px rgba(246, 135, 24, 0.3); box-shadow: 0 4px 12px rgba(246, 135, 24, 0.3); }
.btn-warning:focus, .btn-warning.focus { color: var(--dark); background-color: #f79431; border-color: #f68d24; -webkit-box-shadow: none; box-shadow: none; }
.btn-warning:disabled, .btn-warning.disabled { color: var(--dark); background-color: var(--warning); border-color: var(--warning); }
.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle { color: var(--white); background-color: #df7409; border-color: #d36e08; }
.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; } 
.btn-danger { color: var(--white); background-color: var(--danger); border-color: var(--danger); }
.btn-danger:hover { color: var(--white); background-color: var(--danger-dark); border-color: #ff1e35; -webkit-box-shadow: 0 4px 12px rgba(255, 68, 87, 0.3); box-shadow: 0 4px 12px rgba(255, 68, 87, 0.3); }
.btn-danger:focus, .btn-danger.focus { color: var(--white); background-color: #ff5e6e; border-color: #ff5162; -webkit-box-shadow: none; box-shadow: none; }
.btn-danger:disabled, .btn-danger.disabled { color: var(--white); background-color: var(--danger); border-color: var(--danger); }
.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle { color: var(--white); background-color: #ff1e35; border-color: #ff1129; }
.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-grey { color: var(--dark); background-color: var(--grey); border-color: var(--grey); }
.btn-grey:hover { color: var(--dark); background-color: var(--grey-dark); border-color: #99a4b0; -webkit-box-shadow: 0 4px 12px rgba(175, 183, 193, 0.3); box-shadow: 0 4px 12px rgba(175, 183, 193, 0.3); }
.btn-grey:focus, .btn-grey.focus { color: var(--dark); background-color: #bdc4cc; border-color: #b6bdc7; -webkit-box-shadow: none; box-shadow: none; }
.btn-grey:disabled, .btn-grey.disabled { color: var(--dark); background-color: var(--grey); border-color: var(--grey); }
.btn-grey:not(:disabled):not(.disabled):active, .btn-grey:not(:disabled):not(.disabled).active, .show > .btn-grey.dropdown-toggle { color: var(--dark); background-color: #99a4b0; border-color: #929dab; }
.btn-grey:not(:disabled):not(.disabled):active:focus, .btn-grey:not(:disabled):not(.disabled).active:focus, .show > .btn-grey.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-dark { color: var(--white); background-color: var(--dark); border-color: var(--dark); }
.btn-dark:hover { color: var(--white); background-color: var(--dark-dark); border-color: #242634; -webkit-box-shadow: 0 4px 12px rgba(51, 55, 75, 0.3); box-shadow: 0 4px 12px rgba(51, 55, 75, 0.3); }
.btn-dark:focus, .btn-dark.focus { color: var(--white); background-color: #3d425a; border-color: #383d53; -webkit-box-shadow: none; box-shadow: none; }
.btn-dark:disabled, .btn-dark.disabled { color: var(--white); background-color: var(--dark); border-color: var(--dark); }
.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle { color: var(--white); background-color: #242634; border-color: #1e212d; }
.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-light { color: var(--dark); background-color: var(--light); border-color: var(--light); }
.btn-light:hover { color: var(--dark); background-color: var(--light-dark); border-color: #ced6fb; -webkit-box-shadow: 0 4px 12px rgba(242, 244, 254, 0.3); box-shadow: 0 4px 12px rgba(242, 244, 254, 0.3); }
.btn-light:focus, .btn-light.focus { color: var(--dark); background-color: white; border-color: #fefeff; -webkit-box-shadow: none; box-shadow: none; }
.btn-light:disabled, .btn-light.disabled { color: var(--dark); background-color: var(--light); border-color: var(--light); }
.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle { color: var(--dark); background-color: #ced6fb; border-color: #c3ccfa; }
.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-primary { color: var(--primary); background-color: transparent; border-color: var(--primary); }
.btn-outline-primary:hover { color: var(--white); background-color: var(--primary); border-color: var(--primary); -webkit-box-shadow: 0 4px 12px rgba(47, 137, 252, 0.3); box-shadow: 0 4px 12px rgba(47, 137, 252, 0.3); }
.btn-outline-primary:focus, .btn-outline-primary.focus { color: var(--primary); background-color: transparent; border-color: var(--primary); -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-primary:disabled, .btn-outline-primary.disabled { color: var(--white); background-color: var(--primary); border-color: var(--primary); }
.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle { color: var(--white); background-color: var(--primary-dark); border-color: #0974fb; }
.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-accent { color: var(--accent); background-color: transparent; border-color: var(--accent); }
.btn-outline-accent:hover { color: var(--white); background-color: var(--accent); border-color: var(--accent); -webkit-box-shadow: 0 4px 12px rgba(245, 46, 145, 0.3); box-shadow: 0 4px 12px rgba(245, 46, 145, 0.3); }
.btn-outline-accent:focus, .btn-outline-accent.focus { color: var(--accent); background-color: transparent; border-color: var(--accent); -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-accent:disabled, .btn-outline-accent.disabled { color: var(--white); background-color: var(--accent); border-color: var(--accent); }
.btn-outline-accent:not(:disabled):not(.disabled):active, .btn-outline-accent:not(:disabled):not(.disabled).active, .show > .btn-outline-accent.dropdown-toggle { color: var(--white); background-color: var(--accent-dark); border-color: #f10c7e; }
.btn-outline-accent:not(:disabled):not(.disabled):active:focus, .btn-outline-accent:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-accent.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-secondary { color: var(--secondary); background-color: transparent; border-color: var(--secondary); }
.btn-outline-secondary:hover { color: var(--white); background-color: var(--secondary); border-color: var(--secondary); -webkit-box-shadow: 0 4px 12px rgba(109, 114, 139, 0.3); box-shadow: 0 4px 12px rgba(109, 114, 139, 0.3); }
.btn-outline-secondary:focus, .btn-outline-secondary.focus { color: var(--secondary); background-color: transparent; border-color: var(--secondary); -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-secondary:disabled, .btn-outline-secondary.disabled { color: var(--white); background-color: var(--secondary); border-color: var(--secondary); }
.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle { color: var(--white); background-color: var(--secondary-dark); border-color: #5c6076; }
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-success { color: var(--success); background-color: transparent; border-color: var(--success); }
.btn-outline-success:hover { color: var(--white); background-color: var(--success); border-color: var(--success); -webkit-box-shadow: 0 4px 12px rgba(6, 204, 137, 0.3); box-shadow: 0 4px 12px rgba(6, 204, 137, 0.3); }
.btn-outline-success:focus, .btn-outline-success.focus { color: var(--success); background-color: transparent; border-color: var(--success); -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-success:disabled, .btn-outline-success.disabled { color: var(--white); background-color: var(--success); border-color: var(--success); }
.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle { color: var(--white); background-color: var(--success-dark); border-color: #05a770; }
.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-info { color: var(--info); background-color: transparent; border-color: var(--info); }
.btn-outline-info:hover { color: var(--white); background-color: var(--info); border-color: var(--info); -webkit-box-shadow: 0 4px 12px rgba(14, 161, 230, 0.3); box-shadow: 0 4px 12px rgba(14, 161, 230, 0.3); }
.btn-outline-info:focus, .btn-outline-info.focus { color: var(--info); background-color: transparent; border-color: var(--info); -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-info:disabled, .btn-outline-info.disabled { color: var(--white); background-color: var(--info); border-color: var(--info); }
.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle { color: var(--white); background-color: var(--info-dark); border-color: #0c88c2; }
.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-warning { color: var(--warning); background-color: transparent; border-color: var(--warning); }
.btn-outline-warning:hover { color: var(--dark); background-color: var(--warning); border-color: var(--warning); -webkit-box-shadow: 0 4px 12px rgba(246, 135, 24, 0.3); box-shadow: 0 4px 12px rgba(246, 135, 24, 0.3); }
.btn-outline-warning:focus, .btn-outline-warning.focus { color: var(--warning); background-color: transparent; border-color: var(--warning); -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-warning:disabled, .btn-outline-warning.disabled { color: var(--dark); background-color: var(--warning); border-color: var(--warning); }
.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle { color: var(--white); background-color: var(--warning-dark); border-color: #df7409; }
.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-danger { color: var(--danger); background-color: transparent; border-color: var(--danger); }
.btn-outline-danger:hover { color: var(--white); background-color: var(--danger); border-color: var(--danger); -webkit-box-shadow: 0 4px 12px rgba(255, 68, 87, 0.3); box-shadow: 0 4px 12px rgba(255, 68, 87, 0.3); }
.btn-outline-danger:focus, .btn-outline-danger.focus { color: var(--danger); background-color: transparent; border-color: var(--danger); -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-danger:disabled, .btn-outline-danger.disabled { color: var(--white); background-color: var(--danger); border-color: var(--danger); }
.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle { color: var(--white); background-color: var(--danger-dark); border-color: #ff1e35; }
.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-grey { color: var(--grey); background-color: transparent; border-color: var(--grey); }
.btn-outline-grey:hover { color: var(--dark); background-color: var(--grey); border-color: var(--grey); -webkit-box-shadow: 0 4px 12px rgba(175, 183, 193, 0.3); box-shadow: 0 4px 12px rgba(175, 183, 193, 0.3); } 
.btn-outline-grey:focus, .btn-outline-grey.focus { color: var(--grey); background-color: transparent; border-color: var(--grey); -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-grey:disabled, .btn-outline-grey.disabled { color: var(--dark); background-color: var(--grey); border-color: var(--grey); }
.btn-outline-grey:not(:disabled):not(.disabled):active, .btn-outline-grey:not(:disabled):not(.disabled).active, .show > .btn-outline-grey.dropdown-toggle { color: var(--dark); background-color: var(--grey-dark); border-color: #99a4b0; }
.btn-outline-grey:not(:disabled):not(.disabled):active:focus, .btn-outline-grey:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-grey.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-dark { color: var(--dark); background-color: transparent; border-color: var(--dark); }
.btn-outline-dark:hover { color: var(--white); background-color: var(--dark); border-color: var(--dark); -webkit-box-shadow: 0 4px 12px rgba(51, 55, 75, 0.3); box-shadow: 0 4px 12px rgba(51, 55, 75, 0.3); }
.btn-outline-dark:focus, .btn-outline-dark.focus { color: var(--dark); background-color: transparent; border-color: var(--dark); -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-dark:disabled, .btn-outline-dark.disabled { color: var(--white); background-color: var(--dark); border-color: var(--dark); }
.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle { color: var(--white); background-color: var(--dark-dark); border-color: #242634; }
.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-light { color: var(--light); background-color: transparent; border-color: var(--light); }
.btn-outline-light:hover { color: var(--dark); background-color: var(--light); border-color: var(--light); -webkit-box-shadow: 0 4px 12px rgba(242, 244, 254, 0.3); box-shadow: 0 4px 12px rgba(242, 244, 254, 0.3); }
.btn-outline-light:focus, .btn-outline-light.focus { color: var(--light); background-color: transparent; border-color: var(--light); -webkit-box-shadow: none; box-shadow: none; }
.btn-outline-light:disabled, .btn-outline-light.disabled { color: var(--dark); background-color: var(--light); border-color: var(--light); }
.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle { color: var(--dark); background-color: var(--light-dark); border-color: #ced6fb; }
.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus { -webkit-box-shadow: none; box-shadow: none; }

/* Contact Form */
.form .field .label{ color: var(--primary-text); font-weight: 700; font-size: 0.875rem; display: block; padding: 0 0 12px; }
.form .req{ color: var(--primary); }
.form .field .form-field, .form .buttons .button-field, .form .iti__search-input, .cta.get-a-quote #quote_form .iti__search-input, .form .field .select { width: 100%; font-size: 1.1rem; line-height: 50px; padding: 0 15px; border: solid 1px var(--form-border); outline: none; background-color: var(--form-background); font-family: var(--body-font); }
.form .field .form-field:active, .form .field .form-field:focus, .form .iti__search-input:active, .form .iti__search-input:focus, .cta.get-a-quote #quote_form .iti__search-input:active, .cta.get-a-quote #quote_form .iti__search-input:focus{ background-color: var(--white); box-shadow: 0 0 0 0.2rem rgba(241,149,178,.2); }
.form .field .select select { background-clip: border-box; transition: all .15s ease-in-out; appearance: none; border: none; color: #333; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4 5"><path fill="%23ced1da" d="M2 0L0 2h4zM2 5l2-2H0z"/></svg>'); background-repeat: no-repeat; background-position: right 1rem center; background-size: 10px; cursor: pointer; }
.form .field .select select:focus { box-shadow: 0 0 0 0.2rem rgba(241,149,178,.2); }
.form .field .select { position: relative; padding: 0; }
.form .field .select select ::-ms-expand { display: none; }

.form .buttons .button-field{ transition: all .2s ease; border: none; padding: 1px 15px; cursor: pointer; width: fit-content; padding: 0 30px; background-color: var(--primary); color: var(--white); }
.form .buttons .button-field:hover{ color: var(--white); background-color: var(--dark-dark); }
.form .form-row{ margin-bottom: 22px; }
.form .fields-two{ display: flex; flex-wrap: wrap; gap: 30px; }
.form .field-one .field, .form .telno .iti, .cta.get-a-quote #quote_form .iti, .cta.get-a-quote #quote_form .intlTelInput{ width: 100%; }
.form .fields-two .field{ width: calc( 50% - 15px ); }
.form .field-one .field .textarea-field{ height: 250px; }
.iti--inline-dropdown .iti__country-list{ color: var(--text-alt); }
.form .radio-field{ display: flex; flex-wrap: wrap; gap: 1rem; }
.form .radio-field label { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; min-height: 50px; }
.form .radio-field input[type="radio"] { appearance: none; width: 20px; height: 20px; border: 2px solid var(--dark-dark); border-radius: 50%; outline: none; transition: background 0.3s ease, border 0.3s ease; position: relative; }
.form .radio-field input[type="radio"]:checked { background: var(--primary); border-color: var(--primary); }
.form .radio-field input[type="radio"]::after { content: ''; display: block; width: 10px; height: 10px; background: var(--white); border-radius: 50%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0); transition: transform 0.3s ease; }
.form .radio-field input[type="radio"]:checked::after { transform: translate(-50%, -50%) scale(1); }
.form .checkbox input[type="checkbox"] { appearance: none; width: 20px; height: 20px; margin: 5px; border: 2px solid var(--dark-dark); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; outline: none; transition: background 0.3s ease, border 0.3s ease; }
.form .checkbox input[type="checkbox"] + .text-label{ flex: 1; line-height: 30px; min-height: 30px; }
.form .checkbox input[type="checkbox"]:checked { background: var(--primary); border-color: var(--primary); }
.form .checkbox input[type="checkbox"]::before { content: "\f00c"; /* Font Awesome checkmark */ font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 14px; color: white; opacity: 0; transition: opacity 0.3s ease; }
.form .checkbox input[type="checkbox"]:checked::before { opacity: 1; }
.form .checkbox label { display: flex; gap: 0.5rem; cursor: pointer; }
.form .captcha-field{ width: 350px !important; }
/* Notices */
.form .notice{ display: none; }
.form .notice .alert{ display: flex; gap: 15px; padding: 1rem 1.5rem; border-radius: 3px; border: solid 1px; margin: 0 0 2rem; align-items: center; transition: opacity 1s ease-out; opacity: 1; } 
.form .notice .alert .icon{ font-size: 1.3rem; width: 2rem; height: 2rem; line-height: 2rem; text-align: center; }
.form .notice .alert .text{ flex: 1; }
.form .notice .alert .text p{ padding: 0; margin: 0; }
.form .notice .alert.success{ background-color: var(--success); color: var(--success-dark); border-color: var(--success-dark); }
.form .notice .alert.error{ background-color: var(--danger); color: var(--danger-dark); border-color: var(--danger-dark); }

/* Header */
/* Top Nav */
#site-header{ background-color: var(--white); }
#site-header .top-nav{ display: flex; gap: 30px; flex-wrap: wrap; padding: 8px 30px; border-bottom: solid 1px var(--light-dark); }
#site-header .top-nav nav{ width: calc( 50% - 15px ); }
#site-header .top-nav nav ul{ list-style: none; margin: 0; padding: 0; display: flex; gap: 15px; font-size: 0.875rem; }
#site-header .top-nav nav ul li{ padding: 0; }
#site-header .top-nav .header-socials .socials{ justify-content: flex-end; }
#site-header .top-nav nav a{ color: var(--dark-dark); text-decoration: none; }
#site-header .top-nav nav a:hover{ color: var(--primary); }
#site-header .top-nav nav i{ display: inline-block; width: 20px; height: 20px; line-height: 20px; vertical-align: middle; text-align: center; }
#site-header .top-nav nav .label{ line-height: 20px; vertical-align: middle; display: inline-block; padding: 0 0 0 4px; }
/* Main Nav */
#site-header .main-nav .navbar{ display: flex; flex-wrap: wrap; justify-content: space-between; padding: 20px 0; align-items: center; }
#site-header .main-nav .home-link{ max-width: 300px; max-height: 60px; display: block; }
#site-header .main-nav .home-link img{ max-width: 100%; max-height: 60px; }
#site-header .main-nav .site-nav a{ color: var(--dark-dark); display: inline-block; padding: 5px; text-decoration: none; }
#site-header .main-nav .site-nav a:hover{ color: var(--primary); }
#site-header .main-nav .site-nav .btn{ padding: 0.6rem 1.4rem; color: var(--white); margin: 0 0 0 4px; }
#site-header .main-nav .site-nav .btn:hover{ color: var(--white); }
/* Mobile Menu Toggle */
#site-header .main-nav .mobile-toggle{ padding: 0 0; height: 50px; box-sizing: content-box; display: none; }
#site-header .main-nav .mobile-toggle label{ position: relative; width: 40px; height: 50px; cursor: pointer; display: block; }
#site-header .main-nav .mobile-toggle label #menu-check{ display: block; width: 100%; height: 100%; position: relative; cursor: pointer; z-index: 2; -webkit-touch-callout: none; position: absolute; opacity: 0; border: none; margin: 0; }
#site-header .main-nav .mobile-toggle label .menu.burger{ margin: auto; position: absolute; top: 0; right: 0; left: 0; bottom: 0; width: 22px; height: 12px; }
#site-header .main-nav .mobile-toggle label .menu.burger .bar{ position: absolute; display: block; width: 100%; height: 2px; background-color: var(--bar-bg, #202020); border-radius: 1px; transition: all 0.2s cubic-bezier(0.1, 0.82, 0.76, 0.965); }
#site-header .main-nav .mobile-toggle label .menu.burger .bar:first-of-type{ top: 0; }
#site-header .main-nav .mobile-toggle label .menu.burger .bar:last-of-type{ bottom: 0; }
#site-header .main-nav .mobile-toggle label.active .menu.burger .bar:first-of-type, #site-header .main-nav .mobile-toggle label #menu-check:checked + .menu.burger .bar:first-of-type{ transform: rotate(45deg); top: 5px; }
#site-header .main-nav .mobile-toggle label.active .menu.burger .bar:last-of-type, #site-header .main-nav .mobile-toggle label #menu-check:checked + .menu.burger .bar:last-of-type{ transform: rotate(-45deg); bottom: 5px; }
#site-header .main-nav .mobile-toggle label.active:hover .menu.burger .bar:first-of-type, #site-header .main-nav .mobile-toggle label.active:hover .menu.burger .bar:last-of-type, #site-header .main-nav .mobile-toggle label:hover #menu-check:checked + .menu.burger .bar:first-of-type, #site-header .main-nav .mobile-toggle label:hover #menu-check:checked + .menu.burger .bar:last-of-type{ width: 22px; }
@media only screen and (min-width: 801px) and (max-width: 1100px){
    #site-header .main-nav .home-link{ padding: 10px; }
    #site-header .main-nav .home-link img{ height: 40px; }
    #site-header .main-nav .navbar{ padding: 10px 0; }
    #site-header .main-nav .site-nav a{ font-size: 0.875rem; }
    #site-header .main-nav .site-nav .btn{ padding: 0.5rem 1.2rem; }
}
@media only screen and (max-width: 800px){
    #site-header .main-nav .navbar .mobile-toggle{ display: block; }
    #site-header .top-nav .header-socials, #site-header .top-nav .contacts span, #site-header .main-nav .navbar .nav-menu .home-link{ display: none; }
    #site-header .top-nav .contacts{ text-align: center; }
    #site-header .top-nav .contacts li{ padding: 0 0.5rem !important; }
    #site-header .main-nav{ padding: 0 25px; }
    #site-header .main-nav .site-nav .btn{ margin: 0; }
    #site-header .main-nav .navbar{ padding: 10px 0; }
    #site-header .main-nav .navbar .nav-menu{ padding: 15px 0 10px; width: 100%; display: none; }
    #site-header .main-nav .navbar .home-link + .nav-menu{ padding-top: 0; }
    #site-header .main-nav .navbar .nav-menu .left-nav, #site-header .main-nav .navbar .nav-menu .right-nav{ padding: 0; text-align: left; }
    #site-header .main-nav .navbar .nav-menu .site-nav .nav-link{ width: 100%; display: block; padding: 10px 15px; line-height: 1.2; }
    #site-header .main-nav .home-link{ padding: 10px; }
    #site-header .main-nav .home-link img{ height: 40px; }
}

/* Footer */
/* CTA */
#footer-cta{ padding: 120px 0; }
#footer-cta .container{ max-width: 1400px; }
#footer-cta p{ padding: 0; font-family: var(--heading-font); font-size: 2.25rem; text-align: center; }
/* Main Footer */
#site-footer{ padding: 50px 0; text-align: center; }
#site-footer .socials{ list-style: none; margin: 0 auto 1.5rem; padding: 0 0 20px; text-align: center;}
#site-footer .socials li{ display: inline-block; padding: 0 5px; }
#site-footer .socials li a{ border-radius: 50%; border: solid 1px var(--primary); color: var(--primary); display: block; transition: all .2s ease-in-out; text-decoration: none; }
#site-footer .socials li a:hover{ background-color: var(--primary); color: var(--white); }
#site-footer .socials li a i{ display: block; width: 48px; height: 48px; line-height: 48px; text-align: center; font-size: 1.1rem; }
#site-footer .copyright{ text-align: center; }
#site-footer .copyright .heart{ color: #951448; }
@media only screen and (max-width: 800px){
    #footer-cta{ padding: 80px 0; }
    #footer-cta p{ font-size: 1.5rem; }
}

/* Page Title */
.page-title{ position: relative; }
.page-title::before{ position: absolute; content: ""; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(180deg, rgba(224, 26, 79, 0) 0%, rgba(224, 26, 79, 1) 100%), url('../images/hero-image-2.jpg') center/cover no-repeat; filter: sepia(0.6) saturate(2) brightness(0.9); }
.page-title .container{ min-height: 500px; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding: 70px 30px; position: relative; color: var(--white); }
.page-title h1{ padding: 0; font-size: 4.25rem; }
@media only screen and (min-width: 801px) and (max-width: 1100px){
    .page-title .container{ min-height: 325px; padding: 50px 30px; }
    .page-title h1{ font-size: 3.15rem; }
}
@media only screen and (max-width: 800px){
    .page-title .container{ min-height: 300px; padding: 50px 25px; }
    .page-title h1{ font-size: 2.5rem; }
}

/* Home Page */
/* Hero Image */
#hero-banner.home-page{ height: 80vh; position: relative; }
#hero-banner.home-page::before{ position: absolute; content: ""; left: 0; top: 0; width: 100%; height: 100%; background-color: transparent; background: linear-gradient(180deg, rgba(224, 26, 79, 0) 0%, rgba(224, 26, 79, 1) 100%), url('../images/hero-image-1.jpg') center/cover no-repeat; filter: sepia(0.6) saturate(2) brightness(0.9); }
#hero-banner.home-page .container{ height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding: 70px 30px 100px; position: relative; color: var(--white); }
#hero-banner.home-page .hero-content{ max-width: 1350px; padding: 100px 0 0; }
#hero-banner.home-page .hero-title{ font-size: 4.25rem; padding: 0 0 1.75rem; }
#hero-banner.home-page .hero-subtitle{ font-size: 1.25rem; padding: 0 0 2.5rem; }
#hero-banner.home-page .buttons .btn-consultation{ background-color: var(--white); color: var(--dark); border-color: var(--white); text-decoration: none; }
#hero-banner.home-page .buttons .btn-read-more{ border-color: var(--white); color: var(--white); text-decoration: none; margin: 0 0 0 1rem; }
#hero-banner.home-page .buttons .btn:hover{ background-color: var(--dark-dark); color: var(--white); border-color: var(--dark-dark); }
/* What I Do */
#what-i-do.home-page .row{ gap: 30px; }
#what-i-do.home-page .service{ width: calc( ( 100% / 3 ) - 20px ); display: flex; flex-direction: column; padding: 5rem 3rem; }
#what-i-do.home-page .service .content{ flex: 1; padding: 0 0 2rem; }
#what-i-do.home-page .service .link .btn{ border-color: var(--white); color: var(--white); text-decoration: none; }
#what-i-do.home-page .service .link .btn:hover{ background-color: var(--dark-dark); color: var(--white); border-color: var(--dark-dark); }
/* Advice */
#advice.home-page .row{ gap: 60px; }
#advice.home-page .need-advice{ width: calc( 40% - 40px ); }
#advice.home-page .image{ width: calc( 15% - 40px ); padding: 50px 0 0; }
#advice.home-page .image img{ width: 100%; }
#advice.home-page .courses{ width: calc( 45% - 40px ); }
#advice.home-page .panel{ padding: 0 0 6rem; display: flex; flex-direction: column; }
#advice.home-page .panel .content{ padding: 0 0 1rem; flex: 1; }
/* Story */
#my-story.home-page .container{ max-width: 1400px; }
#my-story.home-page .row{ align-items: stretch; }
#my-story.home-page .story-text{ border-top: solid 50px var(--white); border-bottom: solid 50px var(--white); flex: 1; padding: 50px; display: flex; flex-direction: column; justify-content: center; background-color: var(--light); }
#my-story.home-page .image, #my-story.home-page img{ width: 400px; }
#my-story.home-page .btn{ margin-top: 1rem; }

/* Single Page */

/* About Page */
.main-body .why-choose .row{ gap: 25px; align-items: center; }
.main-body .why-choose .content{ flex: 1; }
.main-body .why-choose .image, .main-body .why-choose img{ width: 350px; }
.main-body .why-choose .items{ flex: 1; }
.main-body .why-choose .item{ padding: 1.2rem 2rem; gap: 35px; display: flex; }
.main-body .why-choose .item:not(:last-of-type){ margin: 0 0 1rem; }
.main-body .why-choose .item i{ width: 64px; height: 64px; line-height: 64px; text-align: center; font-size: 2rem; }
.main-body .why-choose .item h3{ font-size: 1.4rem; }
.main-body .why-choose .item p{ padding: 0; }

/* About Profile */
.main-body .about-page.bg-image{ height: 50vh; background-position: center; background-repeat: no-repeat; background-image: url('../images/about-hermine-2.jpg'); background-size: cover; }
.main-body #my-story.about-page .row{ align-items: stretch; }
.main-body #my-story.about-page .story{ background-color: var(--light); }
.main-body #my-story.about-page .story-text{ flex: 1; padding: 50px; display: flex; flex-direction: column; justify-content: center; }
.main-body #my-story.about-page .story-text p:last-of-type{ padding: 0; }
.main-body #my-story.about-page .image{ padding: 50px 50px 50px; }
.main-body #my-story.about-page img{ width: 300px; }

/* Services Page */
.main-body .services{ gap: 50px; }
.main-body .services .service{ width: calc( 50% - 25px ); position: relative; overflow: hidden; }
.main-body .services .service-link{ display: block; text-decoration: none; }
.main-body .services .service img{ width: 100%; }
.main-body .services .service .content{ padding: 50px; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; position: absolute; bottom: 0; left: 0; width: 100%; color: var(--white); background-color: transparent; background-image: linear-gradient(180deg, rgba(224,26,79,0) 0%, var(--primary) 100%); transform: translateY(50%); opacity: 0; transition: all .2s ease-in-out; }
.main-body .services .service .service-link:hover .content{ transform: translateY(0); opacity: 1; }

/* Contact Page */
.main-body .single-page .contact-page .details.row{ gap: 30px 60px; }
.main-body .single-page .contact-page .contact-widget{ width: calc( ( 100% / 3 ) - 40px ); padding: 50px; }
.main-body .single-page .contact-page .contact-widget i{ font-size: 2rem; padding: 0 0 1.5rem; }
.main-body .single-page .contact-page .contact-widget .widget-title{ font-size: 1.2rem; }
.main-body .single-page .contact-page .contact-widget .data{ padding: 0; font-size: 1.3rem }
.main-body .single-page .contact-page .contact-widget .contact-link{ color: var(--light); }
.main-body .single-page .contact-page .contact-widget .contact-link:hover{ color: var(--white); }
.main-body .single-page .contact-page .booking-form{ padding: 48px 0 0; }

/* Hire Us Page */

/* Testimonial */
#reviews-banner{ position: relative; background-position: center; background-repeat: no-repeat; background-size: cover; background-image: url('../images/testimonial-bg.jpg'); padding: 120px 0; }
#reviews-banner::before{ position: absolute; content: ""; left: 0; top: 0; width: 100%; height: 100%; background-color: transparent; background-image: linear-gradient(90deg, rgba(224,26,79,0) 0%, var(--primary) 100%); }
#reviews-banner .review-container{ position: relative; }
#reviews-banner .review-container .container{ padding-left: 40%; }
#reviews-banner .section-title{ padding: 0 0 2.5rem;}
#reviews-banner .review .review-text{ font-size: 1.25rem; padding: 0 0 0.75rem; }
#reviews-banner .review .review-text p:last-of-type{ padding: 0; }
#reviews-banner .review .divider{ background-color: rgba(255,255,255,.45); margin: 1.15rem 0 1.75rem; }
#reviews-banner .slick-dots{ list-style: none; margin: 0 auto; max-width: 1500px; padding: 1rem 0 0 40%; position: relative; gap: 5px; display: flex; }
#reviews-banner .slick-dots li{ width: 25px; }
#reviews-banner .slick-dots li.slick-active{ width: 55px; }
#reviews-banner .slick-dots button{ font-size: 0; padding: 0; margin: 0; border: none; background-color: rgba(255,255,255,.7); width: 100%; height: 3px; }
#reviews-banner .slick-dots li.slick-active button{ background-color: var(--white); }

.divider{ position: relative; display: block; margin: 0 0 24px 0; max-width: 60px; height: 2px; border: none; }
.divider.light{ background-color: var(--light); }
.divider.dark{ background-color: var(--dark); }
.divider.primary{ background-color: var(--primary); }
.divider.secondary{ background-color: var(--secondary); }
.divider.accent{ background-color: var(--accent); }

/* Events */
.animate{ -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
/* required */
.calendar{ position: relative; border-radius: 4px; overflow: hidden; min-height: 450px; gap: 50px; padding: 0 75px; }
.calendar h1, .calendar h2{ font-weight: 300; text-transform: uppercase; margin: 0px 0px 20px 0px; }
.calendar h1 span{ display: block; }
.calendar .col{ position: relative; }
.calendar ul{ display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.calendar .leftCol{ width: 36%; padding: 35px; }
.calendar .leftCol .current.side-date{ font-size: 1.5rem; }
.calendar .leftCol .current.side-date .day{ display: block; padding: 0 0 4px; }
.calendar .events .event-item:not(:last-of-type){ padding-bottom: 24px; }
.calendar .events .event-item .content .event-title{ font-size: 1.3rem; }
.calendar .events .event-item .content .event-link{ color: var(--light); }
.calendar .events .event-item .content .event-link:hover{ color: var(--white); }
.calendar .events .event-item .content .meta-item .icon{ display: inline-block; width: 20px; text-align: center; margin-right: 8px; }
.calendar .events .event-item .image{ padding: 0 0 18px; }
.calendar .events .event-item .image img{ width: 100%; }
.calendar .noteList li{ margin-bottom: 10px; }
.calendar .leftCol h1{ margin-bottom: 40px; }
.calendar .rightCol{ flex: 1; }
.calendar .toolbar{ display: flex; gap: 20px; padding: 0 0 25px; }
.calendar .toolbar .btn{ border: none; padding: 0; width: 42px; line-height: 42px; height: 42px; text-align: center; font-size: 1.1rem; }
.calendar .toolbar .btn .label{ display: none; }
.calendar .toolbar .current{ flex: 1; text-align: center; padding: 0; margin: 0; font-size: 1.75rem; line-height: 42px; }
.calendar .months{ padding: 0 0 18px; }
.calendar .months li, .calendar .weekday li, .calendar .days li{ text-transform: uppercase; padding: 0; text-align: center; }
.calendar .months li{ width: calc( 100% / 12 ); }
.calendar .months li a, .calendar .weekday li a, .calendar .days li a{ display: block; color: var(--dark); }
.calendar .months li a{ font-size: 0.875rem; }
.calendar .months li .selected{ font-weight: 700; }
.calendar .weekday, .calendar .days{ border: solid 1px var(--light-dark); width: 100%; }
.calendar .weekday{ border-bottom-width: 0; border-right-width: 0; }
.calendar .days{ background-color: var(--light-dark); }
.calendar .weekday li a{ padding: 10px 0; }
.calendar .weekday li, .calendar .days li{ box-sizing: border-box; width: calc( 100% / 7 ); max-width: 14.2857%; }
.calendar .weekday li, .calendar .days li{ border: solid 1px var(--light-dark); border-width: 0 1px 1px 0; }
.calendar .days li:nth-of-type(7n){ border-right-width: 0; }
.calendar .days li:last-child{ border-bottom-width: 0; }
.calendar .days li:not(.empty-day){ background-color: var(--white); }
.calendar .days li a{ padding: 15px 5px 10px; text-decoration: none; border: solid 2px transparent; height: 80px; box-sizing: border-box; }
.calendar .days li a:hover{ color: var(--dark-dark) }
.calendar .days li .today{ border-color: var(--primary); }
.calendar .days li .selected, .calendar .days li .selected.today{ color: var(--white); background-color: var(--dark-dark); border-color: var(--dark-dark); }
.calendar .days li .selected:hover{ color: var(--light); }
.calendar .days li .day-number{ font-size: 1.3rem; }
.calendar .days li .day-events{ display: flex; gap: 8px; justify-content: center; padding: 5px 0; }
.calendar .days li .day-events .event{ width: 6px; height: 6px; border-radius: 50%; display: block; background-color: var(--primary); }
@media only screen and (max-width: 1100px ){
    .calendar{ gap: 20px; flex-direction: column-reverse; padding: 0; }
    .calendar .leftCol{ width: 100%; }
    .calendar .rightCol{ padding: 0; }
    .calendar .toolbar .current{ font-size: 1.15rem; }
    .calendar .months{ display: none; }
    .calendar .weekday li a{ font-size: 0.75rem; }
    .calendar .days li a{ padding: 10px 5px; height: 70px; }
    .calendar .days li .day-number{ font-size: 1.15rem; }
}
/* Single */
.event-page .page-title .event-meta{ gap: 0.85rem 2rem; padding: 2rem 0 0; }
.event-page .page-title .event-meta p{ font-size: 1.25rem; padding: 0; }
.event-page .page-title .event-meta .icon{ display: inline-block; vertical-align: middle; width: 24px; text-align: center; }
.event-page .page-title .event-meta .label{ display: inline-block; width: calc( 100% - 35px); vertical-align: middle; padding: 0 0 0 18px; box-sizing: border-box; }
.event-page .page-title .event-meta .date{ width: 350px; }
.event-page .page-title .event-meta .time{ width: 200px; }
.event-page .page-title .event-meta .location{ width: 100%; }
.event-page .body-content .image{ position: relative; padding-bottom: 47.6%; width: 100%; overflow: hidden; }
.event-page .body-content .image img, .event-page .body-content .image picture{ width: 100%; height: auto; position: absolute; top: 50%; transform: translateY(-50%); left: 0; }
.event-page .body-content .details{ gap: 40px; }
.event-page .body-content .event-content{ flex: 1; }
.event-page .body-content .event-content table{ width: 100%; border-collapse: collapse; border: 1px solid var(--light-dark, #ccc); font-size: 1rem; margin: 0 0 2rem; }
.event-page .body-content .event-content table thead tr{ background-color: var(--primary); color: var(--white); font-weight: 700; }
.event-page .body-content .event-content table thead th, .event-page .body-content .event-content table tbody td { padding: 10px; text-align: left; }
.event-page .body-content .event-content table tbody tr:nth-child(even) { background-color: var(--light-background, #fafafa); }
.event-page .body-content .event-content table tbody tr:hover { background-color: var(--hover-gray, #f0f0f0); }
.event-page .body-content .organisers{ width: 400px; padding: 2.5rem 2rem; height: fit-content; }
.event-page .body-content .organisers ul{ list-style: none;  margin: 0; padding: 0; }
.event-page .body-content .organisers ul li:not(:last-of-type){ padding: 0 0 1.5rem; }
.event-page .body-content .organisers ul li:last-of-type{ padding: 0; }
.event-page .body-content .organisers .organiser-name{ font-weight: 700; font-size: 1.15rem; padding: 0 0 0.75rem; }
.event-page .body-content .organisers .organiser-meta{ padding: 0 0 0.5rem; }
.event-page .body-content .organisers a{ color: var(--light); }
.event-page .body-content .organisers a:hover{ color: var(--white); }
.event-page .body-content .event-location .location-details{ width: 400px; padding: 2.5rem 2rem; }
.event-page .body-content .event-location .location-details strong{ display: block; font-family: var(--heading-font); padding: 0 0 8px; font-weight: 400; font-size: 1.2rem; }
.event-page .body-content .event-location .location-details .directions-link{ display: block; width: fit-content; padding: 10px 18px; margin: 24px 0 0; border-radius: 5px; text-decoration: none; background-color: var(--white); color: var(--dark-dark); transition: all .2s ease; }
.event-page .body-content .event-location .location-details .directions-link:hover{ background-color: var(--dark-dark); color: var(--white); }
.event-page .body-content .event-location .location-details .directions-link .icon{ display: inline-block; vertical-align: middle; font-size: 1.15rem; }
.event-page .body-content .event-location .location-details .directions-link .label{ display: inline-block; vertical-align: middle; padding: 0 0 0 12px; }
.event-page .body-content .event-location .google-map{ flex: 1; }
.event-page .body-content .event-location .google-map iframe{ width: 100%; height: 500px; margin: 0; padding: 0; border: none; vertical-align: bottom; }

/* Back to top */
.go-to-top { position: fixed; bottom: 20px; right: 25px; width: 50px; height: 50px; border-radius: 50%; background: rgba(175, 183, 193, 0.7); visibility: hidden; cursor: pointer; -webkit-transition: all .2s ease; transition: all .2s ease; z-index: 1100; }
.go-to-top::after { content: ""; position: absolute; top: 50%; left: 0; right: 0; margin: -4px auto; width: 12px; height: 12px; border-top: 2px solid #555; border-right: 2px solid #555; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
.go-to-top:hover { background: var(--primary); }
.go-to-top:hover::after { border-color: var(--white); }

@media only screen and (min-width: 801px) and (max-width: 1100px){
    #hero-banner.home-page{ height: unset; }
    #hero-banner.home-page .container{ padding: 70px 25px; min-height: 600px; }
    #hero-banner.home-page .hero-content{ padding-top: 0; }
    #hero-banner.home-page .hero-title{ font-size: 3.5rem; }
    #hero-banner.home-page .hero-subtitle{ font-size: 1.1rem; }
    #hero-banner.home-page .buttons .btn{ padding: 0.55rem 1.7rem; }
    #what-i-do.home-page .row, #advice.home-page .row{ gap: 30px; }
    #what-i-do.home-page .service{ padding: 3.25rem 2rem; }
    #what-i-do.home-page .service h2{ font-size: 1.85rem; }
    #what-i-do.home-page .service{ width: 100%; }
    #advice.home-page .need-advice, #advice.home-page .courses{ width: calc( 50% - 15px ); }
    #advice.home-page .image{ display: none; }
    #advice.home-page .panel{ padding: 0 0 2rem; }
    #reviews-banner .review-container .container{ padding-left: 25px }
    #my-story.home-page .story-text{ border-top: none; border-bottom: none; padding: 32px; }
    #my-story.home-page .story-text h2{ font-size: 1.85rem; }
    #my-story.home-page .image, #my-story.home-page img{ width: 300px; }
    .main-body .services .service .content{ position: relative; padding: 2rem 0.875rem; opacity: 1; background-image: unset; color: var(--primary-text); height: unset; transform: unset; }
    .main-body .services .service .service-link:hover .content{ transform: unset; }
    .main-body .services .service .service-name{ font-size: 1.75rem; color: var(--primary); }
    .main-body .services .service .service-link:hover .service-name{ color: var(--primary-dark); }
    .main-body .single-page .contact-page .details.row{ gap: 30px; }
    .main-body .single-page .contact-page .contact-widget{ padding: 50px 30px; width: calc( ( 100% / 3 ) - 20px ); }
    .main-body .why-choose .image, .main-body .why-choose img{ display: none; }
    .main-body .why-choose .row{ gap: 1rem; }
    .main-body .why-choose .item{ flex-direction: column; padding: 2rem 1.5rem; gap: 1.7rem; }

    .event-page .body-content .details{ flex-direction: column; gap: 25px; }
    .event-page .body-content .organisers, .event-page .body-content .event-location .location-details{ width: 100%; }
    .event-page .body-content .organisers ul{ display: flex; gap: 30p; flex-wrap: wrap; }
    .event-page .body-content .organisers ul li{ width: calc( 50% - 15px ); }
    .event-page .body-content .event-location{ flex-direction: column-reverse; }
    .event-page .page-title .event-meta{ gap: 0.5rem 1.5rem; }
    .event-page .page-title .event-meta p{ font-size: 1.1rem; }
    .event-page .page-title .event-meta .date{ width: calc( 55% - 0.75rem ); }
    .event-page .page-title .event-meta .time{ width: calc( 45% - 0.75rem ); }
}

@media only screen and (max-width: 800px){
    #hero-banner.home-page{ height: unset; }
    #hero-banner.home-page .container{ padding: 100px 25px; }
    #hero-banner.home-page .hero-content{ padding-top: 0; }
    #hero-banner.home-page .hero-title{ font-size: 2.25rem; }
    #hero-banner.home-page .hero-subtitle{ font-size: 1rem; }
    #hero-banner.home-page .buttons{ display: flex; gap: 15px; flex-direction: column; }
    #hero-banner.home-page .buttons .btn{ width: 100%; text-align: center; }
    #hero-banner.home-page .buttons .btn-read-more{ margin: 0; }
    #what-i-do.home-page .row, #advice.home-page .row{ flex-direction: column; gap: 25px; }
    #what-i-do.home-page .service{ padding: 3.25rem 2rem; }
    #what-i-do.home-page .service h2{ font-size: 1.85rem; }
    #what-i-do.home-page .service, #advice.home-page .need-advice, #advice.home-page .courses{ width: 100%; }
    #advice.home-page .image{ display: none; }
    #advice.home-page .panel{ padding: 0 0 2rem; }
    #reviews-banner .review-container .container{ padding-left: 25px }
    #my-story.home-page .story-text{ border-top: none; border-bottom: none; padding: 32px; }
    #my-story.home-page .story-text h2{ font-size: 1.85rem; }
    #my-story.home-page .row{ flex-direction: column-reverse; }
    #my-story.home-page .image, #my-story.home-page img{ width: 100%; }
    .main-body .services .service{ width: 100%; }
    .main-body .services .service .content{ position: relative; padding: 2rem 0.875rem; opacity: 1; background-image: unset; color: var(--primary-text); height: unset; transform: unset; }
    .main-body .services .service .service-link:hover .content{ transform: unset; }
    .main-body .services .service .service-name{ font-size: 1.75rem; color: var(--primary); }
    .main-body .services .service .service-link:hover .service-name{ color: var(--primary-dark); }
    .main-body .single-page .contact-page .details.row{ gap: 20px; }
    .main-body .single-page .contact-page .contact-widget{ padding: 50px 30px; width: 100%; }
    .form .fields-two .field{ width: 100%; }
    .main-body .why-choose .image, .main-body .why-choose img{ display: none; }
    .main-body .why-choose .row{ gap: 1rem; }
    .main-body .why-choose .item{ flex-direction: column; padding: 2rem 1.5rem; gap: 1.7rem; }

    .event-page .body-content .details{ flex-direction: column; gap: 25px; }
    .event-page .body-content .organisers, .event-page .body-content .event-location .location-details{ width: 100%; }
    .event-page .body-content .event-location{ flex-direction: column-reverse; }
    .event-page .page-title .event-meta{ gap: 0.85rem; flex-direction: column; }
    .event-page .page-title .event-meta p{ font-size: 1rem; width: 100% !important; }
    .event-page .body-content .image{ padding-bottom: 67.5%; }
}