/*
Theme Name: Fertility Coach
Description: WordPress theme designed by Wetdog Creative
Author: Wetdog Creative
Author URI: https://www.wetdogcreative.co.uk
Version: 1.0
*/

/*
================================================================================

  Reset

================================================================================
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*
================================================================================

  Base

================================================================================
*/

/* Typography */
html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { font-family: "futura-pt", sans-serif; font-size: 25px; line-height: 1em; font-weight: 400; color: #767676; }
h1, h2, h3, h4 { line-height: 1em; }
h1 { font-size: 50px; line-height: 1em; font-weight: 400; }
h2 { font-size: 50px; line-height: 1em; color: #eea594; font-weight: 300; -webkit-font-smoothing: antialiased; margin-bottom: 50px; }
h3 { font-size: 25px; line-height: 1.2em; font-weight: 600; color: #eea594; }
h4 { font-size: 1em; }
p { line-height: 1.4em; margin-bottom: 1.4em; }
b, strong { font-weight: bold; }
i, em { font-style: italic; }
small { font-size: 0.8em; }

/* Lists */
ul { list-style-type: disc; margin: 0 0 1.4em 2em; }
ol { list-style-type: decimal; margin: 0 0 1.4em 2em; }
ul li, ol li { margin-bottom: 0.7em; line-height: 1.4em; }
ul.no-list, ol.no-list, nav ul, ul.gform_fields { list-style-type: none; margin: 0px; padding: 0px; }
ul.no-list li, ol.no-list li, nav ul li, ul.gform_fields li { margin: 0px; padding: 0px; }

/* Navigation */
a { color: #767676; text-decoration: none; outline: none; transition: 0.3s; }

/* Forms */
input[type=text], input[type=email], input[type=password], input.text, input.search, textarea { font-family: inherit; font-size: inherit; -webkit-appearance: none; outline: none; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
label { cursor: pointer; }

/* Buttons */
input[type=submit], input.submit, button, input.button, a.button, .button { cursor: pointer; font-family: inherit; font-size: inherit; -webkit-appearance: none; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
input[type=submit]:hover, input.submit:hover, button:hover, input.button:hover, a.button:hover, .button:hover {  }

/* Text Selection */
::-moz-selection { background: #333; color: #fff; text-shadow: none; }
::selection { background: #333; color: #fff; text-shadow: none; }

/* Misc */
img { max-width: 100%; height: auto; border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }

/* Enable Box Sizing */
*, *:after, *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }


/*
================================================================================

  Page

================================================================================
*/

body { background: #fff; }
.wrapper { max-width: 1220px; margin: 0 auto; }

.left, .alignleft { float: left; }
.right, .alignright { float: right; }
.floatwrap { content: ""; display: table; clear: both; }
.clearfloats { clear: both; }
.page-inner { width: 100%; }

.alignright { margin: 0 0 30px 30px; }
.alignleft { margin: 0 30px 30px 0; }

.mobile-only { display: none; }

/*
================================================================================

  Header

================================================================================
*/

.page-header { background: #fce3dd; position: fixed; top: 0; left: 0; right: 0; z-index: 10; padding-top: 29px; height: 200px; transition: 0.3s; }
.page-header .wrapper { max-width: 1500px; display: flex; align-items: center; padding: 0 30px; }
.site-logo { width: 171px; height: 171px; transition: 0.3s; }
.site-logo a { display: block; }
.site-logo a:hover { opacity: 0.65; }
.main-nav { margin-left: auto; margin-top: -10px; }
.main-nav ul { display: flex; gap: 40px; }
.main-nav a { color: #eea594; -webkit-font-smoothing: antialiased; }
.main-nav a:hover { color: #767676; }

#btn-nav {
  position: absolute;
  top: 75px;
  right: 30px;
  width: 50px;
  height: 50px;
  margin: 0 auto;
  padding: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s;
  -moz-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
  cursor: pointer;
  background: none;
  -webkit-appearance: none;
  display: none;
  z-index: 99999;
  border: none;
  outline: none;
  border-radius: 0;
}

#btn-nav span {
  display: block;
  position: absolute;
  height: 3px;
  width: 30px;
  background: #eea594;
  border-radius: 0;
  opacity: 1;
  right: 10px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s;
  -moz-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
}

#btn-nav span:nth-child(1) {
  top: 13px;
}

#btn-nav span:nth-child(2) {
  top: 23px;
}

#btn-nav span:nth-child(3) {
  top: 33px;
}

#btn-nav.open span:nth-child(1) {
  top: 23px;
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

#btn-nav.open span:nth-child(2) {
  opacity: 0;
  right: -40px;
}

#btn-nav.open span:nth-child(3) {
  top: 23px;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
}

body.small-header .page-header { padding-top: 15px; height: 110px; }
body.small-header .site-logo { width: 80px; height: 80px; }

/*
================================================================================

  Main

================================================================================
*/

/* Fixes white gap bug */
#page::before { background: #fce3dd; content: ''; display: block; height: 200px; width: 100%; position: absolute; top: 0; left: 0; right: 0; z-index: 1; }

.page-banner { background: #eea594; height: 740px; overflow: hidden; position: relative; }
.page-banner, .page-title { margin-top: 200px; }

.banner-content { position: absolute; top: 0; bottom: 0; left: 0; right: 0; overflow: hidden; }
.banner-content-inner { position: relative; z-index: 4; height: 100%; width: 52%; display: flex; justify-content: flex-start; align-items: center; padding-left: calc(50% - 610px); }
.banner-content::before { content: ''; display: block; background: #fce3dd; border-radius: 50%; width: 1700px; height: 1700px; position: absolute; top: -800px; right: 40%; z-index: 3; }
.banner-content::after { content: ''; display: block; background: #eea594; border-radius: 50%; width: 1700px; height: 1700px; position: absolute; top: 0; right: 32%; z-index: 2; }
.banner-image { position: absolute; top: 0; bottom: 0; right: 0; width: 45%; overflow: hidden; z-index: 1; }
.banner-image img { object-fit: cover; width: 100%; height: 100%; }
.page-banner h1 { font-size: 50px; line-height: 1.2em; font-weight: 400; margin: -120px 0 0; -webkit-font-smoothing: antialiased; }

.page-main { padding: 100px 0; }

.twocol { display: grid; grid-template-columns: repeat(2,1fr); grid-gap: 50px; }
.twocol .col:nth-child(2) { padding-right: 25px; }

.cta a { background: #fce3dd url(images/bg-cta.png) -1px center no-repeat; background-size: 42px auto; border-radius: 10px; display: block; line-height: 1.2em; padding: 20px 40px 20px 60px; }
.cta a:hover { background-color: #fff !important; }

.homepage-content .cta { max-width: 480px; margin: 20px auto 0; }
.homepage-content .cta a:hover { background-color: #fef0ec !important; }

.section-help { margin-bottom: 100px; }
.section-help h2 { border-top: solid 2px #fef2ef; padding-top: 40px; margin-bottom: 70px; }
ul.help-blocks { display: grid; grid-template-columns: repeat(2,1fr); grid-column-gap: 60px; grid-row-gap: 40px; }
ul.help-blocks li { display: flex; }
.help-icon { width: 110px; flex-shrink: 0; flex-grow: 0; margin-right: 20px; text-align: center; padding-top: 0.5em; }
.help-icon img { height: auto; }
.help-content p { margin: 0; }

ul.help-blocks li:nth-child(1) img { width: 104px; }
ul.help-blocks li:nth-child(2) img { width: 67px; }
ul.help-blocks li:nth-child(3) img { width: 67px; }
ul.help-blocks li:nth-child(4) img { width: 75px; }
ul.help-blocks li:nth-child(5) img { width: 70px; }
ul.help-blocks li:nth-child(6) img { width: 70px; }
ul.help-blocks li:nth-child(7) img { width: 101px; }
ul.help-blocks li:nth-child(8) img { width: 86px; }

.section-services { background: #eea594; padding: 60px 0 0; }
.section-services h2 { color: #fff; }
.services-main { display: grid; grid-template-columns: repeat(2,1fr); grid-gap: 40px; margin-bottom: 60px; }
.services-content { background: #fce3dd; border-radius: 20px; padding: 48px 33px; }
.services-content h3 { color: #767676; }

.services-content ol { list-style-type: none; margin: 0 0 40px; padding: 0; counter-reset: counter; }
.services-content ol li { margin: 0 0 40px; padding: 0 0 0 80px; counter-increment: counter; position: relative; }
.services-content ol li:last-child { margin-bottom: 0; }
.services-content ol li::before { content: counter(counter); background: #eea594; color: #fce3dd; position: absolute; top: 8px; left: 0; width: 67px; height: 67px; border-radius: 50%; padding: 0; text-align: center; font-size: 50px; line-height: 67px; font-weight: 700; }

.services-content .cta { margin: 0 -20px -34px; }
.services-content .cta a { border: solid 5px #eea594; font-size: 32px; padding: 25px 20px 25px 60px; }
.services-secondary { padding: 48px 0; color: #fff; }
.services-secondary h3 { color: #fff; }

.service-blocks { border-top: solid 2px #f6cfc6; padding: 50px 0 280px; color: #fff; background: url(images/rainbow.png) center bottom no-repeat; background-size: 304px auto; }
ul.service-blocks-list { display: grid; grid-template-columns: repeat(3,1fr); grid-gap: 55px; }
ul.service-blocks-list li { position: relative; padding-bottom: 130px; }
ul.service-blocks-list h3 { color: #fff; font-weight: 300; font-size: 40px; line-height: 1em; margin-bottom: 30px; }
ul.service-blocks-list p { margin-bottom: 0; }
ul.service-blocks-list .cta { position: absolute; bottom: 0; left: 0; right: 0; }
ul.service-blocks-list .cta a { font-family: 'futura-pt-bold'; font-weight: 700; text-align: center; padding-right: 30px; height: 100px; display: flex; align-items: center; }

.section-book { background: #fae4df; padding: 60px 0; }
.section-book h2 { margin-bottom: 0; }

.section-qualifications { padding: 45px 0; margin-bottom: 50px; }
.quals-main { display: grid; grid-template-columns: 1fr 480px; grid-gap: 60px; }
.quals-gallery {  }
ul.gallery-list { display: flex; gap: 20px; flex-wrap: wrap; }

.section-contact .wrapper { border-top: solid 2px #fef2ef; padding: 50px 0 85px; }
.section-contact h2 { margin-bottom: 40px; }
.contact-main { display: flex; }
.contact-intro { border-right: solid 2px #fce3dd; padding-right: 50px; margin-right: 50px; }
.contact-intro p { font-size: 36px; line-height: 1.25em; margin: 0; -webkit-font-smoothing: antialiased; text-wrap: balance; }
.contact-main .cta a { white-space: nowrap; height: 100px; font-weight: 700; font-family: 'futura-pt-bold'; color: #fff; background-color: #eea594 !important; background-image: url(images/bg-cta-white.png) !important; display: flex; align-items: center; }
.contact-main .cta a:hover { opacity: 0.65; }
.social-links { display: flex; gap: 10px; margin-left: 80px; height: 100px; align-items: center; }
.social-links a { display: block; width: 72px; height: 72px; border-radius: 50%; background-color: #eea594; }
.social-links a:hover { opacity: 0.65; }
.social-facebook { background: url(images/icon-facebook.png) center center no-repeat; background-size: auto 66%; }
.social-instagram { background: url(images/icon-instagram.png) center center no-repeat; background-size: auto 66%; }

/* bxSlider */
.bx-wrapper { position: relative; margin-bottom: 0; padding: 0; *zoom: 1; -ms-touch-action: pan-y; touch-action: pan-y; }
.bx-wrapper img { max-width: 100%; display: block; }
.bxslider { margin: 0; padding: 0; }
ul.bxslider { list-style: none; }
.bx-viewport { -webkit-transform: translatez(0); }
.bx-controls a, #btn-up { display: block; width: 56px; height: 56px; border-radius: 50%; background-color: #eea594 !important; background-size: 16px auto !important; position: absolute; top: 50%; margin-top: -28px; opacity: 0.65; }
.bx-controls a:hover, #btn-up:hover { opacity: 1; }
.bx-prev { left: 0; background: url(images/arrow-left.png) 44% center no-repeat; }
.bx-next { right: 0; background: url(images/arrow-right.png) 56% center no-repeat; }

.section-testimonials .wrapper { border-top: solid 2px #fef2ef; padding: 50px 0; }
.section-testimonials h2 { margin-bottom: 85px; }
ul.testimonials-list li { padding: 0 150px; }
ul.testimonials-list p { margin: 0; font-size: 50px; line-height: 1.2em; color: #eea594; font-weight: 300; -webkit-font-smoothing: antialiased; }

.standard-page h1 { font-weight: 300; -webkit-font-smoothing: antialiased; margin-bottom: 0.5em; }
.standard-page h1, .standard-page h2 { text-align: center; }
.standard-page .col-main { max-width: 800px; margin: 0 auto; }
.standard-page .col-main p:last-child { margin-bottom: 0; }
.standard-page .col-main a { text-decoration: underline; }
.standard-page .col-main a:hover { text-decoration: none; }

#calendly-embed { min-height: 805px; }

.page-title { background: #fce3dd; padding: 50px 0; }
.page-title h1 { margin: 0; text-align: center; font-size: 50px; line-height: 1.2em; font-weight: 400; -webkit-font-smoothing: antialiased; }

body.error404 .col-main { text-align: center; }

/*
================================================================================

  Footer

================================================================================
*/

.page-footer { padding: 85px 0 150px; }
.page-footer .wrapper { border-top: solid 2px #fef2ef; padding: 20px 0 20px; display: flex; position: relative; }
.page-footer ul, .page-footer p { font-size: 20px; }

.footer-nav ul { display: flex; }
.footer-nav ul li::before { content: '|'; font-size: 18px; margin: 0 5px; position: relative; top: -1px; }
.footer-nav ul li:first-child::before { display: none; }
.footer-right { margin-left: auto; }
.footer-right a { color: #eea594; font-weight: 600; -webkit-font-smoothing: antialiased; }
.footer-right a:hover { color: #767676; }

#btn-up { display: block; top: auto; bottom: 0; left: 50%; margin: 0 0 0 -28px; border: none; outline: none; transition: 0.3s; background: url(images/arrow-up.png) center 45% no-repeat; background-size: auto 16px !important; }

.cky-btn-accept { background: #eea594 !important; border-color: #eea594 !important; transition: 0.3s; }
.cky-btn-reject, .cky-btn-customize, .cky-btn-preferences { border-color: #eea594 !important; transition: 0.3s; color: #eea594 !important; }
.cky-preference-content-wrapper .cky-show-desc-btn, .cky-accordion-header .cky-always-active { color: #eea594 !important; }
.cky-btn-revisit-wrapper { background-color: #ee927c !important; }

/*
================================================================================

  Media Queries

================================================================================
*/

@media only screen and (max-width: 1360px) {
  .main-nav ul { gap: 30px; }
}

@media only screen and (max-width: 1300px) {
  .page-header { overflow: hidden; }
  #nav { transition: 0.3s; display: block; position: fixed; top: 200px; right: 0; transform: translateX(100%); bottom: 0; z-index: 9; background: #ee927c; margin: 0; }
  html.nav-active #nav { transform: translateX(0); }
  body.small-header #nav { top: 110px; }
  #nav .menu-main-menu-container { display: flex; align-items: center; height: 100%; }
  #nav ul { display: block; }
  #nav a { padding: 10px 20px; display: block; min-width: 250px; color: #fff; }
	#btn-nav { display: block; }
  .banner-content-inner { padding-left: 30px; width: 50%; }
  .page-banner h1 br { display: none; }
  .wrapper, .section-contact, .section-testimonials, .page-footer { padding-left: 30px; padding-right: 30px; }
  body.small-header #btn-nav { top: 30px; }
}

@media only screen and (max-width: 1023px) {
  .contact-main { display: grid; grid-template-columns: repeat(2,1fr); grid-gap: 40px; }
  .contact-intro { border: none; padding: 0; margin: 0; grid-column: 1/-1; }
  ul.testimonials-list li { padding: 0 100px; }
  ul.testimonials-list p { font-size: 40px; -webkit-font-smoothing: auto; }
  .page-footer ul, .page-footer p { font-size: 18px; }
  #btn-up { bottom: -30px; }
}

@media only screen and (max-width: 900px) {
  .page-banner { height: 600px; }
  .page-banner h1 { font-size: 40px; }
  .banner-image { width: 50%; }
  .twocol { display: block; }
  ul.help-blocks, ul.service-blocks-list { display: block; }
  ul.help-blocks li, ul.service-blocks-list li { margin-bottom: 40px; }
  ul.help-blocks li:last-child, ul.service-blocks-list li:last-child { margin-bottom: 0; }
  .services-main { display: block; margin-bottom: 0; }
  .services-secondary p:last-child { margin-bottom: 0; }
  .section-qualifications { margin-bottom: 20px; }
  .quals-main { display: block; }
  .quals-content { margin-bottom: 40px; }
  .quals-image { text-align: center; }
  .page-footer { padding-top: 30px; }
  .page-footer .wrapper { display: block; text-align: center; }
  .footer-nav ul { justify-content: center; }
  .footer-right { padding-top: 10px; }
}

@media only screen and (max-width: 767px) {
  body { font-size: 22px; }
  h2, .section-help h2 { font-size: 40px; text-wrap: balance; margin-bottom: 30px; }
  #btn-nav { top: 30px; right: 20px; }
  #nav { top: 110px; }
  .page-header { padding-top: 15px; height: 110px; }
  .site-logo { width: 80px; height: 80px; }
  
  .page-banner { height: auto; padding-bottom: 220px; }
  .page-banner, .page-title { margin-top: 110px; }
  .page-banner h1, .page-title h1 { font-size: 28px; margin: 0; }
  .page-banner::after { content: ''; display: block; width: 250%; height: 250px; position: absolute; bottom: -150px; left: -170%; z-index: 5; background: #fce3dd; border-radius: 50%; }
  .banner-content { position: relative; top: auto; bottom: auto; left: auto; right: auto; width: 100%; }
  .banner-content-inner { width: 100%; padding: 15px 30px; }
  .banner-content { background: #fce3dd; overflow: visible; }
  .banner-content::before { width: 300%; height: 1000px; top: auto; right: -100%; bottom: -25%; }
  .banner-content::after { display: none; }
  .banner-image { position: absolute; width: 250px; height: 250px; border-radius: 50%; overflow: hidden; bottom: -30px; right: -30px; top: auto; left: auto; z-index: 4; }

  .page-main { padding: 60px 0; }
  .section-help { margin-bottom: 60px; }
  ul.help-blocks li { display: block; }
  .help-icon { text-align: left; margin: 0 0 15px; }

  .services-content { padding: 30px; }
  .services-content ol li { padding-left: 50px; line-height: 1.25em; }
  .services-content ol li::before { top: 5px; left: -5px; width: 40px; height: 40px; line-height: 40px; font-size: 30px; }
  .services-content .cta { margin: 0 -15px -15px; }
  .services-content .cta a { font-size: 25px; padding-top: 15px; padding-bottom: 15px; }
  .service-blocks { padding-bottom: 200px; background-size: 240px auto; background-position: center bottom -2px; }

  .section-book h2 { margin-bottom: 30px; }

  .section-contact .wrapper { padding-bottom: 50px; }
  .contact-main { display: block; }
  .contact-intro { margin-bottom: 30px; }
  .contact-intro p { font-size: 25px; }
  .contact-main .cta { margin-bottom: 20px; }
  .contact-main .cta a { white-space: normal; }
  .social-links { margin: 0; justify-content: center; }

  .section-testimonials .bx-wrapper { padding-bottom: 75px; }
  ul.testimonials-list li { padding: 0; }
  ul.testimonials-list p { font-size: 25px; }
  .bx-controls a { top: auto; bottom: 0; }

  .footer-nav ul { display: block; }
  .footer-nav ul li::before { display: none; }
  .footer-right p { max-width: 200px; margin-left: auto; margin-right: auto; }

  

}

/*
================================================================================

  Print Styles

================================================================================
*/

@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}