/*!
Theme Name:   Storefront Child
Author:       The Sam Exponential
Author URI:   https://thesamexponential.com/
Template:     storefront
Text Domain:  storefrontchild
*/


* {
  box-sizing: border-box;
}


body {
	background: rgba(62, 192, 239, .01);
	color: #58595b;
	font-family: Quicksand, Noto Sans JP, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	text-rendering: optimizeLegibility;
	word-wrap: break-word;
	margin: 0;
}

body.learnjapanese {
	background: rgba(203, 25, 120, .01);
}

body.hiretranslator {
	background: rgba(51, 51, 51, .01);
}


.bgHighlight {
	background: rgba(63, 192, 239, .3);
}

.bgHighlightOrange {
	background: rgba(255, 208, 65, .3);
}

/**  TEXT  **/
.fontQuick {
	font-family: Quicksand, Noto Sans JP, sans-serif;
}
.fontYester {
	font-family: Yesteryear, Noto Sans JP, sans-serif;
}
.fw400 {
	font-weight: 400;
}

b, strong {
  font-weight: 600;
}

.tinyText, .furi {
	font-size: .5em;
}

.keepTogether {
	word-break: keep-all;
}
.lowered {
	text-transform: lowercase;
}

.smallLineHeight {
	line-height: .7;
}

.strikeit {
    text-decoration: line-through;
}

.underlined {
	border-bottom: 4px double #cb1978;
}

.tradeMark {
  font-size: 1.3rem;
  vertical-align: super;
  font-family: Quicksand, Noto Sans JP, sans-serif;
}

.withSubs {
  display: inline-block;
  line-height: .9;
  vertical-align: middle;
  text-align: center;
}
.subs {
  display: inline-block;
  font-size: .7em;
}




/**  LINKS  **/
button, .linkButton, .button {
	color: #fff;
	font-family: Quicksand, Noto Sans JP, sans-serif;
	line-height: 1.111;
	font-size: 18px;
	font-weight: 500;
	text-transform: lowercase;
	word-break: break-word;
}

a {
  background-color: rgba(0,0,0,0);
}

a, .widget-area .widget a, input[type="button"].returnlink, .cat-links a, .tags-links a {
	color: #3fc0ef;
	text-decoration: none;
	font-weight: 500;
	text-transform: lowercase;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  font-weight: 300;
}

a:hover,
a:active,
input[type="button"].returnlink:hover {
	outline: 0;
	text-decoration: underline;
}


input[type="button"].returnlink {
	border: none;
	background: none;
	padding: 0;
	height: 100%;
	font-size: 1em;
	text-align: left;
}

input[type="button"].returnlink:hover {
	background-color: transparent;
	color: #3fc0ef;
	border: none;
}

a:focus {
	outline-style: dashed;
	outline-width: thin;
}

.jumpanchor, .hentry .entry-content a:not(.button):not(.components-button), .site-footer a:not(.button):not(.components-button), a.button:active, a.button:hover, a.linkButton {
    text-decoration: none;
}

.returnLinkContainer:before, .parentlink:before, .nextLink:after {
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    content: "";
	background: url(sprite.png);
}
.returnLinkContainer:before {
	background-position: 7px -50px;
	width: 23px;
	height: 22px;
	padding-right: 8px;
}
.nextLink:after {
	background-position: -42px -150px;
	width: 23px;
	height: 22px;
	padding-left: 8px;
}

.parentlink:before {
	background-position: -50px -100px;
	width: 23px;
	height: 10px;
	padding-right: 5px;
}

.parentlink, .returnLinkContainer, .nextLink {
	display: flex;
	align-items: center;
}

/* section-specific  */
.therest a:focus {
	outline-color: #aaa;
}
.therest .toggleBtn[aria-pressed='false'] {
	color: #aaa;
}


.learnjapanese a:focus {
	outline-color: #cb1978;
}
.learnjapanese .toggleBtn[aria-pressed='false'] {
	color: #cb1978;
}


.hiretranslator a:focus {
	outline-color: #333;
}
.hiretranslator .toggleBtn[aria-pressed='false'] {
	color: #333;
}
/**  LINKS  **/


/**  POSITIONING  **/
.hidden {
	visibility: hidden;
}
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.posRel {
	position: relative;
}
.columned {
	flex-direction: column;
}
.centered {
	text-align: center;
}
.vCentered {
	align-items: center;
}
.hCentered {
	margin: 0 auto;
}
.takeover .flexCtrAlign, .flexJustCtr {
	justify-content: center;
	gap: 2em;
}
.takeover .withAside, .justEnd {
	justify-content: flex-end;
}
.alignEnd {
	align-items: flex-end;
}

.topAdjust {
	margin-top: .5em;
}

.superTopAdjust {
	margin-top: 3em;
}

p {
	margin-bottom: 16px;
}

ol, ul {
	margin: 0 0 1.41575em 3em;
  box-sizing: border-box;
  padding: 0;
}

li + li {
	margin-top: 10px;
}

.floatRight {
	float: right;
}
.textAlignRight {
	text-align: right;
}


.flex {
	display: flex;
}

.flexGap {
	justify-content: space-between;
	gap: 25px;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary, .dispBlock, .forminator-label {
	display: block;
}

.dispIBlock, .mobileHidden, .forminator-row .forminator-radio-inline {
	display: inline-block;
}

.dispNone, .mobileScrollable, .tabletVScrollable, .desktopTabletHidden, .desktopHidden, .desktopTabletHiddenIB, .desktopHiddenIB, .fa-solid.desktopHiddenIB, .mobileDrop {
	display: none;
}
.dispNoneForce {
	display: none !important;
}

.mobileScrollable::after, .tabletVScrollable::after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    font-family: 'Font Awesome 5 Free', sans-serif;
    font-weight: 900;
    line-height: inherit;
    content: "\f061";
    font-size: .8em;
    padding: 0 8px;
}
.cb {
	clear: both;
}
.clear::after, .entry-content::after, .comment-content::after, .site-header::after, .site-content::after, .site-footer::after {
  clear: both;
}
.clear::before, .clear::after, .entry-content::before, .entry-content::after, .comment-content::before, .comment-content::after, .site-header::before, .site-header::after, .site-content::before, .site-content::after, .site-footer::before, .site-footer::after {
  content: "";
  display: table;
}


@media (min-width: 831px) and (max-width: 1140px) {
	.desktopHidden {
		display: block;
	}
	.desktopHiddenIB, .fa-solid.desktopHiddenIB {
		display: inline-block;
	}
	.tabletHHidden, .tabletHHiddenIB, .fa-solid.tabletHHidden, .fa-solid.tabletHHiddenIB {
		display: none;
	}
}
@media (min-width: 569px) and (max-width: 830px) {
	.desktopHidden {
		display: block;
	}
	.desktopHiddenIB, .fa-solid.desktopHiddenIB, .tabletVScrollable {
		display: inline-block;
	}
	.tabletVHidden, .tabletVHiddenIB, .tabletHidden {
		display: none !important;
	}
}
@media (max-width: 568px) {
	.desktopTabletHidden, .desktopHidden {
		display: block;
	}
	.desktopTabletHiddenIB, .desktopHiddenIB, .mobileScrollable {
		display: inline-block;
	}
	.mobileHidden {
		display: none;
	}
}
@media only screen and (max-width: 484px) {
	.fa-solid.mobileHidden {
		display: none;
	}
	.desktopTabletHiddenIB, .desktopHiddenIB, .fa-solid.desktopHiddenIB {
		display: inline-block;
	}
}



/**  HEADERS  **/
h1, h2, h3, h4, h5, h6 {
  font-weight: 300;
  clear: both;
  margin: 0 0 .5407911001em;
}


h1,
h2,
h4,
h6, .customerName {
	clear: both;
	font-family: Yesteryear, Noto Sans JP, sans-serif;
	text-transform: lowercase;
	margin: 36px 0 12px;
}

.alpha {
  font-size: 2.617924em;
  line-height: 1.214;
  letter-spacing: -1px;
}

h1 {
	font-size: 40px;
	line-height: 1.3;
	margin: 0 0 12px;
	letter-spacing: -.5px;
}

h2, .customerName {
	font-size: 30px;
	line-height: 1.0909090909;
}

h2 + h3 {
	border: 0;
	padding-top: 0;
}

h3, ul + h3 {
	text-transform: uppercase;
	font-size: 15px;
	line-height: 1.0909090909;
	font-weight: 600;
}

p + h3, p + h2 {
	margin-top: 2.2906835em;
}

h4, p + h4 {
	font-size: 20px;
	line-height: 1.2;
	margin-top: 25px;
	font-weight: 400;
}

h5, .captionHeader {
	text-transform: uppercase;
	font-size: 10px;
	line-height: 1.3333333333;
	font-weight: 400;
}

.captionHeader {
	color: #cb1978;
}

h6 {
	font-size: 16px;
	line-height: 1.5;
}

h1 .indented {
	text-indent: 13vw;
	display: block;
}

.qsHeaderFont {
	font-family: Quicksand, Noto Sans JP, sans-serif;
	font-size: .7em;
	font-weight: 600;
}
li .qsHeaderFont {
	font-size: .85em;
}


/* seed prod */
#sp-page h1 {
	font-weight: 400;
}

@media (min-width: 569px) and (max-width: 767px) {
	h1 {
		line-height: 1;
	}
}

@media (max-width: 568px) {
	h1 {
		line-height: .9;
	}
}



/* section-specific  */
.therest h1,
.therest h2,
.therest h3,
.therest h4,
.therest h5,
.therest h6,
.therest #reply-title {
	color: #aaa;
}

.learnjapanese h1,
.learnjapanese h2,
.learnjapanese h3,
.learnjapanese h4,
.learnjapanese h5,
.learnjapanese h6,
.learnjapanese #reply-title,
.product_cat-japanese h1,
.product_cat-japanese h2,
.product_cat-japanese h3,
.product_cat-japanese h4,
.product_cat-japanese h5,
.product_cat-japanese h6 {
	color: #cb1978;
}

.hiretranslator h1,
.hiretranslator h2,
.hiretranslator h3,
.hiretranslator h4,
.hiretranslator h5,
.hiretranslator h6,
.hiretranslator #reply-title {
	color: #333;
}
/**  END HEADERS  **/




/*  CONTENT  */
body, .site {
  overflow-x: hidden;
}

.content-area {
    width: 100%;
    float: none;
    margin-right: 0;
}

.site-content {
	box-shadow: inset 0px 0px 18px 5px rgba(0, 0, 0, 0.10);
	padding-bottom: 4.235801032em !important;
	outline: none;
}

.content-area, .widget-area {
	margin-top: 36px;
}

.col-full {
    max-width: 66.4989378333em;
    margin-left: auto;
    margin-right: auto;
    padding: 0 2.617924em;
    box-sizing: content-box;
}

.hentry {
	margin: 0;
}

.site-main, .hentry {
	margin-bottom: 0;
}
.hentry + .hentry {
	margin-top: 4.235801032em;
}

.hentry .entry-header {
	border: none;
}

/* not used? */
#optimallearning {
	width: 33%;
	float: right;
}

.radiocheckAnswer {
	display: flex;
    flex-direction: row;
	align-items: baseline;
}

.surveypage {
	margin-bottom: 30px;
}

#faqbox {
	float: left;
	width: 63%;
	margin-right: 40px;
}
/* end not used ? */


[role="region"][aria-labelledby][tabindex] {
  overflow: auto;
}

[role="region"][aria-labelledby][tabindex]:focus {
  outline: .1em solid rgba(0,0,0,.1);
}

ul.minders {
	margin-left: 3em;
	list-style: disc;
}

.arrow:after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    font-family: 'Font Awesome 5 Free', sans-serif;
    font-weight: 900;
    line-height: inherit;
    content: "\f061";
	font-size: .8em;
	padding: 0 8px;
}

.alterArrows {
	font-size: 4rem;
	color: rgba(198, 248, 223, .5);
}
.alterArrows i:nth-child(2n+2) {
	color: rgba(203, 25, 120, .2);
}



img {
  border: 0;
  height: auto;
  max-width: 100%;
  display: block;
  border-radius: 3px;
}


.imageContainer img {
	width: 100%;
}

.imgFrame {
	border-radius: 6px;
	margin-left: 2em;
	margin-bottom: 30px;
	display: inline-block;
	box-shadow: 1px 1px 1px gray, 15px 25px 1px rgba(198, 248, 223, .5), -17px -15px 1px rgba(203, 25, 120, .2);
}

.narrowContainer {
	width: calc(640px - 3.3em);
}

.fullWidthContainer {
	margin: 5em 0;
	width: 100%;
	padding: 3em 0;
}




.faqBlock {
	flex-wrap: wrap;
	min-height: 65em;
	justify-content: flex-start;
	max-height: 73em;
}
.faqItem {
	width: 47%;
	max-width: 450px;
}

 .faqTall {
	max-height: 92em;
}
 .faqShort {
	min-height: 25em;
	max-height: 31em;
}




.specialHeaderPromo {
	padding: 1.5em;
    font-weight: 900;
    border: 6px #3ec0ef;
    border-style: inset;
    color: #58595b;
    margin: 2em 1.5em 0;
    max-width: 60%;
}

.specialHeaderPromo .link {
	color: #3fc0ef;
}



@media (max-width: 450px) {
	#mobileScrollContainer {
		overflow-x: scroll;
		width: 100%;
	}
	.featuredText {
		font-size: 8.5vw;
	}
}

@media (max-width: 540px) {
	.mobileDrop {
		display: inline-block;
	}
}

@media only screen and (min-width:540px) {
	h1 .indented {
		text-indent: 6vw;
	}
	.featuredText {
		font-size: 4vw;
	}
}

@media (max-width: 568px) {
	.site-content {
		padding-bottom: 2.617924em !important;
	}
	
	#optimallearning {
		width: 100%;
		float: none;
	}

	.col-full {
		margin-left: 1.416em;
		margin-right: 1.416em;
	}

	.arrow:after {
		content: "\f062";
	}

	.featuredText {
		font-size: 6.5vw;
	}

	.narrowContainer, .faqItem {
		width: auto;
	}

	.flex, .flexGap {
		flex-direction: column;
	}
	.alterArrows {
		height: calc(4rem + 24px);
		overflow: hidden;
	}
	.faqBlock {
		min-height: auto;
		max-height: none;
	}
	.superTopAdjust .superTopAdjust {
		margin-top: 2em;
	}
}

@media only screen and (min-width: 569px) and (max-width: 830px) {
	.narrowContainer {
		width: 86vw;
		margin: 0 auto;
	}

	.superTopAdjust .superTopAdjust {
		margin-top: 2em;
	}
	.faqItem {
		width: auto;
		margin-left: auto;
		margin-right: auto;
		min-width: 450px;
	}
	.faqBlock {
		min-height: auto;
		max-height: none;
	}
}
@media (min-width: 768px) {
  .col-full {
    max-width: 66.4989378333em;
    margin-left: auto;
    margin-right: auto;
    padding: 0 2.617924em;
    box-sizing: content-box;
  }
   .col-full::after {
    content: " ";
    display: block;
    clear: both;
  }
   .site-content::after {
    clear: both;
  }
  .site-content::before, .site-content::after {
    content: "";
    display: table;
  }
.page-template-template-fullwidth-php .content-area, .page-template-template-homepage-php .content-area {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
}

  .content-area, .widget-area {
    margin-bottom: 2.617924em;
  }
}

@media only screen and (min-width: 831px) and (max-width: 1140px) {
	.narrowContainer {
		width: auto;
	}
}

@media only screen and (min-width:940px) {
	h1 .indented {
		text-indent: 93px;
	}

	.featuredText {
		font-size: 26px;
	}
}




/**  MEMBERS **/
.members-access-error {
	background: #444;
	margin-top: -80px;
	color: #eee;
	margin-left: -.4em;
	padding-left: 4.235801032em;
	padding-right: 4.235801032em;
	border: 1px solid #444;
	z-index: 10000;
    position: relative;
	box-shadow: 0px 0px 15px 0px rgba(21, 195, 161, 0.1875);
}

.members-access-error p + h2 {
	margin-top: 0;
}
.members-access-error h2, .members-access-error h3 {
	color: #15c3a1;
	text-shadow: rgba(21, 195, 161, .1) 1px 1px 10px;
}

@media (max-width: 767px) {
	.members-access-error {
		margin-top: -70px;
	}
}
@media (max-width: 568px) {
	.members-access-error {
		margin-left: -2.617924em;
		padding-left: 2.617924em;
		padding-right: 2.617924em;
		margin-right: -2.617924em;
	}
}




/*  TABLES  */
table {
  border-spacing: 0;
  width: 100%;
  margin: 0 0 1.41575em;
  border-collapse: separate;
}
table th {
  font-weight: 600;
}
table td, table th {
  padding: 1em 1.41575em;
  text-align: left;
  vertical-align: top;
}


table:not(.has-background) th {
  background-color: #f1f1f1;
}

.learnjapanese table:not(.has-background) th {
  background-color: #f8f1f8;
}

table:not(.has-background) tbody td {
    background-color: transparent;
}

table:not(.has-background) tbody tr:nth-child(2n) td {
    background-color: #f8f8f8;
}


.comparisonTable, .trackTable, .symbolTable, .narrowTable {
	max-width: 500px;
	margin: 0 auto;
}
.comparisonTable th, .comparisonTable td {
	width: 50%;
	text-align: center;
}

.trackTable th {
	width: 27%;
}
/**  TABLES  **/




/*  FOOTER  */
.site-footer {
	padding: 1.1em 0 1em;
}

.site-info {
	text-align: center;
	padding: 0;
}

.site-footer a:not(.button):not(.components-button):hover {
    text-decoration: underline;
}

.site-info span[role="separator"]::before {
  content: "|";
}

.site-info span[role="separator"] {
  padding: 0 .2360828548em 0 .3342343017em;
}
/**  END FOOTER  **/



/* REWARD POINTS */
.notice-wrap {
	position: fixed;
	top: 50px;
	right: 50px;
	z-index: 9999;
	opacity: 0.8;
}

* html .notice-wrap {
	position: absolute;		
}

.notice-item {
    position: relative;
    display: block;
    width: 20vw;
    height: auto;
    margin: 0 0 24px 0;
    padding: 1em;
    line-height: 22px;
    border-radius: 0;
    background-color: rgba(21, 195, 161, .75);
    color: #fff;
    min-width: 223px;
}

.notice-item-close {
    display: block;
    float: right;
    width: 22px;
    height: 22px;
    font-size: 1.5em;
    text-align: center;
    cursor: pointer;
    font-weight: bold;
	margin-left: 20px;
}

div.notice-item p:first-of-type, div.notice-item .noticeNumbers {
	display: flex;
	align-items: flex-end;
	font-size: 3em;
	text-transform: uppercase;
    line-height: .8;
}

.notice-item span {
    margin-right: 5px;
    margin-bottom: 1rem;
}

.pointsDesc {
    font-size: .3em;
}

.notice-item p {
	margin: 0;
    padding: 0;
	float: none;
}
/**  REWARD POINTS  **/




/* WOOCOMMERCE NOTICES */
.woocommerce-info {
	
}
/** WOOCOMMERCE NOTICES **/

.mediumText {
	font-size: .75em;
}


.lotsaSurroundSpace {
	padding: 4em 5em 3em;
	margin: 5em;
}


.superBottomAdjust {
	margin-bottom: 3em;
}



.notHeader, .learnjapanese .notHeader {
	text-transform: initial;
	margin-top: 0;
	color: #58595b;
}



.forminator-col-6 {
  width: 49%;
  float: left;
}

.forminator-col-6 + .forminator-col-6 {
	margin-left: 2%;
}




.learnjapanese .announcementNote {
	border-top-color: #cb1978;
	border-bottom-color: #cb1978;
}

.announcementNote {
	margin-top: 3em;
	margin-bottom: 3em;
	padding: 2em;
	border-top: 6px dotted #58595b;
	border-bottom: 6px dotted #58595b;
}

.learnjapanese .topNote {
	border-bottom: 6px dotted #58595b;
}

.announcementNote.noBottom {
	margin-bottom: 0;
}

.topNote {
	border-top: none;
	padding-top: 0;
}


.testimonialsContainer {
	flex-wrap: wrap;
}
.reviewBox, .reviewBoxFull {
	min-width: 40%;
}

#homepage .entry-content .reviewBox,
#homepage .entry-content .reviewBoxFull {
  font-size: 1em;
  margin-top: 66px;
}

.reviewBox h5, .reviewBoxFull h5 {
	color: #fff;
	margin-top: -20px;
	font-weight: bold;
}


#homepage .entry-content .deetsIcon {
	font-size: 3em;
	color: #cb1978;
	display: inline-block;
}



.jpnEmphasisColor {
	color: #cb1978;
}




.posCenter {
	margin: 0 auto;
}
