/*@font-face {
  font-family: HanaMinA;
  src:url(../fonts/HanaMinA.woff);
}*/

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

.jp-goth{
  font-family:'MS Gothic';
}

html, body{
  width:100%;
  height:100%;
  -webkit-overflow-scrolling:touch;
  font-family:Helvetica, Arial, sans-serif;
}

body{
  overflow-x:hidden;
  font-size:100%;
}

a{
  text-decoration:none;
  color:inherit;
}

.std-pad{
  padding:12px 20px;
}

.std-menu-btn-pad{
  padding:7px;
}

.std-top-btm-pad{
  padding-top:12px;
  padding-bottom:12px;
}

.std-left-right-pad{
  padding-left:20px;
  padding-right:20px;
}

.std-head-btm-pad{
  padding-bottom:5px;
}

.std-margin-right{
  margin-right:12px;
}

.margin-btm-sm{
  margin-bottom:5px;
}

.std-link{
  color:blue;
  text-decoration:none;
}

.no-scroll{
  overflow-y:hidden;
}

#loading-screen{
  width:100vw;
  height:100vh;
  position:fixed;
  background-color:#FFF;
  display:flex;
  z-index:999;
}

#logoSpinWrap{
  display:flex;
  margin:auto;
  position:relative;
}

#loading-screen img{
  width:65%;
  margin:auto;
  display:block;
  position:relative;
  top:-25px;
}

#loading-screen h1{
  color:#747474;
  font:250% 'Times New Roman', serif;
  position:relative;
  top:-3vh;
}

#spinner{
  position:absolute;
  bottom:0;
  left:50%;
}

header{
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;

  width:100%;
  top:0;
  position:fixed;
  background-color:#FFF;
  z-index:99;
  transition:top .2s ease-out;
}

#headerInnerWrap{
  height:50px;
  width:100%;
  margin:auto;
  padding-left:10px;
  overflow:hidden;
}

.auto-hide-header{
  top:-50px;
}

#logoWrap{
  height:100%;
  display:inline-block;
}

#logoWrap div{
  height:100%;
  display:flex;
}

#logoWrap img{
  height:45%;
  margin:auto 0;
}

#logoWrap h1{
  color:#747474;
  margin:auto;
  font:148% 'Times New Roman', Georgia, serif;
}

#menuBtnWrap{
  float:right;
  height:100%;
  width:50px;
  display:flex;
  color: #999;
}

#menuBtnWrap div{
  margin:auto;
  font-size:110%;
  transition:transform .2s ease-out;
}

nav{
  position:absolute;
  width:100vw;
  height:calc(100vh - 50px);
  background-color:rgba(0,0,0,0.5);
}

#menu{
  height:100%;
  width:100%;
  max-width:360px;
  position:absolute;
  right:0;
  background-color:#FFF;
  border-top:1px solid #DDD;
  overflow-y:auto;
}

.menu-section{
  border-top:1px solid #DDD;
}

.menu-link, .menu-dropdown{
  font-weight:bold;
}

.menu-link span{
  color:#2D2DE0;
}

.menu-dropdown span{
  vertical-align:middle;
}

.menu-link i{
  color:#333;
  margin-right:7px;
}

.menu-section-heading{
  display:block;
  font-size:120%;
}

.menu-dropdown .fa-caret-right{
  margin-left:10px;
  transition:transform .2s ease-out;
}

.rotateRight90{
  transform:rotateZ(90deg);
}

.flag-nihongo{
  background-image:url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="900" height="600"><rect fill="%23fff" height="600" width="900"/><circle fill="%23bc002d" cx="450" cy="300" r="180"/></svg>');
  height:22px;
  width:30px;
  border:1px solid #CCC;
  background-size:contain;
  background-position:center center;
  background-repeat:no-repeat;
}

#menu .flag-nihongo{
  display:inline-block;
  vertical-align:middle;
}

#menu ul{
  list-style:none;
}

.course-link{
  padding-left:60px;
}

.lang-link{
  padding-left:28px;
  height:36px;
}

#logoWrap, #menuBtnWrap, .menu-link, .menu-dropdown{
  cursor:pointer;
}

.lesson-view{
  padding-top:42px;
}

#lessonMenu{
  height:42px;
  width:100%;
  color:#9F9F9F;
  background-color:white;
  position:fixed;
  top:50px;
  left:0;
  z-index:97;
  transition:top .2s ease-out;
  border-bottom:1px solid #CCC;
}

#lessonMenu.slide-lesson-menu, .dict-btn.slide-lesson-menu{
  top:0;
}

.lesson-menu-btn{
  height:100%;
  display:inline-flex;
  padding:0 15px;
}

.lesson-menu-btn span{
  margin:auto;
  transition:color .2s ease-out;
}

#slidingTab{
  position:absolute;
  bottom:0;
  border-bottom:3px solid #333;
  transition:left .2s ease-out, width .2s ease-out;
}

.lessonMenuSelected{
  color:#333;
}

.slidingTabLesson{
  left:10px;
  width:61px;
}

.slidingTabFlashcards{
  left:95px;
  width:89px;
}

.contents-menu-btn{
  position:relative;
  font-size:120%;
  display:inline-flex;
  float:right;
  height:100%;
  width:50px;
  cursor:pointer;
}

.dict-btn{
  position:fixed;
  display:inline-flex;
  font-size:120%;
  color:#9f9f9f;
  height:42px;
  width:50px;
  top:50px;
  right:50px;
  transition:top .2s ease-out;
  z-index:98;
  cursor:pointer;
}

.contents-menu-btn i, .dict-btn i{
  margin:auto;
}

#contentsMenuWrap{
  width:300px;
  position:fixed;
  top:92px;
  z-index:99;
  right:-300px;
}

#contentsGrabber{
  width:100%;
  position:relative;
  height:100vh;
  padding-left:7%;
  visibility:visible;
  right:7%;
  /*position:fixed;*/
}

#contentsMenu{
  background-color:#FFF;
  height:100%;
  width:100%;
  position:relative;
  box-shadow:0px 0px 5px 1px rgba(0,0,0,0.3);
  top:-92px;
  color:#222;
  padding-bottom:50px;
  overflow-y:auto;
  z-index:99;
}

#contentsMenu a{
  display:block;
  cursor:pointer;
  font-size:90%;
}

#contentsMenu a.intro-link{
  border-bottom:none;
  font-size:100%;
}

#contentsMenu h4:not(:first-of-type){
  margin-top:30px;
}

#contentsHeader{
  display:flex;
  font-weight:bold;
  height:60px;
  position:relative;
  border-bottom:1px solid #CCC;
}

#contentsHeader span{
  margin:auto 0;
}

#contentsHeader span:first-child{
  font-size:145%;
  margin-top:auto;
  margin-bottom:auto;
}

#contentsHeader span:last-of-type{
  width:70%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

#closeContentsMenuBtn{
  display:flex;
  width:55px;
  cursor:pointer;
  height:100%;
  position:absolute;
  right:0;
}

#closeContentsMenuBtn i{
  margin:auto;
}

.cm-subheading{
  border-bottom:1px solid #CCC;
  font-weight:bold;
}

#contentsMenu h4.cm-subheading-no-items{
  border-bottom:none;
  margin-bottom:0;
}

.contentsSection{
  margin-top:12px;
}
.contentsSection:first-child{
  margin-top:0;
}

/* dictionary */
#dictWrap.dict-dimmer-visible{
  height:100%;
  width:100%;
  z-index:100;
  position:fixed;
  top:0;
  background-color:rgba(0, 0, 0, 0.6);
  transition: background-color .4s ease-out;
}

#dictGrabber{
  position:fixed;
  top:92px;
  left:calc(-100vw + 7%);
  height:100%;
  width:100%;
  padding-right:7%;
  z-index:99;
}

/*#mainSpinner{
  height:100vh;
}*/

#dict{
  height:100%;
  width:100%;
  top:-92px;
  background-color:#FFF;
  position:relative;
  visibility:visible;
  box-shadow:0px 0px 5px 1px rgba(0,0,0,0.3);
}

#searchSection{
  background-color:#FFF;
  height:50px;
  display:flex;
}

#searchSection input{
  height:100%;
  padding-left:15px;
  margin:auto 0;
  outline:none;
  border:none;
  overflow:hidden;
  width:100%;
  box-shadow:inset 1px 1px 6px -5px #777;
}

#clearBtn{
  color:#FCB6C2;
}

#clearBtn, #dictBackBtn{
  width:65px;
  display:flex;
  border-left:1px solid #EEE;
  cursor:pointer;
}

#clearBtn i, #dictBackBtn i{
  margin:auto;
}

#dictBackBtn{
  font-size:100%;
}

#dict #btnsBar{
  height:42px;
  color:#BBB;
  font-weight:bold;
  border-bottom:1px solid #EEE;
  border-top:1px solid #EEE;
  font-size:112%;
}

.toolBarBtn{
  display:inline-flex;
  height:100%;
  width:14.2%;
  float:left;
}

.toolBarBtn i, .toolBarBtn span{
  margin:auto;
}

#dict #btnsBar .selectedDict{
  color:blue;
}

#dict #btnsBar .rightSideBtn.selectedView{
  color:#6DE76D;
}

.rightSideBtn{
  float:right;
  cursor:pointer;
}

.dictBtn{
  color:#BBB;
}

#hiraBtn, #kataBtn, .dictBtn{
  font-family:'MS Gothic';
  cursor:pointer;
}

#hiraBtn{
  border-left:2px solid #EEE;
}

#dictCloseBtn{
  color:#111;
  font-size:87%;
}

.kanaInputWrap{
  color:#111;
  padding-right:65px;
  padding-bottom:50px;
  font-size:130%;
  font-weight:bold;
  font-family: 'MS Gothic';
  height:calc(100vh - 50px - 42px);
  overflow:auto;
}

.kanaInputSidePanel{
  position:absolute;
  right:0;
  top:92px;
  color:#FFF;
  height:calc(100% - 50px - 42px);
  box-shadow:-2px 2px 4px #000;
  width:65px;
  background-color:#444;
}

.kanaInputSidePanel td{
  text-align:center;
  border:1px solid #797979;
  min-height:40px;
}

.kanaInputBtn{
  display:inline-flex;
  width:20%;
  height:50px;
  border:1px solid #EEE;
  vertical-align:top;
}

.kanaInputBtn span{
  margin:auto;
}

#detailsView, #kjDetailsView{
  height:calc(100% - 50px - 42px);
  position:absolute;
  width:100%;
  overflow-y:auto;
  background-color:#FFF;
  color:#111;
  padding:20px 20px 30px;
}

#detailsView .section-heading{
  font-weight:bold;
  margin:20px auto 10px;
  font-size:130%;
  border-bottom:none;
}

.dict-alt-forms-wrap{
  margin:0 auto 30px;
  max-width:350px;
}

.dict-alt-forms-wrap ul{
  padding:0 18px;
}

.dict-alt-forms-wrap ul li{
  margin-bottom:10px;
}

#defs .part-of-speech{
  margin-top:20px;
}

.dictRightWrap{
  border-top:3px solid #CCC;
  margin:25px auto 0;
  max-width:350px;
}

#defs{
  max-width:350px;
  margin:auto;
}

#defs .section-heading{
  padding-bottom:0;
}

#defs .dict-def{
  padding:10px 0;
  border-bottom:1px solid #CCC;
}

#defs .dict-def:last-of-type{
  border-bottom:none;
}

#kjSectionWrap{
  color:#000;
  margin:auto;
  border-radius:4px;
}

.kj-view{
  padding:8px 0;
}

#kjBtnPanel div{
  width:45px;
  height:45px;
  display:inline-flex;
  background-color:#EEE;
  color:#444;
  font-size:140%;
  font-weight:bold;
  border:1px solid #DDD;
  border-left:none;
}

#kjBtnPanel{
  border-left:1px solid #DDD;
}


#kjBtnPanel div.pressed{
  background-color:#FFF;
  color:#E80202;
}

#kjBtnPanel div span{
  margin:auto;
}

.kj-view .meanings{
  margin:30px 0;
  font-size:115%;
}

.kj-view .readings{
  margin-bottom:30px;
}

.kj-view .heading{
  font-size:115%;
  margin-top:30px;
  margin-bottom:10px;
  padding-bottom:5px;
  border-bottom:1px solid #CCC;
  text-align:center;
  font-weight:bold;
}

#kjDetailsView .kj-view .heading{
  border-bottom:1px solid #777;
}

.kj-view .readings .reading-kana{
  font-size:125%;
  font-family:'MS Gothic';
}

.kj-view .kj-meta{
  width:100%;
  text-align:center;
  margin:25px 0;
}

.kj-view .kj-meta td, .kj-view .kj-meta th{
  border:1px solid #CCC;
  padding:5px;
}

#dictResults, #kanjiResults, #dictInfo{
  height:calc(100vh - 50px - 42px);
  color:#111;
  overflow-y:auto;
  padding:12px 6px 25px;
  width:100%;
}

.dict-result{
  padding:10px 7px;
}

.dict-result .ent-read{
  font-size:120%;
  font-family:'MS Gothic';
  padding-bottom:10px;
  display:flex;
}

.dict-result .ent, .dict-result .read{
  white-space:nowrap;
  text-overflow:ellipsis;
}

.dict-result .read{
  overflow:hidden;
  color:blue;
}

.dict-result .mean{
  font-size:105%;
}

.dict-result .pos{
  font-weight:bold;
}

.dict-result:not(:first-child), .kjResult:not(:first-child){
  border-top:1px solid #777;
}

.dict-result:not(:last-child), .kjResult:not(:last-child){
  border-bottom:1px solid #777;
}

.dictEntryWrap{
  margin-bottom:30px;
}

#ocrCanvas{
  border:1px solid #888;
  width:100%;
}

#ocrResults{
  color:#FFF;
  height:70px;
  text-align:center;
}

#drawMsg{
  font-size:95%;
  margin:auto;
}

#drawMsg span{
  font-weight:bold;
}

.ocrRes{
  height:35px;
  width:26px;
  display:inline-flex;
}

.ocrRes span{
  margin:auto;
}

.ocrActionBtn{
  display:inline-flex;
  float:right;
  height:40px;
  width:50px;
  padding:0 ;
}

.ocrActionBtn i{
  margin:auto;
  font-size:150%;
}

#ocrClear{
  color:#F08080;
}

#ocrUndo{
  color:#EEE;
}
/* end dictionary */



/* Radical input view */
#radInput{
  color:#000;
}

#radToolbar{
  display:flex;
  height:40px;
  border-bottom:1px solid #EEE;
  font-weight:bold;
  color:blue;
}

#radToolbar .radTbBtn{
  flex:1;
  display:flex;
}

#radToolbar .radTbBtn:first-of-type{
  border-right:1px solid #EEE;
}

#radToolbar #showRadResults span{
  position:relative;
}

#numRadResultsIcon{
  position:absolute;
  top:-26%;
  right:-20%;
  font-size:80%;
  border-radius:20px;
  background-color:#40B53D;
  color:#FFF;
  box-shadow:0px 0px 2px #111;
  padding:1px;
  font-weight:bold;
  text-shadow:0px 0px 2px #222;
}

#numRadResultsIcon.noRadRes{
  background-color:#F64444;
}

#numRadResultsIcon.noRadRes span{
  left:-.5px;
  padding:2px;
}

#radToolbar .radTbBtn span{
  margin:auto;
}

#radicalsMenu{
  padding:0px 8% 70px;
  height:calc( 100vh - 50px - 42px - 40px );
  overflow-y:scroll;
  text-align:center;
  font-size:60%;
}

.rad-btn{
  display:inline-flex;
  height:48px;
  width:48px;
  vertical-align:top;
  font-size:200%;
  font-family:'MS Gothic';
  border-radius:3px;
  border:1px solid #DDD;
  margin:0 2px 2px;
}

.rad-btn span{
  margin:auto;
}

.rad-btn img{
  width:100%;
  height:100%;
  vertical-align:middle;
}

.rad-selected{
  background-color:#76d865;
}

.strokeHeading{
  font-family:Helvetica, 'MS Gothic', sans-serif;
  font-weight:bold;
  font-size:230%;
  margin:30px 0 7px;
  padding-bottom:5px;
  text-align:center;
}

#radSearchResults{
  height:calc(100vh - 50px - 42px - 40px);
  overflow-y:scroll;
  text-align:center;
  padding:0 8% 80px;
}

.radSearchResult{
  display:inline-flex;
  height:48px;
  width:48px;
  font-size:160%;
  font-family:'MS Gothic';
  border:1px solid #DDD;
  margin:0 2px 2px;
}

.radSearchResult span{
  margin:auto;
}

.rad-result-heading{
  margin:25px 0 8px;
}

/* end radical input view */
.kjResult{
  display:flex;
  padding:7px 0;
}

.kjResult .kj{
  font-size:220%;
  font-family:'MS Gothic';
  margin:auto;
  margin-left:7px;
  margin-right:14px;
  text-align:center;
}

.kjResult .infoWrap{
  display:flex;
  flex:4;
  flex-direction:column;
  overflow:hidden;
}

.kjResult .readings, .kjResult .meanings{
  flex:1;
  display:flex;
  height:50%;
}

.kjResult .readings{
  color:blue;
  margin-bottom:5px;
  font-family:'MS Gothic';
}

.kjResult .readings span, .kjResult .meanings span{
  margin:auto 0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

#kjDetailsView{
  padding:10px 25px;
}

#kjDetailsView .readings{
  
}

.kjHeader{
  font-size:360%;
  text-align:center;
  margin:10px 0;
  font-family:'MS Gothic';
  font-weight:bold;
}

.ancient-wrap{
  float:left;
  background-color:#FFF;
  margin-bottom:35px;
}

.ancient-heading{
  border-bottom:none !important;
}

.ancient-script{
  width:25%;
}

.tapToPlayMsg{
  text-align:center;
  font-weight:bold;
  padding:5px 0;
}

.kjStrokeAnim{
  background-color:#FFF;
  border-radius:5px;
  margin:auto;
  border:1px solid #DDD;
  box-shadow:1px 2px 4px #555;
  max-width:425px;
}

.kjStrokeAnim svg{
  width:100%;
  height:100%;
}

.easeOutLeft{
  transition:left .3s ease-out;
}

#mainWrap{
  min-height:100vh;
  overflow-y:hidden;
}

main{
  padding-top:50px;
}

#home-banner{
  height:350px;
  background-image:url('../img/pagoda.jpg');
  background-position:center top;
  background-size:cover;
  background-repeat:no-repeat;
  color:#FFF;
  text-align:center;
  overflow:hidden;
}

#home-banner p{
  text-shadow:1px 1px 3px #333;
  font-size:160%;
  margin:8vw auto 30px;
  width:87%;
}

#home-banner h2{
  text-shadow:1px 1px 2px #282828;
  font-size:260%;
  margin-bottom:40px;
}

#home-banner #start-btn{
  height:60px;
  width:160px;
  display:inline-block;
  cursor:pointer;
  display:flex;
  margin:auto;
  border-radius:4px;
  color:#333;
  background-color:#FFF;
  box-shadow: 0px 0px 1px #444;
  transition:background-color .2s ease-in-out, color .2s ease-in-out;
}

#home-banner #start-btn:hover{
  background-color:rgba(11,11,11,0.5);
  color:#FFF;
}

#home-banner #start-btn span{
  margin:auto;
  font-size:110%;
  font-weight:bold;
}

#homeIntroWrap{
  padding:30px 8%;
  text-align:center;
}

#homeIntroWrap p{
  margin-bottom:30px;
  font-size:130%;
  font-family:monospace;
}

#homeIntroWrap #greeting{
  font-size:150%;
}

#homeIntroWrap .feature-box{
  width:100%;
  display:block;
  margin:0 auto 50px;
}

#homeIntroWrap #featuresWrap{
  margin-top:55px;
}

#homeIntroWrap .feature-box .heading{
  font-weight:bold;
  margin-bottom:25px;
  font-size:165%;
}

#homeIntroWrap .feature-box img{
  display:block;
  margin:auto;
  margin-bottom:25px;
  height:85px;
}

.bold-underline{
  font-weight:bold;
  text-decoration:underline;
}


/*Lesson Page CSS*/
#lessonBodyWrap{
  padding:20px 7% 50px;
  max-width:586px;
  margin:auto;
}

.lesson-section.top-section{
  border-bottom:none;
}

.lesson-section-header{
  margin:25px 0;
  text-align:center;
  font-size:130%;
}

.lesson-section:not(:first-of-type){
  border-top:1px solid #CCC;
}

.supplemental-materials-section .lesson-section{
  border-top:none;
}

#intro-section{
  margin-top:30px;
}

#hira-wr-pr-section{
  margin-top:30px;
}

.kana-bk-img{
  width:170px;
  border:1px solid #CCC;
  border-radius:2px;
  display:block;
  margin:auto;
  margin-bottom:40px;
  box-shadow:2px 2px 3px #222;
}

.bk-page-btn{
  width:20%;
  min-width:180px;
  cursor:pointer;
  display:inline-block;
  vertical-align:top;
  margin:0 20px 40px;
  color:blue;
}

.bk-page-btn img{
  width:100%;
  border:1px solid #AAA;
}

.bk-page-btns-wrap{
  text-align:center;
}

.lesson-section-body{
  padding:0px 0 50px;
}

.expanded-section-wrap{
  margin-top:30px;
}

.lesson-section-body p, .expanded-section-wrap p{
  line-height:125%;
  margin:20px 0;
}

.lesson-section-body p:last-child{
  margin-bottom:0;
}

.lesson-section-body .ssh{
  font-style:italic;
  font-size:175%;
  font-weight:normal;
  border-bottom:1px solid #222;
  margin-bottom:25px;
  margin-top:30px;
}

.lesson-section-body .audio-word-outer-wrap{
  margin-bottom:40px;
  margin-top:40px;
  text-align:center;
}

.lesson-section-body .audio-word-outer-wrap.inline-audio-word-card{
  display:inline;
  margin-right:25px;
}

.lesson-section-body .lesson-word-list-wrap .audio-word-outer-wrap.inline-audio-word-card:last-of-type{
  margin-right:0;
}

.lesson-section-body .lesson-word-list-wrap{
  text-align:center;
}

.lesson-section-body .audio-word-outer-wrap:last-child{
  margin-bottom:0;
}

.lesson-section-body .audio-word-wrap{
  border:1px solid #CCC;
  border-radius:3px;
  padding:25px;
  display:inline-block;
  margin:auto auto 25px;
  min-width:150px;
  max-width:265px;
  cursor:pointer;
  font-size:80%;
  vertical-align:top;
}

.lesson-section-body .audio-word-wrap.long{
  font-size:70%;
}

.demo-img{
  width:60%;
  max-width:210px;
  border:1px solid #DDD;
  margin:50px auto 18px;
  display:block;
}
.demo-img.shad{
  box-shadow:1px 1px 2px #222;
}

.demo-img.no-caption{
  margin-bottom:50px;
}

.demo-img-caption{
  display:block;
  text-align:center;
  font-family:Helvetica, Arial, serif;
  font-size:85%;
  margin-bottom:40px;
  margin-top:18px;
  font-style:italic;
  font-weight:bold;
}
.photo-credit{
  font-style:italic;
  color:#555;
  font-weight:initial;
}
.demo-img-caption a, .photo-credit a{
  color:blue;
}
.kj-text-bigger{
  font-size:160%;
  font-family:'MS Gothic';
}
.inline-stroke-imgs-wrap{
  text-align:center;
  display:inline-block;
  width:30%;
  margin:1%;
}
.inline-stroke-imgs-wrap svg{
  width:100%;
  height:100%;
  height:auto;
  border: 1px solid #ddd;
  border-radius: 2px;
}

.demo-img-caption:last-child{
  margin-bottom:0px;
}

.demo-img.no-border{
  border:none;
}


.expanded-section-wrap ul{
  padding-left:7%;
  margin-bottom:30px;
}

.expanded-section-wrap ul{

}

.example-vocab{
  margin:auto;
  font-size:140%;
  text-align:center;
}

.example-vocab .furigana{
  font-family:'MS Gothic';
  font-weight:bold;
  font-size:85%;
}

.example-vocab .word{
  font-size:230%;
  line-height:120%;
  color:blue;
  font-family:'MS Gothic';
}

.example-vocab.long-word .word{
  font-size:165%;
}

.example-vocab.multi-word{
  margin-bottom:20px;
}

.example-vocab.dictEntry{
  font-size:100%;
} 

.audio-word-wrap .fa.audio-icon{
  color:#676767;
  padding-top:20px;
  display:block;
  text-align:center;
  font-size:180%;
}

.inline-audio{
  color:blue;
  font-family:'MS Gothic';
  border:1px solid #BBB;
  display:inline-block;
  padding:5px;
  border-radius:3px;
  font-weight:bold;
  cursor:pointer;
}

.variations-box .top .inline-audio{
  border:none;
}

.variations-box .list p{
  cursor:pointer;
}

#lessonHeaderWrap{
  padding:0 1%;
}

#lessonHeaderWrap #titleSection{
  position:relative;
}

#lessonHeaderWrap #title{
  display:inline-block;
}

#lessonHeaderWrap #title span{
  font-size:140%;
}

#lessonHeaderWrap #title h1{
  margin:5px 0;
  font-size:200%;
  font-weight:normal;
}

#lessonHeaderWrap #courseName{
  position:absolute;
  right:0;
  top:0;
}

#lessonHeaderWrap #courseName span{
  display:none;
}

#nextPrevBtnWrap #prevBtn, #nextPrevBtnWrap #nextBtn{
  display:inline-flex;
  margin:auto;
}

#nextPrevBtnWrap{
  margin:15px 0 30px;
  padding:0 2%;
  display:flex;
}
#nextPrevBtnWrap a{
  display:flex;
  flex:1;
  max-width:50%;
}

#nextPrevBtnWrap i{
  margin:auto;
  color:#777;
}

#nextPrevBtnWrap span{
  color:blue;
}
#nextPrevBtnWrap #prevBtn{
  margin-left:0;
}
#nextPrevBtnWrap #prevBtn i{
  margin-right:12px;
}

#nextPrevBtnWrap #nextBtn{
  margin-right:0;
}

#nextPrevBtnWrap #nextBtn i{
  margin-left:12px;
  font-size:150%;
}

.bottom-next-prev #nextPrevBtnWrap{
  margin:50px auto 0px;
}

.img-wrap{
  height:47vw;
  max-height:231px;
  max-width:465px;
  margin:auto;
  border:1px solid #CCC;
  margin-bottom:40px;
  padding:4vw;
}

.img-lg{
  height:100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.section-expand-btn{
  color:#FFF;
  background-color:#333;
  margin:2px auto 0;
  padding:12px;
  border-radius:2px;
  font-weight:bold;
  display:flex;
  cursor:pointer;
}

.section-expand-btn i{
  float:right;
  transition:transform .2s ease-out;
  margin:auto;
  margin-right:0px;
}

.lesson-section-body p.defs, .expanded-section-wrap p.defs{
  margin:20px 0;
}

.variations-box{
  border-radius:3px;
  text-align:center;
  margin-top:50px;
}

.variations-box .top{
  font-size:145%;
  padding:15px 12px;
  border-bottom:2px solid #DDD;
}

.variations-box .top span{
  font-weight:bold;
}

.variations-box .list{
  padding:15px 0;
  font-family:'MS Gothic';
}

.variations-box .list p{
  color:blue;
  margin:10px;
  font-size:115%;
}

.supp-vocab-entry-wrap .example-vocab, .sample-word-wrap .example-vocab,
.inline-audio-word-card .example-vocab{
  font-size:100%;
  margin:25px auto;
}
.supp-vocab-entry-wrap .audio-wrap .example-vocab:first-child, .sample-word-wrap .audio-wrap .example-vocab:first-child{
  margin-top:0;
}

.supplemental-materials-section #vocab .lesson-section-body{
  text-align:center;
}

.supplemental-materials-section #vocab .supp-vocab-entry-wrap{
  margin:0 10px 20px;
  display:inline-block;
}

.supplemental-materials-section #vocab .supp-vocab-entry-wrap img,
.inline-audio-word-card img{
  max-width:80%;
  height:100px;
}

.inline-audio-word-card img{
  max-width:initial;
}

.vocab-word-wrap, .sample-word-wrap{
  display:inline-block;
  margin:0px 10px 15px;
  position:relative;
}

.sample-word-wrap{
  padding:13px 15px 29px;
}

.sample-word-wrap:first-of-type{
  margin-top:10px;
}

#kanji .sample-vocab .sample-word-wrap{
  padding:20px 5px;
}

.sample-vocab h4{
  margin-top:50px;
  margin-bottom:20px;
  font-size:120%;
}

.kanji-wrap{
  text-align:center;
}

.kanji-wrap:not(:last-of-type){
  margin-bottom:50px;
  padding-bottom:50px;
  border-bottom:1px solid #CCC;
}

.kanji-wrap .top{
  text-align:left;
  margin-bottom:50px;
  margin-top:50px;
  display:flex;
}

.kanji-wrap .kj, .kanji-wrap .meaning{
  display:inline-block;
  margin:auto auto auto 10px;
}

.kanji-wrap .kj{
  font-size:500%;
  font-family:'MS Gothic';
  margin:auto 0 auto auto;
}

.kanji-wrap .meaning{
  vertical-align:top;
  margin: auto auto auto 15px;
  font-size:140%;
}

.kanji-wrap .ancient{
  width:100px;
  display:inline-block;
  vertical-align:top;
}

.kanji-wrap .ancient img{
  width:100%;
}

.kanji-wrap .stroke{
  display:inline-block;
  margin-right:30px;
}

.kanji-wrap .stroke span, .kanji-wrap .ancient span{
  font-weight:bold;
}

.kanji-wrap .stroke svg{
  border:1px solid #DDD;
}

.kanji-wrap .etym-wrap h4{
  margin:50px 0 25px;
  font-size:120%;
}

.kanji-wrap .etym-wrap p{
  font-size:100%;
  margin-top:40px;
}

.kanji-wrap .sample-word-wrap .example-vocab .furigana, .kanji-wrap .sample-word-wrap .example-vocab .romaji{
  visibility:hidden;
}

.etym-wrap span{
  font-size:130%;
  font-weight:bold;
}

.red{
  color:red;
}

.sample-vocab input, .supplemental-materials-section #vocab .lesson-section-body input{
  transform:scale(2);
  margin-left:15px;
  margin-top:15px;
}

.vocab-word-wrap .example-vocab .furigana, .vocab-word-wrap .example-vocab .romaji{
  visibility:hidden;
}

.vocab-word-wrap.readings-visible .example-vocab .furigana, .vocab-word-wrap.readings-visible .example-vocab .romaji,
.sample-word-wrap.readings-visible .example-vocab .furigana, .sample-word-wrap.readings-visible .example-vocab .romaji{
  visibility:visible;
}

.show-all-readings-btn{
  margin-bottom:15px;
  padding:5px 35px 15px;
  border-top:1px solid #BBB;
  border-bottom:1px solid #BBB;
}

.show-readings-btn{
  height:35px;
  display:flex;
  border:1px solid #CCC;
  border-radius:2px;
  color:#999;
  margin-top:10px;
}

.show-readings-btn i{
  margin:auto;
}


footer{
  color:#FFF;
  background-color:#2B2B2B;
  border-top:solid 14px #212121;
}

#socialLinksWrap{
  text-align:center;
  margin:30px 0 50px;
}

#socialLinksWrap img{
  height:40px;
  vertical-align:middle;
}

#aboutLinksWrap, #langLinksWrap{
  text-align:center;
}

#aboutLinksWrap, #langLinksWrap{
  margin-top:30px;
  margin-bottom:40px;
}

#aboutLinksWrap a, #langLinksWrap a{
  display:block;
  font-family:Helvetica, Arial, sans-serif;
  padding:12px 0;
  color:#E584EF;
  font-weight:bold;
}

#copyInfoWrap{
  background-color:#212121;
  display:flex;
  flex-direction:column;
  font-family:Georgia, serif;
  text-align:center;
}

#copyInfoWrap span{
  margin:24px auto;
}

#copyInfoWrap #tm{
  margin-bottom:0px;
}

#langLinksWrap div p{
  font-weight:bold;
}

#socialLinksWrap div p{
  font-weight:normal;
  text-align:center;
  margin-bottom:12px;
}

#langLinksWrap div p{
  margin-bottom:3%;
}

#socialLinksWrap #fb{
  height:42px;
}

#socialLinksWrap #tw{
  margin-left:2px;
}

#socialLinksWrap #fb{
  margin-left:4px;
}

#fcMenuWrap{
  position:fixed;
  width:100%;
  top:92px;
  left:0;
  transition:top .2s ease-out;
  z-index:98;
}

#fcMenuWrap.slide-fcMenu{
  top:42px;
}

#tday, #anothDay{
  font-weight:bold;
}

#topPanel, #bottomPanel{
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
}

#bottomPanel{
  bottom:0;
  height:53px;
  display:flex;
  border-top:1px solid #DDD;
  width:100%;
}

#counterWrap{
  width:30%;
  display:flex;
}

#counterInnerWrap{
  margin:auto;
  display:flex;
}

#counter{
  width:50%;
  margin:auto;
  text-align:center;
  font-weight:bold;
}

#cardsLeft{
  width:50%;
  margin:auto;
  font-size: 90%;
}

#showAnswerBtn{
  width:70%;
  height:100%;
  display:flex;
  border-left:1px solid #DDD;
  color:#777;
  font-weight:bold;
  cursor:pointer;
}

#showAnswerBtn span{
  margin:auto;
}

.placeholder-wrap{
  margin:auto;
  width:234px;
}

.placeholder-wrap #csae img{
  width:100%;
  padding:12px;
  border:1px solid #CCC;
  border-radius:2px;
}

#dictWelcomePageWrap{
  display:flex;
  height:100%;
}

#dictWelcomePage{
  margin:auto;
  text-align:center;
  width:85%;
}

#dictWelcomePage p{
  font-size:120%;
}

#loadDictBtn{
  background-color:#424CCE;
  border-radius:2px;
  display:flex;
  font-size:120%;
  margin:72px auto 0px;
  height:56px;
  width:183px;
  box-shadow:1px 1px 2px #333;
  cursor:pointer;
}

#loadDictBtn span{
  margin:auto;
  color:#FFF;
  text-shadow:1px 1px 2px #222;
}

#dictCloseWelcomePage{
  position:absolute;
  right:0;
  width:50px;
  height:50px;
  display:flex;
  cursor:pointer;
}

#dictCloseWelcomePage i{
  margin:auto;
  color:#111;
  font-size:112%;
}

#contactPage, #aboutUsPage, #privacyPolicyPage{
  padding:40px 10px;
  text-align:center;
}
#contactPage h2, #aboutUsPage h2, #privacyPolicyPage h2, #privacyPolicyPage .ret-home, #contactPage p, #aboutUsPage p, #privacyPolicyPage p, #aboutUsPage .ret-home{
  margin-bottom:30px;
}
#privacyPolicyPage a{
  color:blue;
}
#contactPage .ret-home, #aboutUsPage .ret-home, #privacyPolicyPage .ret-home{
  color:blue;
  display:block;
  font-size:130%;
}

#contactPage #emEl{
  min-width:300px;
  width:75%;
  display:block;
  margin:0 auto 30px;
}


#fcLobby{
  text-align:center;
  margin:auto;
  padding:0 15px;
}

#fcLobby table{
  margin:0px auto 20px;
}

#fcLobby table td{
  padding:33px 15px 0px;
}

#fcLobby #custBtn, #fcLobby #retToLessBtn{
  padding:12px;
  margin:0 auto;
  color:blue;
  text-decoration:underline;
}

#todayCnt{
  color:#326BEB;
  font-weight:bold;
}

#adCnt{
  color:#777;
}

#fcLobby table tr td:first-child{
  text-align:left;
  width:210px;
}

#fcLobby table tr td:last-child{
  font-size:180%;
}

#fcStartBtn{
  background-color:#326BEB;
  display:inline-block;
  padding:15px 64px;
  color:#FFF;
  font-weight:bold;
  cursor:pointer;
  border-radius:3px;
  text-shadow:1px 1px 1px #444;
  box-shadow:1px 1px 1px rgba(0,0,0,.5);
  margin-top:20px;
}

#fcSpinner{
  margin:auto;
}

#charAppSpinner{
  height:400px;
  position:relative;
}

#fc-card-int.lesson-section .fa-thumbs-down{
  color:#DE5555;
}

#fc-card-int.lesson-section .fa-thumbs-up{
  color:#68DE68;
}

#fc-card-int.lesson-section .dbl-thumbs{
  color:#F3D14E;
}

#fc-card-int.lesson-section .fa{
  text-shadow:0px 1px 1px #777;
}

#fcApp #card .audio-word-wrap{
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:100%;
  display:none;
  border:1px solid #BBB;
  border-radius:3px;
  box-shadow:1px 1px 1px #444;
}

#fcApp #card .audio-word-wrap.fc-show-audio-int{
  display:initial;
  max-width:285px;
  margin:auto;
}

#fcApp #card .audio-word-wrap .fa.audio-icon{
  font-size:200%;
  color:blue;
  bottom:22px;
  left:0; right:0;
  position:absolute;
}

#fcApp #card .sample-word-wrap .audio-word-wrap .fa.audio-icon{
  bottom:8px;
  font-size:100%;
}

#fcFinishMsgWrap{
  margin-top: 15px;
  border: 3px solid #a0a0a0;
  padding: 15px 10px;
  border-radius: 3px;
  width:288px;
}

.uc-wrap{
  text-align:center;
  margin:50px 0px;
}

.uc-wrap span{
  display:inline-block;
  margin:0 10px;
  font-size:110%;
}

.uc-img{
  height:40px;
  vertical-align:middle;
}

#dictProgBar{
  position:relative;
  width:90%;
  margin:0 auto;
  top:50%;
}

#menu .paypalBtnWrap{
  text-align:center;
  padding:16px 0px;
  margin:70px 0;
}

footer #footerPaypalWrap{
  display:flex;
  margin-top:35px;
  margin-left:8px;
}

footer .paypalBtnWrap{
  margin:auto;
}

.supp-vocab-entry-top .audio-wrap, .kanji-wrap .sample-word-wrap .audio-wrap{
  border:1px solid #CCC;
  border-radius:2px;
  padding:30px;
  min-width:120px;
}

.supp-vocab-entry-top .audio-wrap .fa-volume-up, .kanji-wrap .sample-word-wrap .audio-wrap .fa-volume-up{
  font-size:150%;
  color:blue;
}

.color-black{
  color:#000;
}

.kanaCardOuterWrap{
  margin:auto;
  padding:22px 50px 75px;
  position:relative;
}

.placeholder-wrap .placeholder{
  margin-bottom:80px;
}


#fcWrap{
  height:100vh;
  display:flex;
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:99;
  background-color:#FFF;
  overflow-y:scroll;
}

#fcLoad{
  margin:auto;
  width:100%;
  height:100%;
  display:flex;
}

.hid{
  visibility:hidden;
}

.display-none{
  display:none !important;
}

.expanded-section-wrap ul li:not(:first-child){
  margin-top:20px;
}

#fcMenu, #fcHeader{
  padding-bottom:0;
  height:40px;
  background-color:#414346;
  position:relative;
  display:flex;
  color:#FFF;
}

#fcHeader p{
  margin:auto;
  font-size:110%;
  font-weight:bold;
}

#fcLobby #fcLobbyHead{
  font-weight:bold;
  font-family:Helvetica, Arial, sans-serif;
}

#fcLobbyDate{
  margin-bottom:5px;
  color:#888;
  font-family:monospace, sans-serif;
}

.lesson-menu-btn, .fc-menu-btn{
  flex:1;
  margin:auto;
  text-align:center;
  cursor:pointer;
}

#sliding-tab, #fc-sliding-tab{
  height:40px;
  width:50%;
  position:absolute;
  border-bottom:4px solid #BBB;
  transition:left .27s ease-out;
}

.slidingTabLeft{
  left:0%;
}

.slidingTabRight{
  left:50%;
}

#customization-screen{
  padding:15px 20px 50px;
  margin:auto;
  min-width:315px;
}

#custBackBtn{
  padding:15px 0;
  margin-bottom:40px;
  color:blue;
  text-decoration:underline;
  text-align:right;
}

#prevLessons{
  margin-bottom:15px;
  font-weight:bold;
}

#showCardsScreenWrap{
  width:100vw;
  height:100vh;
  position:fixed;
  top:0px;
  left:0;
  display:flex;
  background-color:rgba(0,0,0,0.7);
  z-index:99;
  overflow:hidden;
}

#scConfirmBoxWrap{
  position:fixed;
  left:0;
  top:0;
  width:100vw;
  height:100vh;
  display:flex;
  background-color:rgba(0,0,0,0.5);
  z-index:99;
}

#scConfirmBox{
  width:80vw;
  height:55vh;
  margin:auto;
  background-color:#FFF;
  border-radius:4px;
  text-align:center;
  padding:22px;
  display:flex;
  flex-direction:column;
}

#scConfirmBox p{
  margin:auto;
  width:100%;
  height:50%;
  font-size:120%;
}

.prompt-btn{
  padding: 15px;
  border-radius: 3px;
  width:90%;
  margin:auto;
  color:#FFF;
  text-shadow: 1px 1px 1px #444;
  cursor:pointer;
}

.cancel-btn{
  background-color:#4C4C4C;
}

.ok-btn{
  background-color:#424CCE;
}

#custScreenBodyWrap{
  display:flex;
  flex-direction:column;
}

#custScreenBodyWrap .options-box:last-of-type{
  margin-bottom:0;
}

.options-box{
  min-width:280px;
  margin-bottom:35px;
  color:#000;
  border-radius:5px;
  display:flex;
  flex-direction:column;
}

.options-box span{
  float:right;
  color:#17C117;
  font-weight:bold;
}

.options-btn{
  display:flex;
  height:45px;
}

.options-box .options-btn:first-of-type{
  border-bottom:2px solid #CCC;
}

.options-box input[type="checkbox"]{
  transform:scale(2,2);
  margin:auto;
}

.options-box .options-btn:first-of-type .labelWrap{
  font-weight:bold;
}

.options-box .options-btn:first-of-type .labelWrap label{
  width:calc(100% - 75px);
}

.options-box .options-btn .labelWrap label{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.labelWrap{
  width:85%;
  display:flex;
  border-left:2px solid #CCC;
  padding-left:15px;
}

.options-box label{
  margin:auto 0px;
}

.options-adv-btn-wrap{
  margin:auto;
  margin-right:0;
  display:flex;
}

.show-cards-btn, .adv-btn{
  width:34px;
  height:28px;
  border-radius:3px;
  background-size:64% auto;
  background-repeat:no-repeat;
  background-position:center center;
  display:inline-block;
  background-color:#646464;
  cursor:pointer;
}

.show-cards-btn{
  background-image:url('data:image/gif;base64,R0lGODlhQQBBAMQSAGdnZ9TU1KOjo/X19cjIyD8/PyQkJIeHh7y8vHh4eOrq6t/f31RUVLCwsJaWloGBgQAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABIALAAAAABBAEEAAAX/oCSOZGmeaKquT+u+cCzP8GpLT6TvfO//wN3jxgoaj8EhMZVDOp3K5an5rAKj0hLVyhVmp92wDvsVbcVVcvmMhpa1aJp8PjfH21wlO4236u99T39ie4E/g1UKAQEEhYY9iDwDAgCVAAwQmZoQjo9eOEAFm6MFlZ2eEZE8BA2LBAEKOgMEBKmoRqo9CwkQBzuYEAinnrk9vBACOgoGEAbDj8WSBwQDOwQIA8+GuaPdm9qB3N7e4H3iyTsDi7EEB9ldDgAJXecRCrEBmQTLEADlOgD60bPTI1OyA/3yQQgQAUGmfxECAhgIqsc6ha8yMYzQQAFEiRQLDWA2T2ECASgF/3wUmIegD4QGqkVgNqrQops4A2BikDOnTEgufQioJQshMpSFxintthFoRSQOe91MurTqwkNBgQwwWhOIwR8ghWrE+vTHJJoQGFjy5xUZWJY9BIz1UWxBg2MQCsgtsEBIW3Q9wsad63RP1LQIdEQVUI0qYB6Ceci9SjfrDgAC+vJYIMpAAcdvJ4qlXLjKLLygfUTeMbkpj2gRFgRAICCBKE0HDqQODFcy4deWFXYzkADbmLaYU6YUpVc5yoCkgZfdsQnAgQaaX7e1qtT1pz2yf15pW2ptJWYGzFe67X2MZT4/vqruvQNBpezSIfr9gbJ9RPpuTOdHF6sFqN9xXBSIBF9sCxII4ILvCeKgaH5ECMWEIQFihYJHMNghPAA4kCEhtyRhYYMlknWgLSlWhgMdcrTo4hsnoqLGFytSRKOALd6YRY4t7chjij5KAWSFQh6ZhpBDlljkEjBGGSWTVGYRAgA7');
  margin-right:4px;
}

.adv-btn{
  background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE8AAAA/CAMAAACWyGV1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRF////////VXz1bAAAAAJ0Uk5T/wDltzBKAAAAUUlEQVR42uzVsQ4AEBBEwfX/P63UiMQhUcyViunsS7t7eeBl3Hgv3MJLiuDcS6ogj8fb9W7/37N9+X1PefqmbzyevukbT9/sFY+nb//vaRdgAAxAB8/VtKKxAAAAAElFTkSuQmCC');
}

.details-wrap{
  display:flex;
}

.dummy-div{
  flex:1;
}

.details-panel{
  width:85%;
  border-left:2px solid #CCC;
  padding-left:15px;
}

.details-panel p{
  color:red;
  font-size:80%;
  font-weight:bold;
  margin-bottom:12px;
}

.details-inner-wrap{
  padding:6px;
  border:1px solid #BBB;
  border-radius:4px;
}

.counter-wrap{
  font-size:80%;
  font-weight:bold;
}

.options-box span{
  float:right;
  color:#17C117;
  font-weight:bold;
}

.counter-wrap-ad span{
  color:#777;
}

.move-cards-panel{
  height:30px;
  background-color:#646464;
  margin:10px auto;
  border-radius:3px;
  display:flex;
}

.push-all-btn, .move-btn{
  margin:auto;
  text-align:center;
  font-size:75%;
  color:#FFF;
  cursor:pointer;
}

.push-all-btn{
  flex:4;
  font-weight:bold;
}

.move-cards-panel input[type="number"]{
  width:30px;
  flex:2;
  padding-left:5px;
}

.move-btn{
  flex:1;
}

.showCardsScreen{
  background-color:#FFF;
  width:100%;
  height:100%;
  margin:auto;
  overflow-y:hidden;
  position:relative;
}

.showCardsScreen .show-cards-section-inner-wrap, .showCardsScreen .show-cards-section-inner-wrap div{
  background-color:#FFF;
}

.show-more-btn{
  height:40px;
  color:blue;
  display:flex;
  font-weight:bold;
  margin-top:20px;
}

.show-more-btn p{
  margin:auto;
}

.move-cards-section-inner-wrap{
  background-color:#FFF;
  margin:0 auto 50px;
  text-align:center;
}

.showCardsScreen div.card-selected{
  background-color:#424CCE;
  color:white;
  text-shadow:1px 1px 1px #444;
}

.showCardsScreenMenuBar{
  height:47px;
  display:flex;
  border-bottom:1px solid #CCC;
}

.showCardsScreenMenuBar span{
  flex:3;
  margin:auto;
  padding-left:10px;
  font-size:85%;
}

.showCardsScreenMenuBar select{
  flex:3;
  padding-left:5px;
  border-width:2px;
  border-color:#CCC;
  border-top:0px;
  border-bottom:0px;
  background-color:#FFF;
}

.closeBtn{
  width:47px;
  padding:10px;
  color:#000;
  display:flex;
}

.closeBtn i{
  margin:auto;
}

.showCardsScreenBody{
  height:calc(100% - 47px);
  overflow-y:auto;
}

p.date-heading{
  margin-bottom:0;
  font-weight:bold;
  padding:10px;
  font-size:140%;
  text-align:right;
  color:#FFF;
  background-color:#555;
}
p.date-heading:not(:first-child){
  margin-top:65px;
}

p.date-heading span{
  font-size:86%;
}

p.cat-heading{
  background-color:#FFF;
  margin:20px 0 10px;
  font-size:140%;
  text-align:center;
  font-weight:bold;
  color:#888;
}

td.empty-cell{
  border:none;
  background-color:transparent;
}

.card-tile{
  text-align:center;
  cursor:pointer;
  background-color:#FFF;
  vertical-align:top;
}

.card-tile.k, .card-tile.h{
  width:80px;
  height:80px;
  text-align:center;
  display:inline-flex;
}

.card-tile.k span, .card-tile.h span{
  margin:auto;
}

.card-tile.vc, .card-tile.v, .card-tile.k, .card-tile.h, .card-tile.m, .card-tile.kj{
  margin:5px;
  box-shadow: 1px 1px 3px #222;
}

.card-tile.h span{
  margin:auto;
}
.card-tile.vc span, .card-tile.v span{
  margin:auto;
}

.card-tile.vc, .card-tile.v{
  width:140px;
  height:140px;
  padding:25px 3px;
  font-size:160%;
  font-family:'MS Gothic';
  display:inline-flex;
  flex-direction:column;
  vertical-align:top;
}

.showCardsImg{
  height:30px;
  display:block;
  margin:auto;
  max-width:80%;
}

#fcApp{
  background-color:#FFF;
  color:#000;
  position:fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  z-index:99;
}

#topPanel{
  height:50px;
  color:#777;
  border-bottom:1px solid #DDD;
}

#topPanel span{
  display:inline-flex;
  width:50px;
  height:100%;
}

#topPanel span i{
  margin:auto;
}

#topPanel span:first-child{
  cursor:pointer;
}

#topPanel span:last-child{
  float:right;
  cursor:pointer;
}

#cardWrapper{
  height: calc(100vh - 50px - 53px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  width:100%;
}

#bottomPanel.mobileSafariPadBottomFcPanel{
  box-sizing:content-box;
  border-bottom:44px solid #2f2f2f;
}

#cardWrapper.mobileSafariPadBottomCardWrap{
  height:calc(100vh - 50px - 53px - 44px);
}

#card{
  display:flex;
  text-align:center;
  overflow:auto;
  margin:auto;
}

#card .example-vocab{
  display:inline-block;
  margin-bottom:15px;
}

#card.k, #card.h{
  height:80%;
}

#fcApp img{
  height:100px;
  width:auto !important;
  max-width:97%;
  margin:auto;
}

#fcApp #answer{
  text-align:center;
  margin:0 auto auto;
  font-size:110%;
}

#fcApp .kj{
  font-size:540%;
  color: #252525;
  text-align: center;
  text-shadow: 1px 1px 2px #555;
  font-family:'MS Gothic';
  height:40%;
}

#fcApp .kana tr:nth-of-type(1){
  font-size:230%;
}

#fcApp .kana tr:nth-of-type(2){
  font-size:190%;
}

.vcWrap{
  margin:auto;
  position:relative;
  padding:20px 25px 45px;
}

#fcApp .s{
  height:60%;
}

#fcApp .vc div ,#fcApp .kj div, #fcApp .k div, #fcApp .h div, #fcApp .s div{
  margin:auto;
}

#fcApp .m{
  height:100%;
}
#fcApp .multi-vocab-wrap{
  margin:auto;
}

#fcApp .vcWrap .word{
  font-size:150%;
  color:#4F4F4F;
}

#fcApp .s .word{
  font-size:190%;
  color:#000;
  font-family:'MS Mincho';
  font-weight:bold;
  text-shadow:none;
}

#fcApp .vc .multiple-words{
  display:inline-block;
}

.card-tile.m, .card-tile.kj{
  padding:20px 0;
  width:140px;
  height:175px;
  display:inline-block;
}

.card-tile.kj{
  font-size:300%;
  color:#0A0A0A;
  font-weight:bold;
  display:inline-flex;
}

.card-tile.kj span{
  margin:auto;
  font-family:'MS Gothic';
}

.card-tile.m span{
  padding:10px 0;
  display:block;
  font-size:150%;
  font-family:'MS Gothic';
}

#fcApp .m img{
  display:inline-block;
  width:35% !important;
  height:auto;
}

#fcApp .m .word{
  color:#000;
  font-family:'MS Gothic';
}

#bottomPanel table{
  height:100%;
  width:70%;
  text-align:center;
}

#bottomPanel table td{
  width:33.3333333%;
  border-left:2px solid #DDD;
  cursor:pointer;
}

#thUp, #thDown, #dblThUp{
  font-size: 150%;
}

#thUp{
  color:#68DE68;
}

#thDown{
  color:#DE5555;
}

#dblThUp i:first-child{
  position:relative;
  left:8px;
  top:-3px;
  color:#F0BD5A;
}

#dblThUp i:last-child{
  position:relative;
  left:-8px;
  top:3px;
  color:#F3D14E;
}

#card .vcWrap{
  font-size:80%;
  max-width:285px;
}

.kj-list-item{
  display:inline-flex;
  padding:7px;
  margin:5px;
  box-shadow:1px 1px 2px #000;
}

.kj-list-item span{
  margin:auto;
}

.inline-img{
  width:82px;
  height:82px;
  vertical-align: middle;
}

.inline-txt-kj{
  display:inline-flex;
  width:82px;
  height:82px;
  font-size:400%;
  vertical-align:middle;
  font-family:'MS Gothic';
}

.inline-txt-kj span{
  margin:auto;
}

#sei-oracle{
  position:relative; 
  top:-12px;
}

@media(min-width:400px){
  #contentsMenuWrap{
    width:350px;
    right:-350px;
  }
}


@media(min-width:550px){
  #lessonBodyWrap{
    padding-left:40px;
    padding-right:40px;
  }
  .img-wrap{
    padding:20px;
    max-width:500px;
    max-height:247px;
  }
  #contentsMenuWrap{
    width:370px;
    right:-370px;
  }
  #counterInnerWrap{
    width:130px;
  }

  #counter{
    width:initial;
  }

  #cardsLeft{
    width:initial;
  }

  .lesson-section-body .audio-word-wrap{
    max-width:initial;
    padding:6% 10%;
  }

  #fcApp #card .audio-word-wrap.fc-show-audio-int{
    max-width:initial;
  }
  #card .vcWrap{
    max-width:initial;
  }
}

@media(min-width:650px){
  #homeIntroWrap .feature-box{
    width:298px;
    display:inline-block;
    vertical-align:top;
    max-width:initial;
  }

  #homeIntroWrap .feature-box{
    margin-left:20px;
    margin-right:20px;
    width:265px;
  }
}

/*end Lesson Page CSS*/

@media(min-width:800px){
  .demo-img.shad{
    box-shadow:2px 2px 3px #222;
  }
  .move-cards-section{
    width:800px;
    margin:auto;
  }
  .options-btn {
    display:flex;
    height:50px;
  }
  #fcLobbyDate {
    margin-bottom:18px;
  }
  .vcWrap{
    padding:26px 40px 55px;
  }
  #fcApp #card .audio-word-wrap .fa.audio-icon {
    bottom:21px;
  }
  .lesson-section-body .ssh{
    margin-top:40px;
  }
  #lessonBodyWrap{
    max-width:initial;
  }
  #radicalsMenu{
    padding-bottom:120px;
  }
  #radSearchResults{
    padding-bottom:150px;
  }
  .strokeHeading{
    margin-top:50px;
  }
  .rad-btn{
    height:60px;
    width:60px;
    margin:0 4px 4px;
  }
  .radSearchResult{
    height:60px;
    width:60px;
    margin:0 4px 4px;
  }
  #radToolbar{
    height:50px;
  }
  .rad-result-heading{
    margin-top:35px;
    margin-bottom:16px;
  }
  .kjResult .kj{
    margin-left:7px;
    margin-right:20px;
  }
  #dictCloseWelcomePage{
    width:70px;
    height:70px;
  }
  #loadDictBtn{
    height:60px;
    width:188px;
  }
  #homeIntroWrap #greeting{
    font-size:130%;
  }  
  body{
    font-size:120%;
  }
  .std-pad{
    padding:15px 25px;
  }
  .course-link{
    padding-left:68px;
  }
  .std-head-btm-pad{
    padding-bottom:10px;
  }
  .std-top-btm-pad{
    padding-top:15px;
    padding-bottom:15px;
  }

  .std-left-right-pad{
    padding-left:25px;
    padding-right:25px;
  }
  .std-margin-right{
    margin-right:20px;
  }
  #menu{
    max-width:450px;
  }

  #aboutUsPage, #contactPage, #privacyPolicyPage{
    padding:50px 30px;
  }
  #aboutUsPage p, #privacyPolicyPage p{
    text-align:left;
  }

  #homePage{
    padding:0 30px 0;
  }

  footer{
    color:#FFF;
    background-color:#2B2B2B;
    font-size:80%;
  }
  #linksWrap{
    display:flex;
    height:150px;
  }
  #aboutLinksWrap, #langLinksWrap{
    margin:auto 27px;
    text-align:left;
  }
  #aboutLinksWrap a, #langLinksWrap a{
    padding:5px 0;
  }
  #socialLinksWrap{
    margin:auto auto auto 27px;
  }
  #langLinksWrap div p{
    font-size:110%;
  }
  #copyInfoWrap{
    height:50px;
    flex-direction:initial;
  }
  #copyInfoWrap span{
    margin:auto;
  }
  #copyInfoWrap #tm{
    margin-left:27px;
    margin-bottom:auto;
  }

  #copyInfoWrap #copy{
    margin-right:27px;
  }
  #copyInfoWrap #copy p{
    display:inline;
  }

  footer #footerPaypalWrap{
    margin-top:0;
    margin-left:5%;
    margin-right:30px;
  }

  #mainWrap{
    width:800px;
    margin:auto;
  }

  #lessonMenu{
    padding-left:20px;
    padding-right:14px;
    top:60px;
    height:50px;
  }

  #slidingTab{
    border-bottom:5px solid #333;
  }

  .slidingTabLesson{
    left:25px;
    width:81px;
  }

  .slidingTabFlashcards{
    left:122px;
    width:127px;
  }

  #bannerWrap{
    padding:25px;
    border:1px solid #DDD;
    margin-top:30px;
  }

  #home-banner{
    height:428px;
    background-position:center 39%;
  }

  #home-banner p{
    margin-top:65px;
    font-size:150%;
  }


  #home-banner h2{
    font-size:240%;
  }
  #closeContentsMenuBtn{
    width:60px;
  }

  #home-banner #start-btn{
    height:66px;
    width:182px;
  }

  #homeIntroWrap{
    padding:35px 0;
  }

  #homeIntroWrap p{
    margin-bottom:30px;
    text-align:center;
    font-size:100%;
  }

  #homeIntroWrap .feature-box{
    width:316px;
    margin-bottom:45px;
  }

  #homeIntroWrap .feature-box .heading{
    margin-bottom:15px;
  }

  #homeIntroWrap .feature-box img{
    margin-bottom:25px;
    height:67px;
  }

  #homeIntroWrap .feature-box .heading{
    font-size:110%;
  }


  #headerInnerWrap{
    height:60px;
  }

  .auto-hide-header{
    top:-60px;
  }

  #lessonBodyWrap{
    padding-top:30px;
  }

  .img-wrap{
    max-height:260px;
    max-width:550px;
    padding:20px;
  }

  #nextPrevBtnWrap{
    margin:30px 0 45px;
  }

  .bottom-next-prev #nextPrevBtnWrap{
    margin:70px auto 30px;
  }

  .section-expand-btn{
    padding:18px;
    padding-right:25px;
  }

  main{
    width:540px;
    padding-top:60px;
    display:inline-block;
  }

  .placeholder-wrap{
    width:230px;
    display:inline-block;
    vertical-align:top;
    padding-top:calc(60px + 50px + 30px);
    float:right;
    margin-right:30px;
  }

  .placeholder-home-page-top{
    padding-top:calc(60px + 30px);
  }

  .placeholder-wrap .placeholder{
    margin-bottom:30px;
  }

  .placeholder-wrap .placeholder-md{
    background-color:#FFD1D1;
    height:300px;
  }

  .lesson-view{
    padding-top:50px;
  }

  #contentsMenuWrap{
    width:450px;
    right:-450px;
    top:110px;
  }

  #contentsGrabber{
    right:10%;
    padding-left:10%;
  }

  #contentsMenu{
    top:-110px;
  }

  #headerInnerWrap{
    padding-left:28px;
    padding-right:15px;
  }

  .contents-menu-btn{
    width:50px;
  }

  #dictGrabber{
    top:110px;
    padding-right:5%;
    left:calc(-100vw + 5%);
  }

  #dict{
    top:-110px;
  }

  .lesson-section-header{
    margin:45px 1% 30px;
  }

  .dict-btn{
    height:50px;
    width:50px;
    top:60px;
    right:65px;
  }

  #searchSection{
    height:50px;
  }

  #searchSection input{
    padding-left:15px;
  }

  #clearBtn, #dictBackBtn{
    width:70px;
  }

  .toolBarBtn{
    width:65px;
    height:100%;
  }

  #dict #btnsBar{
    padding-left:14px;
    height:50px;
  }

  #dictResults, #kanjiResults, #dictInfo{
    height:calc(100vh - 50px - 42px);
    padding:10px 15px 50px;
  }

  .dict-result{
    padding:17px 14px;
  }

  .dict-result .ent-read{
    padding-bottom:10px;
  }

  .kjViewLeftWrap{
    float:left;
  }

  #detailsView, #kjDetailsView{
    height:calc(100% - 75px - 70px);
    padding:30px 50px 75px;
  }

  .dictEntryWrap{
    margin-bottom:40px;
  }

  .dictRightWrap{
    margin-top:35px;
  }

  #detailsView .section-heading{
    margin:35px auto 22px;
  }
  .dictRightWrap .section-heading{
    text-align:center;
  }

  #defs, .dict-alt-forms-wrap, .dictRightWrap, 
  #kjBtnPanel, #kjDetailsView .kj-view{
    max-width:75%;
  }
  #kjDetailsView .kj-view{
    margin:auto;
  }

  .kanaInputWrap{
    height:calc(100vh - 50px - 50px);
    width:420px;
    padding-right:70px;
    margin:auto;
  }

  .kanaInputSidePanel{
    height: calc(100% - 50px - 50px);
    top:100px;
    width:70px;
    left:calc(50% + 144px);
    box-shadow:-2px 2px 5px #222;
  }

  .kanaInputBtn{
    height:70px;
    height:70px;
  }

  #kjBtnPanel{
    margin-bottom:15px;
  }

  #kjBtnPanel div{
    width:60px;
    height:60px;
  }

  .kjViewLeftWrap{
    width:55%;
    display:inline-block;
    vertical-align:top;
    padding:0 20px;
  }

  .kjHeader{
    padding:10px 0 30px;
  }

  .kj-view .meanings{
    margin-bottom:30px;
  }

  .kj-view .readings{
    margin-bottom:30px;
  }

  .kjStrokeAnimWrap{
    width:45%;
    display:inline-block;
    padding:20px 44px 0px;
  }

  .kjStrokeAnim{
    max-width:350px;
  }

  .tapToPlayMsg{
    padding:10px 0;
    font-size:78%;
  }

  #fcMenuWrap{
    top:110px;
  }

  #fcMenuWrap.slide-fcMenu{
    top:50px;
  }

  #fcLobby{
    padding-top:30px;
  }

  #hiraBtn{
    border-left:none;
  }

}

@media(min-width:1000px){
  .img-wrap {
    max-height:320px;
    max-width:595px;
    padding:25px;
  }
  #mainWrap{
    width:1000px;
  }

  main{
    width:675px;
  }

  #home-banner{
    height:345px;
  }

  #home-banner p{
    margin-top:45px;
  }

  .placeholder-wrap{
    width:288px;
    margin-right:37px;
  }

  #homePage{
    padding:0 37px 0;
  }

  #homeIntroWrap .feature-box{
    width:245px;
  }

  #homeIntroWrap .feature-box{
    margin-left:25px;
    margin-right:25px;
  }
}

@media(min-width:1400px){
  .inline-img{
    width:100px;
    height:100px;
  }

  .inline-txt-kj{
    width:100px;
    height:100px;
  }

  .closeBtn {
    width:70px;
  }
  .showCardsScreenBody {
    height: calc(100% - 70px);
  }
  .showCardsScreenMenuBar{
    height:70px;
  }
  .move-cards-section{
    width:1400px;
  }
  #customization-screen{
    min-width:690px;
  }
  .showCardsImg{
    height:60px;
    margin-top:25px;
  }
  .card-tile.m, .card-tile.kj {
    padding: 40px 0;
    width: 200px;
    height: 245px;
  }
  .card-tile.vc, .card-tile.v{
    width: 180px;
    height: 215px;
  }
  .card-tile.vc, .card-tile.v, .card-tile.k, .card-tile.h, .card-tile.m, .card-tile.kj {
    margin: 7px;
  }
  .options-box .options-btn:first-of-type .labelWrap label {
    width:calc(100% - 100px);
  }
  .show-cards-btn{
    margin-right:7px;
  }
  .show-cards-btn, .adv-btn {
    width:48px;
    height:38px;
  }
  .options-btn{
    height:60px;
  }
  .kj-list-item{
    padding:12px;
    margin:6px;
    box-shadow:1px 1px 5px #000;
  }
  #fcLobby table tr td:first-child {
    width:290px;
  }
  #fcLobby table {
    margin:0px auto 30px;
  }
  #fcLobby table td {
    padding: 45px 15px 0px;
  }
  #fcLobbyDate{
    margin-bottom:25px;
  }
  #fcStartBtn{
    margin-top:35px;
    padding:22px 75px;
  }
  #fcLobby #custBtn, #fcLobby #retToLessBtn {
    padding:18px 12px;
  }
  .vcWrap{
    padding: 32px 40px 72px;
  }
  #fcApp .vc, #fcApp .v {
    padding: 35px 0;
  }
  #cardWrapper{
    height:calc(100vh - 70px - 75px);
  }
  #counterInnerWrap{
    width:160px;
  }
  #topPanel{
    height:70px;
  }
  #bottomPanel{
    height:75px;
  }
  #topPanel span{
    width:72px;
  }
  #fcApp #card .audio-word-wrap .fa.audio-icon {
    bottom:30px;
  }
  .kanaCardOuterWrap {
    padding:30px 70px 96px;
  }
  .lesson-section-body .ssh{
    margin-top:60px;
  }
  #radSearchResults{
    height:calc(100vh - 160px - 70px);
    padding-bottom:200px;
  }
  .strokeHeading{
    margin-top:70px;
  }
  #radToolbar{
    width:100%;
    height:70px;
  }
  .radSearchResult{
    margin:0 6px 6px;
  }
  #radicalsMenu{
    padding-bottom:220px;
  }
  .kanaInputWrap .left-keys-wrap{
    height:calc(100vh - 80px - 80px);
    overflow:auto;
    padding-bottom:100px;
  }
  .kanaInputBtn{
    width:100px;
    height:100px;
  }
  .kanaInputSidePanel{
    width:100px;
    height:calc(100vh - 80px - 80px);
    left:calc(50% + 200px);
    top:0px;
  }
  .kanaInputWrap{
    padding-right:0;
    width:599px;
    margin:auto;
    position:absolute;
    left:0;
    right:0;
  }
  .kjResult {
    padding:15px 0;
  }
  #dictCloseWelcomePage {
    width:80px;
    height:80px;
  }
  #loadDictBtn{
    height:75px;
    width:215px;
  }
  #closeContentsMenuBtn {
      width: 80px;
  }
  body{
    font-size:147%;
  }
  #menu .paypalBtnWrap{
    transform:scale(1.5);
  }

  .std-menu-btn-pad {
    padding:10px;
  }

  #aboutUsPage, #contactPage, #privacyPolicyPage{
    font-size:125%;
    padding:70px;
  }

  #aboutUsPage p, #contactPage p, #privacyPolicyPage p, #aboutUsPage h2, #contactPage h2, #privacyPolicyPage h2, #contactPage #emEl{
    margin-bottom:40px;
  }
  
  #bannerWrap{
    padding:40px;
    margin-top:50px;
  }

  #mainWrap{
    width:1400px;
  }
  main{
    width:945px;
    padding-top:75px;
  }

  nav{
    height:calc(100vh - 75px);
  }
  #menu{
    max-width:600px;
  }

  .std-pad{
    padding:20px 30px;
  }
  .std-top-btm-pad{
    padding-top:20px;
    padding-bottom:20px;
  }

  .std-left-right-pad{
    padding-left:30px;
    padding-right:30px;
  }
  .std-margin-right{
    margin-right:30px;
  }

  .flag-nihongo{
    height:30px;
    width:42px;
  }

  .course-link{
    padding-left:100px;
  }
  .lang-link{
    height:55px;
    padding-left:52px;
  }
  .lesson-view{
    padding-top:63px;
  }

  #headerInnerWrap{
    height:75px;
    padding-left:55px;
  }

  .auto-hide-header{
    top:-75px;
  }

  #menuBtnWrap{
    width:75px;
  }

  #lessonMenu{
    top:75px;
    height:63px;
    padding-left:30px;
    padding-right:20px;
  }

  .dict-btn{
    height:63px;
    width:63px;
    top:75px;
    right:85px;
  }

  #dictGrabber{
    top:138px;
  }

  #dict{
    top:-138px;
  }

  #searchSection{
    height:80px;
  }

  #searchSection input{
    padding-left:32px;
  }

  #clearBtn, #dictBackBtn{
    width:85px;
  }

  .toolBarBtn{
    width:85px;
    height:80px;
  }

  #hiraBtn, #kataBtn{
    font-weight:normal;
  }

  #dict #btnsBar{
    height:80px;
  }

  .img-wrap{
    max-height:450px;
    max-width:865px;
    padding:35px;
    margin-bottom:100px;
  }

  #homePage{
    padding:0 53px 0;
  }

  #home-banner{
    height:530px;
    background-position:center center;
  }
  #home-banner p{
    margin:84px auto 60px;
  }

  #home-banner h2{
    margin-bottom:60px
  }

  #home-banner #start-btn{
    height:85px;
    width:250px;
  }

  #homeIntroWrap{
    padding:60px 0;
  }

  #homeIntroWrap p{
    margin-bottom:50px;
  }

  #homeIntroWrap .feature-box{
    margin-left:48px;
    margin-right:48px;
  }

  #homeIntroWrap .feature-box{
    width:320px;
  }

  #homeIntroWrap .feature-box .heading{
    text-align:left;
  }

  #homeIntroWrap .feature-box .heading{
    margin-bottom:25px;
    text-align:center;
  }

  #homeIntroWrap .feature-box:nth-child(2) .heading{
    margin-bottom:25px;
  }

  #homeIntroWrap .feature-box:nth-child(4) .heading, #homeIntroWrap .feature-box:nth-child(6) .heading{
    margin-bottom:50px;
  }

  #homeIntroWrap .feature-box img{
    margin-bottom:30px;
  }

  .placeholder-wrap{
    padding-top:calc(75px + 63px + 50px);
    width:402px;
    margin-right:53px;
  }

  .placeholder-home-page-top{
    padding-top:calc(75px + 50px);
  }

  #contentsMenuWrap{
    width:600px;
    right:-600px;
    top:138px;
  }

  #nextPrevBtnWrap{
    margin:35px 0 50px;
  }

  .flag-nihongo{
    height:34px;
    width:52px;
  }

  .contents-menu-btn{
    width:63px;
  }

  .lesson-menu-btn{
    padding:0 30px;
  }

  #slidingTab{
    border-bottom:6px solid #333;
  }

  .slidingTabLesson{
    width:96px;
    left:50px;
  }

  .slidingTabFlashcards{
    width:150px;
    left:186px;
  }

  #contentsMenu{
    top:-138px;
  }

  #contentsHeader{
    height:84px;
  }

  #nextPrevBtnWrap #prevBtn i{
    margin-right:40px;
  }

  #nextPrevBtnWrap #nextBtn i{
    margin-left:40px;
  }

  .section-expand-btn{
    padding:28px;
    padding-right:40px;
    margin-top:5px;
  }

  .lesson-section-header{
    margin:50px 1% 30px;
  }

  .lesson-section-body{
    padding:0 1% 80px;
  }

  .lesson-section-body p, .expanded-section-wrap p{
    margin:30px 0;
  }

  #lessonBodyWrap{
    padding-top:50px;
  }

  #dictResults, #kanjiResults, #dictInfo{
    height:calc(100% - 80px - 80px);
    padding:10px 25px 60px;
  }

  .dict-result{
    padding:18px 7px;
  }

  .dict-result .ent-read{
    padding-bottom:20px;
  }

  #detailsView, #kjDetailsView{
    padding:70px 75px 100px;
    height:calc(100% - 115px - 100px);
  }

  #kjBtnPanel div{
    margin-right:12px;
    width:80px;
    height:80px;
  }

  .kjViewLeftWrap{
    padding:0 35px;
  }

  .kjHeader{
    margin:0px 0 50px;
  }

  .kj-view{
    padding:0px 10px 60px;
  }

  .kj-view .meanings{
    margin-bottom:50px;
  }

  .kj-view .readings{
    margin-bottom:50px;
  }

  .ancient-wrap{
    border-radius:7px;
    margin-bottom:60px;
  }

  .ancient-script{
    padding:18px;
  }

  .kjStrokeAnimWrap{
    padding:0px 44px 0px;
  }

  .kjStrokeAnim{
    max-width:360px;
  }

  #fcMenuWrap.slide-fcMenu{
    top:63px;
  }

  footer{
    border-top:solid 24px #212121;
  }

  #linksWrap{
    height:190px;
  }

  #socialLinksWrap{
    margin-left:40px;
  }

  #socialLinksWrap div p{
    font-size:255%;
  }

  #socialLinksWrap img{
    height:52px;
  }

  #socialLinksWrap #fb{
    height:56px;
  }

  #langLinksWrap{
    margin-right:40px;
  }

  #copyInfoWrap{
    height:60px;
  }

}

@media(min-width:1800){
  main{
    width:1260px;
  }
}

@media(min-width:2300px){
  #defs .dict-def{
    padding:20px 0;
  }
  .inline-img{
    width:150px;
    height:150px;
  }
  .inline-txt-kj{
    width:150px;
    height:150px;
  }
  .card-tile.k, .card-tile.h {
    width:130px;
    height:130px;
  }
  .closeBtn {
    width:100px;
  }
  .showCardsScreenBody {
    height: calc(100% - 100px);
  }
  .showCardsScreenMenuBar{
    height:100px;
  }
  .card-tile.vc, .card-tile.v {
    width:300px;
    height:375px;
  }
  .showCardsImg {
    height: 115px;
    margin-top: 50px;
  }
  .card-tile.vc, .card-tile.v, .card-tile.k, .card-tile.h, .card-tile.m, .card-tile.kj {
    margin:12px;
  }
  .card-tile.m, .card-tile.kj {
    width: 400px;
    height: 410px;
  }
  .card-tile.m span {
    padding:25px 0;
  }
  .options-box{
    margin-bottom:60px;
  }
  .show-cards-btn, .adv-btn {
    width:65px;
    height:55px;
  }
  .options-btn {
    height:100px;
  }
  #fcStartBtn {
    margin-top:60px;
  }
  #fcLobby #custBtn, #fcLobby #retToLessBtn {
    padding:30px 12px;
  }
  #fcLobbyDate {
    margin-bottom:40px;
  }
  #fcLobby table tr td:first-child {
    width:450px;
  }
  #fcLobby table td {
    padding:60px 30px 0px;
  }
  .kj-list-item{
    padding:18px;
    margin:10px;
    box-shadow:2px 2px 6px #000;
  }
  #card.s .example-vocab, #card.v .example-vocab{
    margin-bottom:55px;
  }
  .vcWrap {
    padding:55px 80px 140px;
  }
  #cardWrapper{
    height:calc(100vh - 120px - 124px);
  }
  #fcApp #card .audio-word-wrap .fa.audio-icon {
    bottom:47px;
  }
  #counterInnerWrap{
    width:280px;
  }
  #topPanel{
    height:120px;
  }
  #bottomPanel{
    height:125px;
  }
  #topPanel span{
    width:124px;
  }
  .uc-wrap span{
    margin:0 50px;
  }
  .uc-wrap{
    margin:100px 0;
    transform:scale(1.2);
  }
  .demo-img-caption{
    margin-bottom:80px;
    margin-top:35px;
  }
  .lesson-section-body .ssh{
    margin-top:90px;
  }
  #loading-screen img{
    top:-100px;
    width:initial;
  }
  #logoSpinWrap{
    top:50px;
  }
  #radSearchResults{
    height:calc(100vh - 260px - 40px );
    padding-bottom:300px;
  }
  #radicalsMenu{
    padding-bottom:470px;
    height:calc(100vh - 260px - 40px );
    padding-bottom:300px;
  }
  #radToolbar{
    height:100px;
  }
  .rad-btn{
    height:100px;
    width:100px;
    margin:0 6px 6px;
  }
  .strokeHeading{
    margin-top:100px;
  }
  .radSearchResult{
    height:100px;
    width:100px;
    margin:0 10px 10px;
  }
  .kanaInputWrap .left-keys-wrap{
    padding-bottom:220px;
  }
  .kanaInputBtn{
    width:140px;
    height:140px;
  }
  .kanaInputWrap{
    width:839px;
  }
  .kanaInputSidePanel{
    height:calc(100vh - 130px - 130px);
    left:calc(50% + 280px);
    box-shadow:-5px 7px 8px #222;
    width:140px;
  }
  .kjResult {
    padding:25px 0;
  }
  .kjResult .kj{
    padding-right:30px;
  }
  #dict #btnsBar {
    height:130px;
  }
  #dictCloseWelcomePage{
    width:125px;
    height:125px;
  }
  #loadDictBtn{
    margin-top:120px;
    height:120px;
    width:338px;
  }
  footer .paypalBtnWrap{
    transform-origin:left;
    transform:scale(2);
  }
  footer #footerPaypalWrap{
    margin-right:225px;
  }
  #closeContentsMenuBtn {
    width:140px;
  }
  #lessonBodyWrap{
    padding-top:75px;
  }
  body{
    font-size:235%;
  }
  .contentsSection {
    margin-top:30px;
  }
  .std-menu-btn-pad{
    padding:12px;
  }
  #menu .paypalBtnWrap{
    transform:scale(2);
  }
  .demo-img{
    max-width:530px;
    margin-bottom:35px;
  }
  #aboutUsPage, #contactPage, #privacyPolicyPage{
    font-size:220%;
    padding:100px;
  }

  #aboutUsPage p, #contactPage p, #privacyPolicyPage p, #aboutUsPage h2, #contactPage h2, #privacyPolicyPage h2, #contactPage #emEl{
    margin-bottom:75px;
  }

  #homePage{
    padding:0 87px 0;
  }
  #bannerWrap{
    padding:65px;
  }
  .placeholder-wrap{
    margin-right:97px;
    width:602px;
    padding-top:calc(185px + 63px + 50px);
  }
  .placeholder-home-page-top{
    padding-top:calc(115px + 50px);
  }
  .placeholder-wrap .placeholder:not(:last-child){
    margin-bottom:90px;
  }
  .placeholder-wrap .placeholder-md{
    height:580px;
  }
  #homeIntroWrap p{
    margin-bottom:70px;
  }
  
  #loading-screen #spinner{
    transform:scale(2);
  }
  #mainWrap{
    width:2300px;
  }
  main{
    padding-top:120px;
    width:1600px;
  }

  nav{
    height:calc(100vh - 120px);
  }

  #menu{
    max-width:950px;
  }

  .std-pad{
    padding:30px 40px;
  }

  .std-left-right-pad{
    padding-left:40px;
    padding-right:40px;
  }

  .std-margin-right{
    margin-right:40px;
  }

  .flag-nihongo{
    height:60px;
    width:84px;
  }

  .course-link{
    padding-left:130px;
  }

  .lang-link{
    height:82px;
    padding-left:65px;
  }

  .lesson-view{
    padding-top:105px;
  }

  #headerInnerWrap{
    height:120px;
    padding-left:50px;
  }

  .auto-hide-header{
    top:-120px;
  }

  #menuBtnWrap{
    width:120px;
  }

  #home-banner{
    height:850px;
  }

  #home-banner p{
    margin-top:110px;
    margin-bottom:100px;
  }

  #home-banner h2{
    margin-bottom:130px;
  }

  #home-banner #start-btn{
    height:140px;
    width:424px;
  }

  #homeIntroWrap .feature-box, #homeIntroWrap .feature-box{
    margin-right:36px;
    margin-left:36px;
    width:630px;
  }

  #homeIntroWrap .feature-box:nth-child(6) .heading{
    margin-bottom:71px;
  }

  #homeIntroWrap .feature-box img{
    height:130px;
  }

  #lessonMenu{
    top:120px;
    height:105px;
    padding-right:22px;
  }

  .dict-btn{
    top:120px;
    height:105px;
    width:105px;
    right:130px;
  }

  .contents-menu-btn{
    width:105px;
  }

  #slidingTab{
    border-bottom:10px solid #333;
  }

  .slidingTabLesson{
    width:150px;
    left:46px;
  }

  .slidingTabFlashcards{
    width:230px;
    left:227px;
  }

  #contentsMenuWrap{
    top:225px;
    width:915px;
    right:-915px;
  }

  #contentsHeader{
    height:160px;
  }

  #contentsHeader span:first-child{
    margin-right:25px;
  }

  #contentsMenu{
    top:-225px;
  }

  #contentsMenu h4:not(:first-of-type){
    margin-top:60px;
  }

  #nextPrevBtnWrap{
    margin:80px 0 100px;
  }

  #nextPrevBtnWrap #prevBtn i{
    margin-right:36px;
  }

  #nextPrevBtnWrap #nextBtn i{
    margin-left:36px;
  }

  .img-wrap{
    max-height:765px;
    max-width:1525px;
    padding:70px;
    margin-bottom:100px;
  }

  .section-expand-btn{
    padding:40px;
    padding-right:60px;
    margin-top:5px;
  }

  .lesson-section-body p, .expanded-section-wrap p{
    margin:50px 0;
  }

  #dictGrabber{
    top:225px;
  }

  #dict{
    top:-225px;
  }

  #searchSection{
    height:130px;
  }

  #searchSection input{
    padding-left:50px;
  }

  #clearBtn, #dictBackBtn{
    width:155px;
  }

  .toolBarBtn{
    width:150px;
    height:130px;
  }

  #dictResults, #kanjiResults, #dictInfo{
    height:calc(100% - 175px - 175px);
    padding:10px 35px 65px;
  }

  .dict-result{
    padding:30px 15px;
  }

  .dict-result .ent-read{
    padding-bottom:23px;
  }

  #detailsView, #kjDetailsView{
    padding:80px 75px 135px;
    height:calc(100% - 175px - 175px);
  }

  .kjStrokeAnim{
    max-width:500px;
    box-shadow:5px 5px 10px #777;
  }

  .dictEntryWrap{
    margin-bottom:100px;
  }

  #detailsView .section-heading{
    margin-top:60px;
  }

  #kjBtnPanel div{
    box-shadow:3px 3px 6px #777;
    width:120px;
    height:120px;
    margin-right:16px;
  }

  .kjViewLeftWrap{
    padding:0 100px;
  }

  .tapToPlayMsg{
    padding:50px 0;
  }

  .kj-view{
    padding:0px 10px 70px;
  }

  #fcMenuWrap{
    top:225px;
  }

  #fcMenuWrap.slide-fcMenu{
    top:105px;
  }

  footer{
    border-top:solid 30px #212121;
  }

  #linksWrap{
    height:330px;
  }

  #socialLinksWrap{
    margin-left:70px;
  }

  #socialLinksWrap div p{
    font-size:470%;
  }

  #socialLinksWrap img{
    height:100px;
  }

  #socialLinksWrap #fb{
    height:102px;
  }

  #langLinksWrap{
    margin-right:70px;
  }

  #copyInfoWrap{
    height:105px;
    padding:0px 15px;
  }
  
}
