/* -----------------------
Base styles
------------------------*/

body
{
	margin: 0;
	padding: 0;
	color: #333;
	background-color: #eee;
	font: 1em/1.2 "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif;
}

h1,h2,h3,h4,h5,h6
{
	margin: 0 0 .5em;
	font-weight: 500;
	line-height: 1.1;
}

h1 { font-size: 2.25em; } /* 36px */
h2 { font-size: 1.75em; } /* 28px */
h3 { font-size: 1.375em; } /* 22px */
h4 { font-size: 1.125em; } /* 18px */
h5 { font-size: 1em; } /* 16px */
h6 { font-size: .875em; } /* 14px */

p
{
	margin: 0 0 1.5em;
	line-height: 1.5;
}

blockquote
{
	padding: 1em 2em;
	margin: 0 0 2em;
	border-left: 5px solid #eee;
}

hr
{
	height: 0;
	margin-top: 1em;
	margin-bottom: 2em;
	border: 0;
	border-top: 1px solid #ddd;
}

table
{
	background-color: transparent;
	border-spacing: 0;
	border-collapse: collapse;
	border-top: 1px solid #ddd;
}

th, td
{
	vertical-align: top;
	text-align: left;
	border-bottom: 1px solid #ddd;
}

a:link { color: royalblue; }
a:visited { color: purple; }
a:focus { color: black; }
a:hover { color: green; }
a:active { color: red; }

/* -----------------------
Layout styles
------------------------*/

.container
{
	max-width: 70em;
	margin: 0 auto;
}
.container-footer
{
	max-width: 70em;
	margin: 0 auto;
	text-align: center;
}
.container-adspace
{
	max-width: 70em;
	color: #000;
	background-color: #fff;
	padding: 0 5em;
	margin: 0 auto;
	text-align: center;
}

.header
{
	color: #fff;
	background: #1a3664;
	padding: 1em 1.25em;
}

.header-heading { margin: 0; }

.nav-bar
{
	background: #000;
	padding: 0;
}

.content
{
	overflow: hidden;
	padding: 1em 1.25em;
	background-color: #fff;
}

.main, .aside
{
	margin-bottom: 1em;
}

.footer
{
	color: #fff;
	background: #000;
	padding: 1em 1.25em;
}

/* -----------------------
Nav
------------------------*/

.nav
{
	margin: 0;
	padding: 0;
	list-style: none;
}

.nav li
{
	display: inline;
	margin: 0;
}

.nav a
{
	display: block;
	padding: .7em 1.25em;
	color: #fff;
	text-decoration: none;
	border-bottom: 1px solid gray;
}

.nav a:link { color: white; }
.nav a:visited { color: white; }

.nav a:focus
{
	color: black;
	background-color: white;
}

.nav a:hover
{
	color: white;
	background-color: green;
}

.nav a:active
{
	color: white;
	background-color: red;
}

/* -----------------------
Single styles
------------------------*/

.img-responsive { max-width: 100%; }

.btn
{
	color: #fff !important;
	background-color: royalblue;
	border-color: #222;
	display: inline-block;
	padding: .5em 1em;
	margin-bottom: 0;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	cursor: pointer;
	border: 1px solid transparent;
	border-radius: .2em;
	text-decoration: none;
}

.btn:hover
{
	color: #fff !important;
	background-color: green;
}

.btn:focus
{
	color: #fff !important;
	background-color: black;
}

.btn:active
{
	color: #fff !important;
	background-color: red;
}

.table
{
	width: 100%;
	max-width: 100%;
	margin-bottom: 20px;
}
.list-unstyled
{
	padding-left: 0;
	list-style: none;
}

.list-inline
{
	padding-left: 0;
	margin-left: -5px;
	list-style: none;
}

.list-inline > li
{
	display: inline-block;
	padding-right: 5px;
	padding-left: 5px;
}

/* -----------------------
Wide styles
------------------------*/

@media (min-width: 55em)
{
	.header { padding: 1.5em 3em; }
	.nav-bar { padding: 1em 3em; }
	.content { padding: 2em 3em; }

	.main
	{
		float: left;
		width: 55%;
		margin-right: 5%;
		margin-bottom: 1em;
	}

	.aside
	{
		float: left;
		width: 40%;
		margin-bottom: 1em;
	}

	.footer { padding: 2em 3em; }

	.nav li
	{
		display: inline;
		margin: 0 1em 0 0;
	}

	.nav a
	{
		display: inline;
		padding: 0;
		border-bottom: 0;
	}
}
/* main content slots */

.mainimage {
	padding: 1px;
}
.imagewrapper {
	text-align: center;
}
.titlebox {
	height: 80px;
}
.main-text {
	padding: 10px 20px;
}

.title {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1em;
	width: 443px;
	padding:10px 5px 10px 10px;
}

/* right column slots */


/* bottom */
.promo {
	text-align: center;
	padding: 10px 10px;
}

.promobox {
	text-align: center;
	padding: 10px 10px;
}


.floatright
{
	float: right;
	margin: 0 0 5px 5px;
	padding: 2px;
	text-align: center;
}
.floatleft
{
float: left;
margin: 0 5px 5px 0px;
padding: 2px;
height: 150px;
border-right: 1px;
}
.namecountry {
	padding: 3px 3px;
	font-size: 1.6em;
	font-weight: bolder;
}
.namecountry2 {
	padding: 3px 3px;
	font-size: 1.45em;
	font-weight: bolder;
}
.byline {
	padding: 3px 3px;
	font-size: 1em;
}
.textwrap {
	padding: 10px 10px;
}
.vocabtext {
	padding: 5px;
	text-align: center;
	font-size: .9em;
}
.floatrightmeta
{
	float: right;
	margin: 0 0 5px 5px;
	padding: 2px;
	text-align: center;
}
#menuright {
	float: right;
	width: 125px;
	padding: 0px 0px;
	margin: 0px 5px 0px 7px;
}
.audio {
	padding: 10px 10px;
}
.render {
	line-height: 1.4em;
}
#vocablist {
	padding: 10px 10px;
	font-weight: bolder;
	text-align: center;
}
.vocablist {
	padding: 10px 10px;
	font-weight: bolder;
}
.instructions {
	padding: 1px 10px;
	font-size: .9em;
	font-style: italic;
	color: #665;
}
.items {
	background-color: #99CC99;
	font-weight: bolder;
	padding: 5px 5px;
}
#notespromo {
	padding: 10px 10px;
	font-size: 1.1em;
	font-weight: bold;
	
}
.quizspacer {
	padding: 35px 10px;
}
.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 2px #000 solid;
}
.mobilelist {
	height: 90px;
}
.linkbox {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.8em;
	text-align:left;
	padding-left: 4px;
}
.listbox {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.9em;
	text-align:left;
	padding: 5px 5px;
}
.floatrightmeta
{
	float: right;
	margin: 0px 0px 5px 0px;
	text-align: center;
	width: 55px;
}
.floatrightmetathin
{
	float: right;
	margin: 0px 0px 5px 0px;
	text-align: center;
	width: 50px;
}
.floatrightmetawide
{
	float: right;
	margin: 0px 0px 5px 0px;
	text-align: center;
	width: 80px;
}
.floatrightflag
{
	float: right;
	margin: 0px 0px 5px 0px;
	text-align: center;
	width: 80px;
}
.floatrightmetaleft {
	float: right;
	margin: 0px 0px 5px 0px;
	text-align: right;
	width: 55px;
}
.spacertop {
	padding-top: 25px;
}
.titlebox {
	height: 102px;
}
p.small {
    line-height: 1.1;
}
.style1 {
	font-size: .8em;
}
.style11 {
	font-size: .85em;
}
.spacer {
	padding: 20px 0px 10px 0px;
	text-align: left;
}
.adspacer {
	padding: 10px 0px;
	text-align: center;
}
quizspacer {
	padding: 10px 0px;
	text-align: left;
}
.linksunit {
	padding: 10px 0px;
	text-align: left;
}
.message {
	padding: 10px 0px;
	text-align: left;
}
.floatrightmeta
{
float: right;
text-align: left;
width: 80px;
margin: 0px 0px 5px 5px;
padding: 3px;
font-size: .8em;
}
.floatrightmeta2
{
float: right;
text-align: left;
width: 89px;
margin: 0px 0px 5px 5px;
padding: 3px;
font-size: .75em;
}
.floatrightmeta1
{
float: right;
text-align: left;
width: 45px;
margin: 0px 0px 5px 5px;
padding: 3px;
font-size: .9em;
}
.floatleft1
{
float: left;
margin: 0 5px 5px 0px;
height: 83px;
padding: 2px;
}
.acttype {
	color: #B1AAAA;
	font-style: italic;
	text-decoration: none;
}
.flags {
	padding: 1px 0px;
}
.adspacert {
	padding: 10px 0px;
	text-align: left;
}
.adspacert2 {
	padding: 10px 0px;
	text-align: center;
}
.adspacert4 {
	padding: 10px 0px;
	
	text-align: center;
}
.pic
{
  float: left;
	width: 170px;
	margin: 0px  5px;
	padding: 2px;
	height: 210px;
}
.audionotes {
	color: #4066C3;
	font-style: italic;
	font-weight: bold;
}
.name-small {
	
}
.floatleft4
{
float: left;
margin: 0 5px 5px 0px;
padding: 2px;
height: 90px;
}
.floatrightan
{
float: right;
margin: 0 0 5px 5px;
padding: 2px;
}
.navcenter {
	padding:10px 10px;
}
.lessonbox {
}
.lessonpreview {
	height: 450px;
}
#tutorialcode {
	padding: 5px 0px;
	border: solid .5px #CCCCCC;
}
.show {
	display: none;
}
.hide {
	display: block;
}
.byline {
	font-size: 1.2em;
	font-weight: bold;
}
.quizbox li
	{
		display: inline;
		margin: 2em 2em;
	}
.buybox {
	text-align: center;
}
.previewbox {
	text-align: center;
}
.newtop {
	height:410px;
}
.mobilepro {
	height: 155px;
	border-bottom: 1px solid #666;
}
#linkaudio {
	background-repeat: no-repeat;
	padding: 3px 0px;
	margin: 3px 8px;
}
#link2mp3 {
	background-image: url(../../Assets/graphics/icons/30Links.jpg);
	background-repeat: no-repeat;
	height: 30px;
	padding: 3px 0px;
	margin: 3px 8px;
}
#linkprint {
	background-image: url(../../Assets/graphics/icons/30print.jpg);
	background-repeat: no-repeat;
	height: 30px;
	padding: 3px 0px;
	margin: 3px 8px;
}
.linktext {
	font-family: Arial, Helvetica, sans-serif;
	color: #333333;
	text-align:center;
}
.subsub {
	font-size: 1.375em; 
	color: #999;
	font-weight: bolder; 
}
.subsub-grammar {
	font-size: 1.2em; 
	color: #999;
	font-weight: bolder; 
}
.floatright-SC
{
float: right;
text-align: left;
margin: 0px 0px 5px 5px;
padding: 5px;
font-size: .9em;
}
.lessonspacer {
	padding: 10px 0px;
	text-align: center;
}
.floatright-index
{
float: left;
text-align: left;
margin: 0px 0px 5px 5px;
padding: 5px;
height: 250px;
width: 250px;
font-size: .9em;
}
.spacer3 {
	padding: 5px 10px 10px 0px;
	font-size: .95em;
}
.adspacermain {
	padding-bottom: 10px;
}
.lesson0level {
	font-weight: bold;
	color: #CCC5C5;
	padding: 5px 0px;
}
.lesson2blurb {
	padding: 5px 0px 10px 0px;
}
.demobox {
	padding: 10px 0px 15px 0px;
}
.spacerpromo {
	text-align: center;
	padding: 10px 10px;
}
.transcript {
	padding: 5px 5px;
	
}
.video-number {
	padding: 5px 5px;
}
.video-speaker-names {
	padding: 5px 5px;
}
.video-question {
	padding: 5px 5px;
}
.spacer-ws {
	
	text-align: left;
	padding: 15px 0px;
	font-size: 1.1em;
}
.blockblurb {
	
	padding: 7px 0px;
}

.round-border {
	border: 1px solid #eee;
	border: 1px solid rgba(0, 0, 0, 0.05);
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	padding: 10px;
	margin-bottom: 5px;
}
.spacer-intro {
	padding: 0px 0px 10px 0px;
	text-align: left;
}	
.adspacerlong {
	background-color: #fff;

}
.adshop {
	padding: 15px 1px;
}
.floatleftpro
{
float: left;
width: 280px;
height: 400px;
margin: 0 5px 5px 0px;
padding: 5px;
}
.pro-image {
	padding: 5px 5px;
	font-size: 1.1em;
	font-weight: bolder;
}
.pro-blurb {
	padding: 5px 5px;
}
.quizbox {
	padding-left: 20px;	
}
.adspacerbob {
	padding: 15px 0px;
	text-align: left;
}
.adspacerlob {
	padding: 15px 0px;
	text-align: left;
}
#menuright3
{
	float: right;
	margin: 0 0 5px 5px;
	padding: 2px;
	text-align: center;
}
.wsthumb {
	padding: 5px 0px;
}
.blockspacer {
	padding: 5px 0px;
	text-align: center;
}
.spacer {
	padding: 10px 10px;
}
.underline {
	text-decoration: underline;
	
	
}
.mobilelist2 {
	height: 115px;
}
.videobox {
	padding: 5px 5px;
	background-color: #000;
}
.video-info {
	color: #fff;
	font-weight: bolder;
}
.spacer-group {
	background-color: #D9CFCF;
	padding: 5px 10px;
	margin-bottom: 10px;
}
.grammarbox {
	background-color: #CF9;
	padding: 10px 10px;
	border: 1px solid #666;
	margin-bottom: 10px;	
}
.vocab-grammar {
	color: #34343B;
	font-style: italic;
	font-weight: bold;
}
.titlename {
	background-color: aliceblue;
	font-size: 1.3em;
	font-weight: bolder;
	padding: 10px 10px;
}
.vocabspacer {
	border: 2px solid;
	padding: 10px 10px;
	margin-bottom: 30px;
}
input.qaa{
    border: medium none;
	font-size: 1.1em;
    background-color: beige;
    width: 390px;
    color:black
}
input.qaab{
	border: medium black;
	font-size: 1.1em;
    font-weight: bold;
    background-color: #A0D6FF;
    width: 30px;
    color:  black;
}
.worksheet {
	text-align: center;
}
.wordlist-center {
	text-align: center;
}
.courseinfo {
	text-align: center;
	padding: 10px 10px;
}

.floatleftpro
{
float: left;
width: 250px;
height: 300px;
margin: 0 5px 5px 0px;
padding: 5px;
}
.pro-image {
	padding: 5px 5px;
	font-size: 1.1em;
	font-weight: bolder;
}
.pro-blurb {
	padding: 5px 5px;
}
.mobilelist110 {
	height: 110px;
}
.floatleftview
{
float: left;
width: 260px;
height: 200px;
margin: 0 5px 5px 0px;
padding: 5px;
}
.groupnew {
	background-color: aliceblue;
}
.groupn5 {
	background-color: aliceblue;
}
.responsive-banner {
    width: 100%;
    margin: 0; /* Remove any margin around the banner */
    padding: 0; /* Remove any padding around the banner */
    display: block;
}

.responsive-banner img {
    width: 100%;
    height: auto;
}
.lessonset {
	border: medium black 1px;
}

/* -----------------------
A1 Index Page Lesson Cards
------------------------*/

.page-wrapper {
  max-width: 900px;
  margin: 0 auto;
  padding: 20px;
}

.lesson-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.lesson-card {
  display: flex;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.lesson-card .thumb {
  width: 90px;
  height: 60px;
  background-color: #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #444;
  flex-shrink: 0;
  font-weight: bold;
}

.lesson-card .info {
  padding: 10px 15px;
  flex: 1;
}

.lesson-card .info h3 {
  margin: 0 0 8px;
  font-size: 1.1em;
  color: #222;
}

.lesson-card .info p {
  margin: 4px 0;
  font-size: 0.95em;
  color: #444;
}

.toggle-btn {
  background-color: #1a3664;
  color: white;
  border: none;
  padding: 6px 10px;
  cursor: pointer;
  margin-top: 10px;
  font-size: 0.9em;
}

.toggle-btn:hover {
  background-color: green;
}

.extra-details {
  background-color: #f8f8f8;
  padding: 10px;
  margin-top: 10px;
  border-left: 4px solid #ccc;
  font-size: 0.95em;
}

/* ===== 4-up grid sections ===== */
.section-4up {
  margin: 2rem 0;
}

.section-4up .section-title {
  font-size: 1.5rem;
  line-height: 1.2;
  margin: 0 0 0.75rem;
  font-weight: 700;
}

.cards-4up {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

/* Card */
.card-4up {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
}

.card-4up .thumb {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;         /* make it a square */
  overflow: hidden;
}

.card-4up .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;           /* crop to square nicely */
  display: block;
}

.card-4up .card-title {
  font-size: 1.05rem;
  margin: 10px 12px 4px;
}

.card-4up .card-title a {
  text-decoration: none;
  color: #222;
}

.card-4up .card-title a:hover {
  text-decoration: underline;
}

.card-4up .card-blurb {
  margin: 0 12px 12px;
  font-size: 0.95rem;
  color: #444;
}

/* Responsive: stack to 2, then 1 */
@media (max-width: 980px) {
  .cards-4up { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .cards-4up { grid-template-columns: 1fr; }
}

