/* When editing this file, please then increment the number style.X.css in header.bare.tpl, to bust cache */

/* Relative font sizes:
4.236em 2.618em 1.618em 1em 0.618em 0.382em 0.236em */
/* go raibh maith agat eric meyer http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/ */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;
}

form input {
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
}

/* remember to define focus styles! */
:focus {
    outline: 0;
}

body {
    line-height: 1;
    color: black;
    background: white;
}

ol, ul {
    list-style: none;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
    border-collapse: separate;
    border-spacing: 0;
}

caption, th, td {
    text-align: left;
    font-weight: normal;
}

blockquote:before, blockquote:after, q:before, q:after {
    content: "";
}

blockquote, q {
    quotes: "" "";
}

/** end reset **/

body {
    background-color: #FAF7F0;
    color: #333;
    font-family: "Lato",sans-serif;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.3em;
    overflow-x: hidden;
}

body#tinymce {
    background: #fff;
    padding: 1em;
}

h1, h2, h3 {
    font-family: 'Lato', sans-serif;
}

h1 {
    font-size: 2.618em;
    font-weight: 700;
    line-height: 1.3em;
    margin: 0 0 0.618em 0;
    color: #434343;
    text-shadow: 0 1px 0 #ffffff;
}

h2 {
    font-size: 2em;
    font-weight: 700;
    line-height: 1.2em;
    color: #434343;
    text-shadow: 0 1px 0 #ffffff;
    margin: 0 0 1em 0;
}

.page-section h2 {
    margin-top: 1.618em;
}

.page-section h2:first-child {
    margin-top: 1em;
}

.lesson h2, body#tinymce h2 {
    border-bottom: solid 1px #ddd;
    padding-bottom: 5px;
    margin-top: 1.618em;
}

.lesson h2.congratulations {
    border: 0;
    padding: 90px 0 0 0;
    background: url("../images/clover.png") no-repeat center top;
    font-weight: bold;
    margin: 0 0 20px 0;
}

h3 {
    font-weight: 400;
    line-height: 1.1em;
    font-size: 1.618em;
    margin: 1.618em 0 0.618em 0;
}

h3 a {
    text-decoration: none;
}

.page-section h3:first-child {
    margin-top: 0em;
}

.page-section h3 {
    color: #434343;
}

h4, body#tinymce h4 {
    font-size: 1em;
    margin: 1.618em 0 0 0;
    font-weight: bold;
}

.page-section h4 {
    color: #5a5a5a;
    padding-bottom: 15px;
}

p {
    margin-bottom: 1.318em;
    text-align: justify;
    line-height: 160%;
}

p:first-child {
    margin-top: 1em;
}

p.indent {
    margin-left: 3em;
}

a:link {
    color: #0D569F;
}

a:visited {
    color: #560D9F;
}

a img {
    text-decoration: none;
}

ul {
    margin-left: 3em;
    list-style: disc;
    margin-bottom: 1.618em;
}

ul.links {
    margin-left: 0;
    padding: 0;
    list-style-type: none;
}

ul.links li {
    margin: 0 0 10px 0;
}

ol {
    margin-left: 3em;
    list-style: decimal;
    margin-bottom: 1.618em;
}

body#home h1 {
    text-align: center;
}

em {
    font-style: italic;
}

strong {
    font-weight: bold;
}

table {
    border-collapse: collapse;
    margin-bottom: 1.618em;
}

tbody tr:nth-child(2n) td, tbody tr.even td {
    background: none repeat scroll 0 0 #efefef;
}

td {
    padding: 0.618em;
    border: 1px solid #bbb;
    font-size: inherit;
    font-family: inherit;
}

td.tableTop {
    background-color: #D6E3D5;
}

td p {
    margin: 0;
    text-align: left;
}

hr {
    width: 100%;
    clear: both;
}

/** Buttons **/
.btn, .cssform2 input[type="submit"] {
    font-size: 112%;
    font-weight: bold !important;
    border-radius: 5px;
    background: #1362a7;
    background: -moz-linear-gradient(top, #4281b9 0%, #1362a7 3%, #0b4b94 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #4281b9), color-stop(3%, #1362a7), color-stop(100%, #0b4b94));
    background: -webkit-linear-gradient(top, #4281b9 0%, #1362a7 3%, #0b4b94 100%);
    background: -o-linear-gradient(top, #4281b9 0%, #1362a7 3%, #0b4b94 100%);
    background: -ms-linear-gradient(top, #4281b9 0%, #1362a7 3%, #0b4b94 100%);
    background: linear-gradient(top, #4281b9 0%, #1362a7 3%, #0b4b94 100%);
    -pie-background: linear-gradient(top, #4281b9 0%, #1362a7 3%, #0b4b94 100%);
    text-align: center;
    overflow: hidden;
    white-space: nowrap;
    behavior: url(/resources/css/PIE.htc);
    position: relative;
    zoom: 1;
    border-width: 1px;
    border-style: solid;
    border-color: #036 #074680;
    text-decoration: none;
    color: #f0f0f0;
    text-shadow: 0 1px 0 #09417a;
    line-height: 50px;
    height: 50px;
    cursor: pointer;
}

.btn:hover, ul#nav li a.btn:hover, .cssform2 input[type="submit"]:hover
, .weeks-listing a.active:hover .week-number.btn, .week-container ul#lessons li a.next:hover .btn {
    text-shadow: 0 1px 0 #041321;
    background: #073b82;
    background: -moz-linear-gradient(top, #39619a 0%, #073b82 3%, #1d74b3 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #39619a), color-stop(3%, #073b82), color-stop(100%, #1d74b3));
    background: -webkit-linear-gradient(top, #39619a 0%, #073b82 3%, #1d74b3 100%);
    background: -o-linear-gradient(top, #39619a 0%, #073b82 3%, #1d74b3 100%);
    background: -ms-linear-gradient(top, #39619a 0%, #073b82 3%, #1d74b3 100%);
    background: linear-gradient(top, #39619a 0%, #073b82 3%, #1d74b3 100%);
    -pie-background: linear-gradient(top, #39619a 0%, #073b82 3%, #1d74b3 100%);
    border: 1px solid #003;
    behavior: url(/resources/css/PIE.htc);
    position: relative;
    zoom: 1;
}

.cssform2 input[type="submit"]:disabled {
    background: #bcbcbc;
    border-color: #acacac;
    color: #706f6f;
    text-shadow: none;
    cursor:not-allowed
}

.btn:active {
    text-shadow: 0 -1px 0 #02101e;
    background: #073b82;
    background: -moz-linear-gradient(top, #35548d 0%, #032b71 3%, #2685bf 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #35548d), color-stop(3%, #032b71), color-stop(100%, #2685bf));
    background: -webkit-linear-gradient(top, #35548d 0%, #032b71 3%, #2685bf 100%);
    background: -o-linear-gradient(top, #35548d 0%, #032b71 3%, #2685bf 100%);
    background: -ms-linear-gradient(top, #35548d 0%, #032b71 3%, #2685bf 100%);
    background: linear-gradient(top, #35548d 0%, #032b71 3%, #2685bf 100%);
    -pie-background: linear-gradient(top, #35548d 0%, #032b71 3%, #2685bf 100%);
    line-height: 52px;
    border: 1px solid #001;
    behavior: url(/resources/css/PIE.htc);
    position: relative;
    zoom: 1;
}

a.btn {
    color: #fff;
    text-decoration: none;
    display: inline-block;
    padding: 0 20px;
}

.btn.btn-light-border {
    border-color: #1b91ff #007eff;
}

.btn.light {
    text-shadow: 0 1px 0 #686868;
    background: #a3a3a3;
    background: -moz-linear-gradient(top, #a3a3a3 0%, #8c8c8c 3%, #767676 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #a3a3a3), color-stop(3%, #8c8c8c), color-stop(100%, #767676));
    background: -webkit-linear-gradient(top, #a3a3a3 0%, #8c8c8c 3%, #767676 100%);
    background: -o-linear-gradient(top, #a3a3a3 0%, #8c8c8c 3%, #767676 100%);
    background: -ms-linear-gradient(top, #a3a3a3 0%, #8c8c8c 3%, #767676 100%);
    background: linear-gradient(top, #a3a3a3 0%, #8c8c8c 3%, #767676 100%);
    -pie-background: linear-gradient(top, #a3a3a3 0%, #8c8c8c 3%, #767676 100%);
    border: 1px solid #515151;
    border-top: 1px solid #515151;
    behavior: url(/resources/css/PIE.htc);
    position: relative;
    zoom: 1;
}

.btn.light:hover {
    background: #767676;
    background: -moz-linear-gradient(top, #767676 0%, #767676 3%, #8c8c8c 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #767676), color-stop(3%, #767676), color-stop(100%, #8c8c8c));
    background: -webkit-linear-gradient(top, #767676 0%, #767676 3%, #8c8c8c 100%);
    background: -o-linear-gradient(top, #767676 0%, #767676 3%, #8c8c8c 100%);
    background: -ms-linear-gradient(top, #767676 0%, #767676 3%, #8c8c8c 100%);
    background: linear-gradient(top, #767676 0%, #767676 3%, #8c8c8c 100%);
    -pie-background: linear-gradient(top, #767676 0%, #767676 3%, #8c8c8c 100%);
    behavior: url(/resources/css/PIE.htc);
    position: relative;
    zoom: 1;
}

.btn.light:active {
    text-shadow: 0 -1px 0 #4c4c4c;
    border: 1px solid #292929;
    background: #767676;
    background: -moz-linear-gradient(top, #878787 0%, #6a6a6a 3%, #969696 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #878787), color-stop(3%, #6a6a6a), color-stop(100%, #969696));
    background: -webkit-linear-gradient(top, #878787 0%, #6a6a6a 3%, #969696 100%);
    background: -o-linear-gradient(top, #878787 0%, #6a6a6a 3%, #969696 100%);
    background: -ms-linear-gradient(top, #878787 0%, #6a6a6a 3%, #969696 100%);
    background: linear-gradient(top, #878787 0%, #6a6a6a 3%, #969696 100%);
    -pie-background: linear-gradient(top, #878787 0%, #6a6a6a 3%, #969696 100%);
    behavior: url(/resources/css/PIE.htc);
    position: relative;
    zoom: 1;
}

/** User Index **/
.lessons-container {
    background: #fff none repeat scroll 0 0;
    float: left;
    position: relative;
    top: -5px;
}

.lessons-sidebar {
    background: #fff none repeat scroll 0 0;
    border: 0 none;
    float: left;
    margin-left: 1.5em;
    margin-top: 18px;
    padding: 10px 15px;
    width: 185px;
}

.lessons-sidebar h3 {
    font-size: 16px;
    margin: 0px 0px 5px;
    font-weight: bold;
}

.lessons-sidebar ul {
    margin: 0 0 15px 15px;
    list-style-type: square;
}

.lessons-sidebar ul a {
    font-size: 14px;
    text-decoration: none;
}

ul#lessons {
    box-shadow: 0 0 5px #d1e4cd;
    list-style-type: none;
    margin: 0 0 0 15px;
    padding: 0;
    position: relative;
    width: 694px;
}

ul#lessons li {
    margin: 0;
    padding: 0;
    width: 709px;
    display: inline;
}

ul#lessons a {
    display: block;
    text-decoration: none;
    width: 709px;
    background: #58a834;
    background: -moz-linear-gradient(top, #58a834 0%, #378a1a 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #58a834), color-stop(100%, #378a1a));
    background: -webkit-linear-gradient(top, #58a834 0%, #378a1a 100%);
    background: -o-linear-gradient(top, #58a834 0%, #378a1a 100%);
    background: -ms-linear-gradient(top, #58a834 0%, #378a1a 100%);
    background: linear-gradient(top, #58a834 0%, #378a1a 100%);
    -pie-background: linear-gradient(top, #58a834 0%, #378a1a 100%);
    behavior: url(/resources/css/PIE.htc);
    position: relative;
    zoom: 1;
}

ul#lessons a:hover {
    background: #1667aa;
    background: -moz-linear-gradient(top, #1667aa 0%, #09458d 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #1667aa), color-stop(100%, #09458d));
    background: -webkit-linear-gradient(top, #1667aa 0%, #09458d 100%);
    background: -o-linear-gradient(top, #1667aa 0%, #09458d 100%);
    background: -ms-linear-gradient(top, #1667aa 0%, #09458d 100%);
    background: linear-gradient(top, #1667aa 0%, #09458d 100%);
    cursor: pointer;
}

ul#lessons .visited a {
    background: #909090;
    background: -moz-linear-gradient(top, #909090 0%, #6f6f6f 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #909090), color-stop(100%, #6f6f6f));
    background: -webkit-linear-gradient(top, #909090 0%, #6f6f6f 100%);
    background: -o-linear-gradient(top, #909090 0%, #6f6f6f 100%);
    background: -ms-linear-gradient(top, #909090 0%, #6f6f6f 100%);
    background: linear-gradient(top, #909090 0%, #6f6f6f 100%);
    -pie-background: linear-gradient(top, #909090 0%, #6f6f6f 100%);
    behavior: url(/resources/css/PIE.htc);
    position: relative;
    zoom: 1;
}

ul#lessons .visited a:hover {
    background: #7e7e7e;
    background: -moz-linear-gradient(top, #7e7e7e 0%, #626262 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #7e7e7e), color-stop(100%, #626262));
    background: -webkit-linear-gradient(top, #7e7e7e 0%, #626262 100%);
    background: -o-linear-gradient(top, #7e7e7e 0%, #626262 100%);
    background: -ms-linear-gradient(top, #7e7e7e 0%, #626262 100%);
    background: linear-gradient(top, #7e7e7e 0%, #626262 100%);
}

.highlight-row a div.lesson-info div img {
    float: left;
    margin-right: 0.618em;
}

.highlight-row h3 {
    margin-top: 0.618em;
}

.count {
    margin: 22px 0 0 0;
    width: 82px;
    text-align: center;
    float: left;
    color: #9fc98d;
    text-shadow: 0 1px 0 #418823;
    font-size: 110%;
    line-height: 1.7em;
}

.count span {
    color: #f0f0f0;
    text-shadow: 0 1px 0 #2b6715;
    display: block;
    font-size: 180%;
}

ul#lessons a:hover .count {
    color: #81a7ca;
    text-shadow: 0 1px #0d4e8a;
}

ul#lessons .visited .count, ul#lessons .visited a:hover .count {
    color: #bcbcbc;
    text-shadow: 0 1px 0 #727272;
}

ul#lessons a:hover .count span {
    text-shadow: 0 1px #0b4989;
}

ul#lessons .visited .count span, #lessons .visited a:hover .count span {
    text-shadow: 0 1px 0 #4d4d4d;
}

.lesson-info {
    display: flex;
    justify-content: space-between;
    padding: 24px 25px 25px 30px;
    background: #fff;
    background: -moz-linear-gradient(top, #ffffff 0%, #fefefe 10%, #f2f2f2 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(10%, #fefefe), color-stop(100%, #f2f2f2));
    background: -webkit-linear-gradient(top, #ffffff 0%, #fefefe 10%, #f2f2f2 100%);
    background: -o-linear-gradient(top, #ffffff 0%, #fefefe 10%, #f2f2f2 100%);
    background: -ms-linear-gradient(top, #ffffff 0%, #fefefe 10%, #f2f2f2 100%);
    background: linear-gradient(top, #ffffff 0%, #fefefe 10%, #f2f2f2 100%);
    -pie-background: linear-gradient(top, #ffffff 0%, #fefefe 10%, #f2f2f2 100%);
    border-bottom: 1px solid #e9e9e9;
    -webkit-box-shadow: inset 0px 1px 2px #f2f2f2;
    -moz-box-shadow: inset 0px 1px 2px #f2f2f2;
    box-shadow: inset 0px 1px 2px #f2f2f2;
    behavior: url(/resources/css/PIE.htc);
    position: relative;
    zoom: 1;
}

ul#lessons a:hover .lesson-info {
    background: #e3e3e3;
    background: -moz-linear-gradient(top, #e3e3e3 0%, #ebebeb 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e3e3e3), color-stop(100%, #ebebeb));
    background: -webkit-linear-gradient(top, #e3e3e3 0%, #ebebeb 100%);
    background: -o-linear-gradient(top, #e3e3e3 0%, #ebebeb 100%);
    background: -ms-linear-gradient(top, #e3e3e3 0%, #ebebeb 100%);
    background: linear-gradient(top, #e3e3e3 0%, #ebebeb 100%);
    -pie-background: linear-gradient(top, #e3e3e3 0%, #ebebeb 100%);
    -webkit-box-shadow: inset 0px 1px 2px #d7d7d7;
    -moz-box-shadow: inset 0px 1px 2px #d7d7d7;
    box-shadow: inset 0px 1px 2px #d7d7d7;
    behavior: url(/resources/css/PIE.htc);
    position: relative;
    zoom: 1;
}

.lesson-info p {
    margin: 0;
    color: #828282;
}

.lesson-info h2 {
    color: #434343;
    margin: 0;
    font-weight: normal;
    font-size: 170%;
    text-shadow: 0 1px 0 #fff;
}

.lesson-info h2:hover {
    text-decoration: underline;
}

.lesson-info .type {
    text-transform: capitalize;
}

ul#lessons li a:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

ul#lessons p {
    margin-bottom: 0;
}

ul#lessons li .btn {
    float: right;
    margin: 0;
    width: 201px;
}

body#lessons h1 {
    text-align: center;
}

.center-enticement {
    text-align: center;
    padding: 1em 0;
}

.center-enticement p {
    text-align: center;
}

.center-enticement h2 {
    font-size: 2em;
}

span.pronunciation:before, span.pronunciation:after {
    content: "/";
}

span.pronunciation {
    color: #333;
    font-weight: 300;
    font-style: italic;
}

p.audio span.pronunciation {
    font-weight: normal;
}

/* older lesson design - remove as required */
#lessons_grid {
    margin-left: 0;
}

li.lesson {
    list-style: none;
    float: left;
    width: 17em;
    margin: 0 2.618em 2.618em 0;
}

li.lesson a {
    display: block;
    position: relative;
    color: #333;
    height: 10em;
    background-color: #fff;
    overflow: hidden;
    text-decoration: none;
    border: 1px solid #bbb;
}

li.lesson a:hover {
    background-color: #fffeb3;
}

.lesson_tag {
    background: none repeat scroll 0 0 #46A726;
    line-height: 36px;
    padding: 0 10px;
    position: relative;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

.lesson_summary {
    padding: 0.382em;
    margin: 0;
}

.demo .lesson_tag {
    background-color: transparent;
}

.tag-grammar {
    background-color: #0D789C;
}

.tag-vocabulary {
    background-color: #780D9C;
}

.tag-conversation {
    background-color: #9c0d0d;
}

.tag-video {
    background-color: #1b0d9c;
}

.tag-draft {
    background-color: #9c0d30;
}

.item_completed {
    text-decoration: line-through;
}

.ribbon {
    position: absolute;
    top: 0;
    right: 0;
}

/** Lesson Area **/
#text_contents {
    line-height: 160%;
}

#lesson_footer {
    background: #ececec;
    margin: 0 -30px;
    text-align: center;
    padding: 30px;
}

.lesson {
    margin-bottom: 1.618em;
}

.lesson h1 {
    margin-bottom: 20px;
    font-size: 240%;
}

.lesson p {
    margin: 20px 0;
}

#lesson_contents strong {
    font-weight: bold;
}

#lesson_contents .photo {
    background-image: url('https://dzfk93w6juz0e.cloudfront.net/images/lesson.feature.jpg');
    width: 100%;
    height: 250px;
}

.demo_lesson #lesson_contents {
    background-image: none;
}

.lesson_free {
    position: absolute;
    text-indent: -10000px;
    width: 71px;
    height: 72px;
    background: url("../images/bg-free.png") no-repeat;
    left: 0;
    top: 0;
    margin: -5px 0 0 -5px;
}

#lesson_nb {
    font-size: 150%;
    float: left;
    margin: 27px 0 0 30px;
    display: block;
    color: #ffffff;
}

#lesson_tag {
    float: right;
    margin: 0 30px 0 0;
    line-height: 90px;
    display: block;
}

#lesson_footer p {
    margin-bottom: 0;
}

.nav-lesson {
    margin: 25px 0 0 0;
    padding: 0;
    list-style-type: none;
}

.nav-lesson li {
    display: inline;
    padding-right: 20px;
}

/**
 * Lesson type navigation
 */
nav.lesson-type {
    clear: both;
    margin: 0;
    overflow: hidden;
    text-align: center;
}

nav.lesson-type ul {
    margin: 0 auto;
    padding: 12px 0;
    list-style-type: none;
    position: relative;
    float: left;
    display: block;
    left: 50%;
}

nav.lesson-type li {
    margin: 0;
    padding: 0 3px 0 3px;
    display: block;
    float: left;
    right: 50%;
    position: relative;
}

nav#top-lesson-type li {
    padding-bottom: 7px;
}

nav#bottom-lesson-type li {
    padding-top: 7px;
}

nav.lesson-type a {
    color: #0d569f;
    font-weight: bold;
    text-decoration: none;
    text-shadow: 0 1px 0 #fff;
    background: #cfe8d9;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    padding: 0 10px;
    behavior: url(/resources/css/PIE.htc);
    position: relative;
    display: block;
    zoom: 1;
    line-height: 32px;
    height: 32px;
    overflow: hidden;
    text-align: center;
}

nav.lesson-type a:hover {
    background: #0d569f;
    color: #fff;
    text-shadow: 0 1px 0 #093c6f;
}

nav.lesson-type a:active {
    background: #0d569f;
    color: #fff;
    text-shadow: 0 -1px 0 #093c6f;
    line-height: 34px;
    height: 32px;
    overflow: hidden;
}

nav.lesson-type .active {
    background: url(https://dzfk93w6juz0e.cloudfront.net/images/pointer.png) no-repeat bottom center;
}

nav#bottom-lesson-type .active {
    background-position: top center;
}

nav.lesson-type .active a {
    background: #469c23;
    color: #fff;
    text-shadow: 0 1px 0 #316d18;
}

/** Ebook **/

td.sub-chapter {
    padding-left: 2.618em;
}

tr.chapter td {
    font-weight: bold;
}

#testimonials {
    max-width: 400px;
    float: right;
    color: #555;
    margin: 0 0 2.168em 3.168em;
}

/* Also used on ebook page */
#table-of-contents {
    background-color: #fff;
}

#testimonials p:first-child {
    margin-top: 0;
}

#testimonials p {
    margin: 1.618em 0 0;
}

span.strikethrough {
    text-decoration: line-through;
}

/** Header **/
#header {
    background: #FAF7F0 none repeat scroll 0 0;
    margin-bottom: 30px;
    padding: 3px 10px 7px 10px;
    
    width: 100%; /* full width of the screen */
    display: flex;
    justify-content: center; /* centers the inner content horizontally */
    align-items: center; /* centers items vertically */
}


.inner-header {
    max-width: 950px; /* max width */
    width: 100%; /* flexible width */
    display: flex;
    justify-content: space-between;
    align-items: center;
  }


#header_logo {
    float: left;
    margin-right: 25px;
    margin-top: 8px;
}

#header_logo a.site_title, #header_logo a.site_title:visited {
    color: #000;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.5em;
}

#site_name {
    float: left;
}

#site_name a {
    color: #333;
    text-decoration: none;
}

#site_name a:hover {
    text-decoration: underline;
}

#account {
    float: right;
    position: relative;
    margin-top: 8px;
}

#account a:visited {
    color: #0D569F;
}

#account a:hover {
    background: #0c529b none repeat scroll 0 0;
    border-radius: 5px;
    color: #fff !important;
    position: relative;
    text-decoration: none;
}

#account .member {
    padding: 0 10px;
}

#account .member span {
    display: block;
    background: url("https://dzfk93w6juz0e.cloudfront.net/images/icon-arrow.png") no-repeat right center;
    padding-right: 25px;
}

#account .member.active, #account .member.active:hover {
    background: #cfe8d9;
    color: #434343;
    text-decoration: none;
}

#account .member.active span {
    background: url("https://dzfk93w6juz0e.cloudfront.net/images/icon-arrow-a.png") no-repeat right center;
}

#account .options {
    display: none;
    position: absolute;
    top: 30px;
    left: 0;
    background: #cfe8d9;
    list-style-type: none;
    margin: 0;
    padding: 0 0 5px 0;
    width: 100%;
    z-index: 3000;
}

#account .options li {
    margin: 0;
    padding: 0 10px;
    font-weight: bold;
}

#account .options a {
    line-height: 30px;
    height: 30px;
}

.rewards {
    position: absolute;
    top: 0;
    right: 0;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.rewards li {
    float: left;
    width: 32px;
    height: 52px;
    color: #fff;
    text-align: center;
    background: url("/resources/images/bg-ribbon.png") no-repeat right;
    line-height: 42px;
    text-shadow: -1px -1px 0 #b0d2a6;
    margin: 0 0 0 1px;
}

.rewards li.active {
    background: url("/resources/images/bg-ribbon.png") no-repeat left;
    text-shadow: -1px -1px 0 #2d8f0c;
}

.admin #header {
    min-height: 1.618em;
}

.admin h1 {
    margin-top: 0;
}

.admin #account {
    padding-top: 0;
}

/** Navigation **/
nav.buttons {
    font-size: 105%;
    font-weight: bold;
    margin: 8px 0 0;
    display: flex;
    justify-content: flex-end;
    align-items: center; /* This should vertically center your items */
}

#nav {
    margin: 0;
    padding: 0;

    list-style: none;
    display: flex;

    align-items: center; /* In case you need extra assurance */
}

ul#nav li {
    margin-left: 20px;
}

ul#nav li a, #account a {
    color: #2e363e;
    display: block;
    font-weight: normal;
    line-height: 30px;
    padding: 0 10px;
    position: relative;
    text-decoration: none;
    font-size: 18px;
}

#account > a:visited {
    color: #2e363e;
}

ul#nav li a.nav-btn {
    position: relative;
    top: -9px;
    color: #f0f0f0;
    line-height: 50px;
}

#nav .free-trial.btn.nav-btn {
    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
    color: #0e549b;
    font-weight: normal !important;
    height: 44px;
    line-height: 42px;
    padding: 0 18px;
    text-shadow: none;
    top: -6px;
}

nav ul#nav li.active a {
    font-weight: bold;
}

nav ul#nav li a:hover, #nav .free-trial.btn.nav-btn:hover  {
    text-decoration: none;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background: #0c529b;
    color: #fff;
    behavior: url(/resources/css/PIE.htc);
    position: relative;
}

/** Dashboard **/
.dashboard_lesson_options {
    font-style: italic;
    padding-left: 0.618em;
}

.container_12 {
    margin: 0 auto;
    clear: both;
}

.container {
    max-width: 950px;
    width: 100%;
    margin: 0 auto;
}


body.dashboard form textarea#pronunciation {
    width: 50em;
    height: 5em;
}

.break {
    clear: both;
}

.highlight {
    background-color: #fffe95;
    font-weight: bold;
    padding: 0.236em;
}

a.button {
    position: relative;
    background-image: url('/resources/images/button-background.png');
    background-repeat: repeat-x;
    background-color: #fa5923;
    padding: 0.618em;
    color: #fff;
    text-decoration: none;
}

a.button:hover {
    background-image: url('/resources/images/button-background-hover.png');
    background-color: #e04a1a;
    text-decoration: none;
}

a.button:visited {
    color: #fff;
}

a.icon {
    padding: 0.618em 0.618em 0.618em 40px;
}

a.icon img {
    position: absolute;
    top: 7px;
    left: 10px;
}

a#login {
    display: block;
    float: right;
    text-align: center;
    width: 94px;
}

#cap {
    width: 94px;
    height: 41px;
    background-image: url('/resources/images/login.png');
    background-position: 0px 0px;
    background-repeat: no-repeat;
}

a#login:hover #cap {
    background-position: 0px -43px;
}

a#login:active #cap {
    background-position: 0px -86px;
}

.infobox {
    border-width: 3px 0 3px 0;
    border-style: solid;
    padding: 1em;
    margin: 0 0 2em 0;
}

.infobox a {
    text-decoration: underline;
}

.attention {
    border-color: #FF7270;
    background-color: #FFE5E4;
}

.confirmation {
    border-color: #F4C542;
    background-color: #fef9e7;
}

.confirmation a:link {
    color: #5D4037;
}

a.dangerous {
    color: #FF0000;
    padding: 0.618em;
    text-decoration: underline;
}

a.dangerous:hover {
    color: #fff;
    background-color: #FF0000;
}

.twitter-share-button {
    vertical-align: middle;
}

.center, .center p {
    text-align: center;
}

p.signature img {
    float: left;
    margin: 0 10px 10px 0;
    border: 3px solid #fff;
}

/** Home **/

#homepage-cliffs-poster {
    display:none;
    width: 100%;
}

body.home a.cta {
    width: 394px;
    text-align: center;
    display: block;
    margin: auto;
}

body.home a.cta .button {
    display: block;
    width: 394px;
    height: 59px;
    background-image: url('/resources/images/show-lessons.png');
    background-position: 0px 0px;
    background-repeat: no-repeat;
    border: 2px solid #CC0000;
}

body.home a.cta:hover .button {
    background-position: 0px -59px;
    border-color: #4ba614;
}

body.home a.cta:active .button {
    background-position: 0px -118px;
}

body.home img.about {
    float: left;
    margin: 0 0.382em 0.382em 0;
}

.clear {
    clear: both;
}

ul.large-ticks {
    list-style-image: url('/resources/images/tick-green.png');
    margin: 0 0 1em 38px;
    font-size: 1.618em;
    line-height: 1.2em;
}

ul.testimonials {
    list-style: none;
    margin-left: 0;
}

ul.testimonials li {
    display: block;
    margin-bottom: 1.618em;
}

ul.testimonials li p {
    line-height: 1.3em;
    text-align: left;
    margin-bottom: 1em;
}

ul.testimonials li img {
    padding: 7px;
    background-color: #ffffff;
    border: 1px solid #efefef;
    float: left;
    margin-right: 1em;
}

.feature {
    border-radius: 4px 4px 4px 4px;
    -moz-border-radius: 4px 4px 4px 4px;
    -webkit-border-radius: 4px 4px 4px 4px;
    background-color: #FFFFFF;
    border: 1px solid #CCCCCC;
    margin-bottom: 1.618em;
}

/** Sign Up **/
.quotation {
    font-style: italic;
}

#plans-table {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row;
    overflow: hidden;
    margin-bottom: 2em;
}
@media (max-width: 600px) {
    #plans-table {
        flex-direction: column;
    }
}

.plans-table__column {
    flex-grow: 1;
    width: 100%;
    margin: 0 3px 20px 0;
    background-color: #fff;
    padding: 0 10px;
    cursor: default;

    /* Spacing when in column mode */
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 10px solid transparent;
}

.plans-table__column:hover {
    background-color: #ffffe6
}

.membership-plan {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
    padding: 10px;
}

.membership-plan__header {
    text-align: center;
}

.membership-plan__header p {
    text-align: center;
    color: #a1a1a1;
    font-size: 16px;
    padding: 10px 0 0 0;
    margin: 0;
    text-transform: uppercase;
}

.membership-plan__ em {
    font-size: 16px;
}

.membership-plan__header h3 {
    color: #434343;
    font-size: 24px;
    margin: 0 0 0.618em 0;
    font-weight: normal;
}

.membership-plan__description p {
    text-align: center;
}

.membership-plan__signup {
    margin-top: auto;
    padding-bottom: 2em;
    text-align: center;
}

.bitesize-promise {
    background-color: #feff90;
    border: 1px solid #acacac;
    margin: 0 0 2em 0px;
    width: 100%;
    height: 75px;
}

.bitesize-promise h3 {
    float: left;
    margin: 0.9em 1em 1em;
    text-align: left;
    color: #5f3800;
    vertical-align: bottom;
    width: 20%;
    padding-top: 10px;
}

.bitesize-promise p {
    margin: 1em;
    color: #5f3800;
    float: left;
    width: 340px;
    font-style: italic;
    margin-left: 70px;
    text-align: center;
}

/** Tour **/
body.tour div.tour-feature {
    max-width: 750px;
    min-height: 200px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4.618em;
    clear: both;
}

body.tour div.tour-feature h3 {
    text-align: left;
}

body.tour div.tour-feature img {
    border: 2px solid #efefef;
}

body.tour div.tour-feature img.right {
    float: right;
    margin-left: 1em;
}

body.tour div.tour-feature img.left {
    float: left;
    margin-right: 1em;
}

/** Why **/
.testimonial .logo {
    float: left;
    margin-right: 1em;
}

.testimonial_indent {
    padding-left: 2.618em;
}

.why-photo {
    float: right;
    font-style: italic;
    width: 380px;
    margin: 0 0 1.618em 1.618em;
}

.why-photo.brid {
    width: 280px;
}

.why-photo-left {
    float: left;
    margin: 0 1.618em 1.618em 0;
}

/** Sales Letter **/
.salesletter h1, .salesletter h2, .salesletter h3 {
    text-align: center;
}

.intro {
    font-size: 1.618em;
    line-height: 1.618em;
    text-align: center;
}

.salesletter .testimonial {
    text-align: center;
}

.tell-me-more {
    display: block;
    height: 59px;
    width: 394px;
    background-image: url('/resources/images/tell-me-more.png');
    background-position: 0px 0px;
    background-repeat: no-repeat;
    border: 2px solid #CC0000;
    margin-left: auto;
    margin-right: auto;
}

.salesletter a:hover .tell-me-more {
    background-position: 0px -59px;
    border-color: #4ba614;
}

.salesletter a:active .tell-me-more {
    background-position: 0px -118px;
}

.salesletter .lesson {
    margin: 0 auto;
}

.coupon {
    border-style: dashed;
    border-width: 3px;
    border-color: red;
    padding: 1em;
    width: 20em;
    margin: 0 auto 0.618em auto;
    background-color: #fff;
}

.coupon .amount {
    font-size: 2.618em;
}

.coupon .codearea {
    float: left;
    text-align: center;
    width: 50%;
    padding: 0.5em;
    line-height: 1.5em;
}

.coupon .coupon-code {
    font-weight: bold;
    color: red;
    font-family: monospace;
    font-size: 1.618em;
}

.coupon .offer {
    text-align: center;
    line-height: 1em;
    padding: 1em;
}

.coupon .details {
    font-size: 80%;
    line-height: 1em;
}

.testimonials-block {
    padding: 1em;
    background-color: #fff;
}

.testimonials-block h3 {
    text-align: center;
    font-size: 1.618em;
    margin: 1em 0;
    color: #8c0017;
}

ul.small-ticks {
    list-style-image: url('https://dzfk93w6juz0e.cloudfront.net/images/icon_check.png');
}

/***** Forms ****/
form.cssform2 {
    width: 100%;
}

.cssform2 fieldset {
    margin: 0 0 2.618em 0;
    padding: 1em;
    border: 1px solid #ccc;
    background-color: #fff;
}

.cssform2 fieldset h3 {
    margin-top: 0.618em;
}

.cssform2 label {
    display: block;
    font-size: 1.5em;
    line-height: 1.618em;
}

.cssform2.form-small label {
    font-size: inherit;
    line-height: inherit;
    font-weight: bold;
}

.cssform2.form-small label input[type="text"] {
    font-weight: normal;
}

.cssform2.form-small.edit-quiz input[type="text"],
  .cssform2.form-small.edit-quiz textarea {
    width: 35em;
}

.cssform2.form-small .highlight label {
    font-weight: normal;
}

.cssform2 .small_checkbox label {
    display: inline;
    font-size: 1em;
}

.cssform2 label.radio {
    display: inline;
}

.cssform2 input[type="textinput"] {
    width: 23em;
    padding: 0.3em;
}

.cssform2 input[type="text"], .cssform2 input[type="password"], .cssform2 textarea {
    border: 1px solid #CCCCCC;
    font-size: 1.5em;
    width: 23em;
    padding: 0.3em;
}

.cssform2.form-small input[type="text"],
.cssform2.form-small input[type="password"],
.cssform2.form-small textarea {
    font-size: inherit;
    padding: 0.1em;
    margin-bottom: 0.2em;
}

.cssform2 input:focus {
    border-width: 1px;
    border-style: solid;
    border-color: #aaa;
}

.cssform2 input#headword:focus {
    background-color: #DAFDCF;
    border-top: 1px solid #23980A;
}

.cssform2 select {
    font-size: 1em;
}

.cssform2 p.desc {
    margin: -1.5em 0 0.7em;
    font-size: 85%;
    color: #AAAAAA;
}

.cssform2 .required {
    font-weight: bold;
    margin-left: -0.7em;
    color: #870000;
}

.cssform2 p.radio label {
    clear: right;
}

.cssform2 textarea {
    overflow: auto;
    /* remove default scrollbars in IE */
    font-family: inherit;
}

/** ### clients and demo ### **/
ul.clients {
    list-style: none outside none;
    margin: 35px 0 0;
    padding: 0;
}

ul.clients li .client {
    float: left;
    font-size: 90%;
    font-style: italic;
    margin: 0;
    width: 280px;
}

ul.clients li img {
    float: left;
    margin-right: 15px;
    width: 96px;
}

ul.clients li p {
    line-height: 160%;
    margin: 0 !important;
    text-align: left;
}

.newsletter {
    background: #dbdbdb;
    border-radius: 5px;
    margin: 0 90px;
    padding: 30px 30px 20px 30px;
    width: 650px;
    behavior: url(/resources/css/PIE.htc);
    position: relative;
}

.newsletter p {
    margin: 0 !important;
}

.newsletter p.fields {
    margin: 0 0 10px 0 !important;
    width: 350px;
}

.newsletter p.fields label {
    font-weight: bold;
    display: block;
    width: 55px;
    float: left;
    line-height: 32px !important;
}

.newsletter p.fields span {
    display: block;
    float: left;
    width: 290px;
    border-radius: 3px;
    border-bottom: 1px solid #f2f2f2;
    behavior: url(/resources/css/PIE.htc);
    position: relative;
}

.newsletter p.fields input {
    border: 1px solid #bebebe;
    padding: 0 10px;
    height: 32px;
    line-height: 32px;
    color: #d6d6d6;
    font-size: 90%;
    width: 268px;
    border-radius: 3px;
    margin: 0;
    behavior: url(/resources/css/PIE.htc);
    position: relative;
}

.newsletter .btn {
    margin-top: 13px !important;
    width: 230px;
}

#lesson_footer p.desc {
    line-height: 150%;
    margin: 20px 100px !important;
    text-align: center;
}

#lesson #af-form-1604289554 {
    width: 650px;
}

#lesson_footer .af-form-wrapper .previewLabel {
    display: block;
    float: left;
    font-weight: bold;
    line-height: 32px !important;
    width: 55px;
}

#lesson_footer .af-form-wrapper .text {
    border: 1px solid #BEBEBE;
    color: #D6D6D6;
    font-size: 90%;
    height: 32px;
    line-height: 32px;
    margin: 0;
    padding: 0 10px;
    position: relative;
    width: 268px;
}

#lesson_footer .af-form-wrapper .af-element {
    width: 350px;
}

#lesson_footer .af-form-wrapper span {
    border-bottom: 1px solid #F2F2F2;
    display: block;
    float: left;
    position: relative;
    width: 290px;
}

ul.clients li p.person {
    color: #999;
    margin-top: 10px !important;
}

/** ### end of clients and demo ### **/

/** Phrases **/
dd {
    font-style: italic;
    margin-bottom: 1.618em;
}

/** Bitesize Audio Button **/
button.bitesize-audio-button {
    text-decoration: none;
    margin: 0;
    display: block;
    padding: 5px 5px 5px 5px;
    background: linear-gradient(to bottom, #F2F8FF 0%, #CEDCEB 100%);
    border-radius: 5px;
    position: relative;
    border: 1px solid #85A8CD;
    cursor: pointer;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
}

.expand-transition {
    transition: all .3s ease;
    height: 30px;
    padding: 10px;
    background-color: #eee;
    overflow: hidden;
}
.expand-enter, .expand-leave {
    height: 0;
    padding: 0 10px;
    opacity: 0;
}
/*transition: 1s ease-in-out;*/

button.bitesize-audio-button:hover {
    background: linear-gradient(to bottom, #4a81eb 0%, #0c529b 100%);
}

button.bitesize-audio-button:active {
    background: #002347;
}

button.bitesize-audio-button span.audio-icon {
    background: #fafcff;
    display: block;
    float: left;
    width: 60px;
    height: 40px;
    border: 1px solid #bcd0e6;
    border-radius: 5px;
    margin-right: 10px;
}

button.bitesize-audio-button span.audio-icon span {
    background: url("/resources/images/audio-button-fullwidth.png") 0 0 no-repeat;
    display: block;
    position: absolute;
    left: 22px;
    top: 8px;
    width: 55px;
    height: 35px;
}

button.bitesize-audio-button.playing span.audio-icon span {
    background: url("/resources/images/audio-button-fullwidth.png") 2px -71px no-repeat;
}

button.bitesize-audio-button:hover span.audio-icon {
    background: linear-gradient(to top, #F2F8FF 0%, #CEDCEB 100%);
}

button.bitesize-audio-button span.audio-text {
    font-weight: bold;
    color: #0c529b;
    display: block;
    float: left;
    line-height: 36px;
    padding: 3px 10px 3px 0px;
    behavior: url(PIE.htc);
    position: relative;
    margin-right: 20px;
}

button.bitesize-audio-button:hover span.audio-text {
    color: #f4f02a;
}

button.bitesize-audio-button span.translation {
    display: block;
    float: left;
    font-weight: bold;
    line-height: 42px;
    color: #434343;
    padding: 0 10px 0 0;
}

button.bitesize-audio-button:hover span.translation {
    color: #fff;
}

button.bitesize-audio-button span.pronunciation:before,
button.bitesize-audio-button span.pronunciation:after {
    content: "/";
}

button.bitesize-audio-button span.pronunciation {
    float: right;
    display: block;
    line-height: 42px;
    margin: 0 0 0 20px;
    padding: 0 10px 0 0;
    color: #434343;
}

button.bitesize-audio-button:hover span.pronunciation {
    color: #fff;
}


/*
 * Skin for jPlayer Plugin (jQuery JavaScript Library)
 * http://www.jplayer.org
 *
 * eTeanga
 *
 * Copyright (c) 2011 Happyworm Ltd
 * Dual licensed under the MIT and GPL licenses.
 *  - http://www.opensource.org/licenses/mit-license.php
 *  - http://www.gnu.org/copyleft/gpl.html
 *
 * Author: Mark Panaghiston
 * Skin Version: 1.0 (jPlayer 2.1.0)
 * Date: 13th September 2011
 * With eTeanga modifications since with a new skin
 */
/*@group inline player */
a.jppl-audio {
    text-decoration: none;
}

.audio a.jppl-audio {
    margin: 0;
    display: block;
    padding: 5px 5px 5px 5px;
    background: #cedceb;
    /* IE10 Consumer Preview */
    background-image: -ms-linear-gradient(top, #F2F8FF 0%, #CEDCEB 100%);
    /* Mozilla Firefox */
    background-image: -moz-linear-gradient(top, #F2F8FF 0%, #CEDCEB 100%);
    /* Opera */
    background-image: -o-linear-gradient(top, #F2F8FF 0%, #CEDCEB 100%);
    /* Webkit (Safari/Chrome 10) */
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #F2F8FF), color-stop(1, #CEDCEB));
    /* Webkit (Chrome 11+) */
    background-image: -webkit-linear-gradient(top, #F2F8FF 0%, #CEDCEB 100%);
    /* W3C Markup, IE10 Release Preview */
    background-image: linear-gradient(to bottom, #F2F8FF 0%, #CEDCEB 100%);
    border-radius: 5px;
    behavior: url(PIE.htc);
    position: relative;
    text-decoration: none;
    border: 1px solid #85A8CD;
}

.audio span.pronunciation:before, .audio span.pronunciation:after {
    content: "/";
}

.audio span.translation {
    display: block;
    float: left;
    font-weight: bold;
    line-height: 42px;
    color: #434343;
}

.audio span.irish {
    font-weight: bold;
    color: #0c529b;
    display: block;
    float: left;
    line-height: 36px;
    padding: 3px 10px 3px 0px;
    behavior: url(PIE.htc);
    position: relative;
    margin-right: 20px;
}

.audio span.audio-icon {
    background: #fafcff;
    display: block;
    float: left;
    width: 60px;
    height: 40px;
    border: 1px solid #bcd0e6;
    border-radius: 5px;
    margin-right: 10px;
}

.audio span.audio-icon span {
    background: url("/resources/images/jplayer.eteanga.fullwidth.png") 0 0 no-repeat;
    display: block;
    position: absolute;
    left: 22px;
    top: 8px;
    width: 55px;
    height: 35px;
}

.audio a.jppl-playing span.audio-icon span {
    background: url("/resources/images/jplayer.eteanga.fullwidth.png") 2px -71px no-repeat;
}

.audio a.jppl-audio:hover span.audio-icon {
    background: #CEDCEB;

    /* IE10 Consumer Preview */
    background-image: -ms-linear-gradient(bottom, #F2F8FF 0%, #CEDCEB 100%);

    /* Mozilla Firefox */
    background-image: -moz-linear-gradient(bottom, #F2F8FF 0%, #CEDCEB 100%);

    /* Opera */
    background-image: -o-linear-gradient(bottom, #F2F8FF 0%, #CEDCEB 100%);

    /* Webkit (Safari/Chrome 10) */
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #F2F8FF), color-stop(1, #CEDCEB));

    /* Webkit (Chrome 11+) */
    background-image: -webkit-linear-gradient(bottom, #F2F8FF 0%, #CEDCEB 100%);

    /* W3C Markup, IE10 Release Preview */
    background-image: linear-gradient(to top, #F2F8FF 0%, #CEDCEB 100%);
}

.audio span.pronunciation {
    float: right;
    display: block;
    line-height: 42px;
    margin: 0 !important;
    color: #434343;
}

.audio a.jppl-audio:hover {
    background: #0c529b;
    color: #fff !important;
}

.audio a.jppl-audio:hover span.translation {
    color: #fff;
}

.audio a.jppl-audio:hover span.irish {
    color: #fff;
    behavior: url(PIE.htc);
    position: relative;
}

.audio a.jppl-audio:hover span.pronunciation {
    color: #fff;
}

a.inline-audio {
    background: #CEDCEB;

    /* IE10 Consumer Preview */
    background-image: -ms-linear-gradient(top, #F2F8FF 0%, #CEDCEB 100%);

    /* Mozilla Firefox */
    background-image: -moz-linear-gradient(top, #F2F8FF 0%, #CEDCEB 100%);

    /* Opera */
    background-image: -o-linear-gradient(top, #F2F8FF 0%, #CEDCEB 100%);

    /* Webkit (Safari/Chrome 10) */
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #F2F8FF), color-stop(1, #CEDCEB));

    /* Webkit (Chrome 11+) */
    background-image: -webkit-linear-gradient(top, #F2F8FF 0%, #CEDCEB 100%);

    /* W3C Markup, IE10 Release Preview */
    background-image: linear-gradient(to bottom, #F2F8FF 0%, #CEDCEB 100%);
    text-decoration: none !important;

    font-weight: bold;
    border-radius: 5px;
    padding: 0 5px;
    behavior: url(PIE.htc);
    color: #0D569F;
    border: 1px solid #85A8CD;
}

a.inline-audio i.fa-play, a.inline-audio i.fa-stop {
    padding-right: 0.1em;
    display: inline-block;
    width: 1.25em;
    text-align: center;
}

a.inline-audio i.fa-stop {
    display: none;
}

a.inline-audio:hover {
    background: #0c529b;
    border-color: #0c529b;
    color: #fff;
}

a.inline-audio.jppl-playing i.fa-stop {
    display: inline-block;
}

a.inline-audio.jppl-playing i.fa-play {
    display: none;
}

.audio strong,
a.inline-audio strong {
    text-decoration: underline;
}

.audio a.jppl-audio:active, a.inline-audio:active {
    background-color: #002347;
}

h3 span.irish {
    padding: 0 0.236em;
}

/*@end*/

.colborder {
    border-right: none;
}

/* clearing floats */
.audio:after, .newsletter:after, .fields:after, .audio .jppl-audio:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.footer {
    width: 100%;
    background: #434343;
    overflow: hidden;
    margin-top: 3em;
}

.footer .clear {
    height: 0;
    line-height: 0;
    font-size: 0;
    clear: both;
}

/* footer */
p.copyright {
    float: left;
    margin: 0;
}

#footer {
    background: #434343;
    position: relative;
    color: #f1f1f1;
    overflow: hidden;
    width: 950px;
    margin: 0 auto;
    float: none;
    padding: 32px 0 80px;
}

#footer h2 {
    font-size: 32px !important;
    font-weight: normal;
    padding-bottom: 20px;
    text-align: left !important;
    line-height: normal !important;
    margin: 0 !important;
    color: #fff !important;
    text-shadow: none !important;
}

#footer .dv_footer_input {
    background: url(/resources/images/bg_footer_input.png) 0 0 no-repeat;
    width: 241px;
    height: 52px;
    line-height: 52px;
    float: left;
    padding: 0 20px;
}

#footer .dv_footer_input input {
    width: 241px;
    background: transparent;
    border: none;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    color: #777;
}

#footer .dv_submit {
    float: left;
}

#footer .text {
    background: none repeat scroll 0 0 #3c3c3c;
    border: 1px solid #333;
    border-radius: 4px;
    box-shadow: 0 0 10px #333;
    color: #777;
    float: left;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    height: 50px !important;
    line-height: 50px;
    margin: 0;
    padding: 0 7px !important;
    position: relative;
    width: 241px !important;
}

#footer .btn {
    cursor: pointer;
    float: left;
    height: 52px !important;
    line-height: 52px;
    margin-left: -5px !important;
    padding: 0 13px !important;
    width: auto !important;
    margin-top: 0px !important;
}

#footer .dv_left {
    float: left;
    background: url(/resources/images/separator.png) 100% 0 no-repeat;
    min-height: 220px;
    width: 424px;
    font-size: 16px;
    line-height: 22px;
    padding-right: 50px;
}

#footer .dv_right {
    float: left;
    width: 426px;
    padding-left: 50px;
    text-align: justify;
}

#footer .dv_stories {
    font-size: 14px;
    line-height: 22px;
    font-style: italic;
}

#footer .dv_stories img {
    float: left;
    padding-right: 20px;
}

#footer .dv_stories p {
    overflow: hidden;
    float: left;
}

#footer .p_author {
    color: #a1a1a1;
}

#footer .sp_stories {
    display: block;
    padding-bottom: 10px;
}

#footer .copyright {
    float: left;
    font-size: 16px;
    color: #777;
}

p.footer-navigation {
    color: #777;
}

#footer a, #footer a:visited {
    color: #f1f1f1;
}

#footer a:hover {
    background: none !important;
    color: #fff !important;
    text-decoration: none;
}

/* styles for signup */

.feature-heading {
    position: relative;
    line-height: 91px;
    margin-bottom: 1.618em;
    color: #fa5923;
}

.lesson .feature-heading {
    height: 105px;
    margin-bottom: 0;
    position: relative;
}

.feature-heading a {
    color: #fa5923;
}

.feature-heading h1 {
    padding: 0 !important;
    margin: 30px 0 30px 0;
    color: #fa5923;
}

.lesson .feature-heading h1 {
    margin: 0 !important;
}

.green_color {
    color: #899682;
    line-height: 20px;
    font-size: 14px;
}

a.card{
    box-shadow: 0 0 5px #9fc593;
    background: #fff;
    padding: 0 0 8px 0;
    margin-bottom: 24px;
    display:block;
    text-decoration: none;
    color: #333;
}

a.card:hover{
    box-shadow: 0px 5px 10px #9fc593;
}

a.card:visited {
    color: #333;
}

a.card h3{
    margin: 0;
    padding: 24px 20px 16px 20px;
}

a.card h3:hover {
    text-decoration: underline;
}

a.card h4{
    margin: 0;
    padding: 0 20px 20px 20px;
    color: #989898;
    font-weight: normal;
}

a.card p{
    padding: 0 20px 16px 20px;
    margin: 0;
    text-align: left;
}

a.card p.action {
    color: #0D569F;
    font-weight: bold;
}

a.card p.action:hover {
    text-decoration: underline;
}

a.card p:last-of-type {
    margin-bottom: 0;
}

.page-section {
    margin-bottom: 1.618em;
    box-shadow: 0 0 5px #d6d4a2;
    background: #fff;
    overflow: hidden;
}

.page-section.standalone {
    margin-top: 4em;
}

.page-section .padding {
    padding: 0 1em 1.618em 1em;
}

.page-section .no-padding {
    margin: 0 -1em 0.618em -1em;
}

#lesson_contents .padding {
    padding: 30px;
}

.dv_padd {
    padding-right: 30px;
}

.promise-background {
    background: url(https://dzfk93w6juz0e.cloudfront.net/images/green_circle.jpg) 24px 0 no-repeat;
    width: 354px;
    height: 269px;
    text-align: center;
    float: left;
    color: #319d0d;
    font-size: 20px;
    line-height: 28px;
    padding-left: 30px;
}

.promise-background h2 {
    font-size: 1.618em;
    margin-top: 40px;
    color: #319d0d;
}

.page-section .dv_left {
    float: left;
    padding-left: 40px;
}

.page-section .dv_right {
    float: right;
    width: 310px;
    padding-top: 37px;
}

.dv_checkout {
    background: url(https://dzfk93w6juz0e.cloudfront.net/images/lock_icon.png) 0 0 no-repeat;
    padding-left: 65px;
    min-height: 52px;
    padding-top: 10px;
    margin-top: 1.618em;
}

.page-section ul.testimonials li img {
    border: none;
    padding: 0;
}

.page-section ul.testimonials li {
    color: #434343;
    font-size: 14px;
    font-style: italic;
}

.page-section ul.testimonials li p {
    overflow: hidden;
    line-height: 22px;
}

.page-section ul.testimonials .person {
    color: #999;
}

.dv_list_checked {
    float: left;
    width: 456px;
    padding-left: 80px;
    padding-top: 40px;
}

.dv_list_checked ul.small-ticks {
    list-style-image: none !important;
    font-size: 16px;
    margin: 0;
    list-style-type: none;
}

.dv_list_checked ul.small-ticks li {
    line-height: 21px;
    color: #434343;
    padding-bottom: 21px;
    padding-left: 39px;
    background: url('https://dzfk93w6juz0e.cloudfront.net/images/icon_check_2.png') 0 0 no-repeat;
}

.p_users {
    font-size: 16px;
    color: #319d0d;
    font-weight: bold;
    line-height: 32px;
    padding-left: 77px;
    padding-right: 45px;
    margin-bottom: 0;
}

body.home .middle-section {
    height: auto;
    margin-top: 0;
    width: 100%;
}

.homepage-slider-container {
    float: left;
    height: 530px;
    margin-top: -30px;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: 0;
}
.homepage-slider-container.members-area {
    height: 230px;
}

.homepage-slider-container > h1 {
    color: #ffffff;
    font-size: 36px;
    position: absolute;
    text-shadow: 0 1px 2px #000024;
    top: 30%;
    width: 100%;
    z-index: 1;
    background: rgba(0, 0, 0, 0.5);
}

.homepage-slider-container > h2 {
    color: #ffffff;
    font-size: 30px;
    font-weight: normal;
    position: absolute;
    text-align: center;
    text-shadow: black 0px 0px 2px;
    background: rgba(0, 0, 0, 0.5);
    z-index:0;
    top: 41%;
    width: 100%;
    z-index: 1;
}

.homepage-slider-container .cta {
    position: absolute;
    top: 70%;
    z-index: 1;
    width: 100%;
    text-align: center;
}
.homepage-slider-container .cta.cta-member {
    position: absolute;
    top: 250px;
    z-index: 1;
    width: 100%;
    text-align: center;
}

.homepage-slider-container .cta > a.btn {
    margin: auto;
    border: 1px solid #0c2742;
    font-size: 24px;
    padding: 4px 50px;
}

.homepage-icon-ctas {
    background: #fff none repeat scroll 0 0;
    float: left;
    padding: 49px 0 45px;
    width: 100%;
}

.homepage-icon {
    float: left;
    height: 53px;
    margin-right: 50px;
    width: 278px;
    color: #282828;
}
.homepage-icon:visited {
    color:#282828;
}
.homepage-icon > img {
    float: left;
    margin-right: 19px;
}

.homepage-icon > p {
    float: left;
    text-align: left;
    width: 71%;
    line-height: 134%;
}

.homepage-icon + .homepage-icon + .homepage-icon {
    margin-right: 0;
}

.homepage-icon + .homepage-icon + .homepage-icon > img {
    margin-top: -9px;
}

body.home .middle-section-inner {
    margin: 0 auto;
    float: none;
}

body.home .middle-section-inner h2 {
    font-size: 42px;
    color: #fff;
    padding: 80px 0 0 25px;
    margin-bottom: 0px;
    text-shadow: 1px 1px 3px #333;
}

body.home .bottom-section {
    margin: 46px 0;
}

body.home .bottom-section ul {
    float: left;
    width: 730px;
    list-style-type: none;
    padding: 0px;
    margin: 0 30px 0 0;
}

body.home .bottom-section ul li {
    float: left;
    width: 222px;
    margin: 0 30px 0 0;
}

body.home .bottom-section ul li:last-child {
    margin: 0px;
}

body.home .bottom-section ul li img {
    float: left;
    width: 222px;
    height: 142px;
    padding: 3px;
    background: #fff;
    border: 1px solid #bed7b6;
}

body.home .bottom-section ul li p {
    float: left;
    width: 100%;
    text-align: center;
    font-size: 15px;
    color: #434343;
    margin: 15px 0 0 0;
}

body.home .get-started {
    float: right;
    width: 190px;
}

body.home .get-started p {
    float: left;
    width: 100%;
    text-align: center;
    font-size: 18px;
    color: #434343;
    margin: 30px 0 0 0;
    font-weight: bold;
}

body.home .get-started > .btn {
    float: left;
    margin: 20px 0 0 19px;
}

a:link.learn-more-home {
    float: left;
    font-size: 20px;
    color: #fff;
    margin: 29px 0 0 0;
    text-decoration: underline;
    padding: 4px;
}

a:link.learn-more-home:hover {
    text-decoration: none;
    padding: 4px;
}

a.learn-more-home:visited {
    color: #FFFFFF;
    text-decoration: underline;
}

.feature-pronunciation {
    float: left;
    width: 232px;
    height: 152px;
    background: url(/resources/images/home.feature-pronunciation.jpg) 0px 0px no-repeat;
}

.feature-pronunciation:hover {
    background: url(/resources/images/home.feature-pronunciation.jpg) 0px -152px no-repeat;
}

.feature-lessons-online {
    float: left;
    width: 232px;
    height: 152px;
    background: url(/resources/images/home.feature-lessons-online.jpg) 0px 0px no-repeat;
}

.feature-lessons-online:hover {
    background: url(/resources/images/home.feature-lessons-online.jpg) 0px -152px no-repeat;
}

.feature-lessons-grammar {
    float: left;
    width: 232px;
    height: 152px;
    background: url(/resources/images/home.feature-lessons-grammar.jpg) 0px 0px no-repeat;
}

.feature-lessons-grammar:hover {
    background: url(/resources/images/home.feature-lessons-grammar.jpg) 0px -152px no-repeat;
}

/* Success stories slider */
#slider ul, #slider li, #slider2 ul, #slider2 li {
    margin: 0;
    padding: 0;
    list-style: none;
}

#slider2 {
    margin-top: 1em;
}

#slider li, #slider2 li {
    width: 430px;
    height: 100px;
    overflow: hidden;
}

#prevBtn, #nextBtn, #slider1next, #slider1prev {
    display: block;
    width: 30px;
    height: 77px;
    position: absolute;
    left: -30px;
    top: 71px;
    z-index: 1000;
}

#nextBtn, #slider1next {
    left: 696px;
}

#prevBtn a, #nextBtn a, #slider1next a, #slider1prev a {
    display: block;
    position: relative;
    width: 30px;
    height: 77px;
    background: url(../images/btn_prev.gif) no-repeat 0 0;
}

#nextBtn a, #slider1next a {
    background: url(../images/btn_next.gif) no-repeat 0 0;
}

/* numeric controls */

ol#controls {
    float: left;
    height: 28px;
    margin: 20px 0 0 170px;
    padding: 0;
}

ol#controls li {
    margin: 0 5px 0 0;
    padding: 0;
    float: left;
    list-style: none;
    height: 10px;
    line-height: 10px;
}

ol#controls li a {
    float: left;
    background: #595959;
    color: #555;
    height: 10px;
    width: 10px;
    text-decoration: none;
    text-indent: -10000px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -khtml-border-radius: 5px;
    -ohtml-border-radius: 5px;
    -webkit-border-radius: 5px;
}

ol#controls li.current a {
    background: #afafaf;
    text-indent: -10000px;
}

ol#controls li a:focus, #prevBtn a:focus, #nextBtn a:focus {
    outline: none;
}

.testimonial {
    float: left;
    width: 430px;
}

.testimonial img {
    float: left;
    margin: 0 20px 0 0;
}

.testimonial p {
    float: left;
    width: 310px;
    font-style: italic;
    font-size: 15px;
    color: #fff;
    line-height: 18px;
    margin: 0 0 10px 0;
}

.testimonial label {
    float: left;
    width: 310px;
    font-style: italic;
    font-size: 14px;
    color: #888;
    line-height: 18px;
}

body.audio-program .audio-lesson-headline {
    margin-left: 60px;
    margin-top: -360px;
    padding-top: 60px;
}

body.audio-program div.product {
    margin-bottom: 3.618em;
}

body.audio-program .view-cart {
    float: right;
    vertical-align: middle;
}

body.audio-program .product h4 {
    padding-top: 1em;
    margin-top: 0.618em;
    margin-bottom: 0.618em;
    border-top: 1px #eee solid;
    text-align: center;
}

body.audio-program .product ul {
    margin-left: 1em;
    margin-top: -0.618em;
}

body.audio-program .product img {
    margin-left: auto;
    margin-right: auto;
}

body.audio-program .product img, body.audio-program img.product {
    border: 7px solid #efefef;
}

body.audio-program p.price span {
    color: #888;
    text-decoration: line-through;
}

body.audio-program p.add-to-cart {
    text-align: center;
}

/* Free trial FAQ */
.free-trial-faq h3 {
    margin-bottom: 0.25em;
}

.free-trial-faq .plans {
    margin-left: 1.618em;
}

.about-image {
    float: right;
    width: 140px;
    margin-left: 20px;
    margin-bottom: 10px;
}

.search {
    margin: 10px 0px 20px;
}

.search input[type="text"] {
    width: 25.65em;
}

.search-results {
    width: 708px;
}

.search-results .padding {
    padding: 1.618em 1em;
}

.serach-right-block .lessons-sidebar {
    margin-top: 0;
}

.search_sidebar {
    float: left;
    margin-left: 16px;
    margin-top: 9px;
}

@-moz-document url-prefix() {
    .search_sidebar {
        margin-top: 12px;
    }
}

.search_sidebar input[type="text"] {
    width: 7.03em;
    padding: 0.2em 0.3em;
    font-size: 1.2em;
}

.search_sidebar input[type="submit"] {
    width: 4.5em;
    font-size: 92%;
    padding-bottom: 1px;
    height: 31px;
    top: -1px;
    line-height: 19px;
}

.no_margin {
    margin: 0;
}

ul.testimonials li.feature_cell h3 {
    text-align: center;
}

ul.testimonials li.feature_cell div {
    width: 792px;
    margin: 0 auto;
}

ul.testimonials li.feature_cell img {
    float: none;
}

ul.testimonials li.feature_cell i {
    display: block;
    margin: 10px 0 15px;
}

ul.testimonials li.feature_cell p {
    margin-bottom: 0;
}

div.confirmDeleteRecording {
    display: none;
}

.show-only-for-devices {
    display: none;
}

/*
Levels listing page
*/

.levels-container, .week-container {
    float: left;
    margin-top: 20px;
    width: 100%;
}

.levels-tabs {
    float: left;
    position: relative;
    z-index: 0;
}

.level-tab {
    background: #d1ecc6 none repeat scroll 0 0;
    border: 1px solid #e5f5df;
    border-radius: 2px 2px 0 0;
    color: #319d0d;
    float: left;
    font-size: 18px;
    margin-bottom: 5px;
    margin-right: 10px;
    min-width: 142px;
}

.level-tab > a {
    color: #319d0d;
    float: left;
    padding: 8px 38px;
    text-decoration: none;
}

.level-tab > a:hover {
    text-decoration: underline;
}


.facebook {
    background: url('../images/Facebook.png');
}

.twitter {
    background: url('../images/Twitter.png');
}

.breadcrumbs {
    float: left;
    line-height: 51px;
    margin-left: 35px;
}

.breadcrumbs + .lesson_tag {
    clear: both;
    line-height: 49px;
    margin-top: -6px !important;
}

.breadcrumbs + .lesson_tag + span {
    line-height: 30px !important;
}

.breadcrumbs > a {
    text-decoration: underline;
}

.white-bg-sidebar {
    background: #fff none repeat scroll 0 0;
    float: left;
    position: relative;
    width: 241px;
    z-index: 1;
}

.programme .task-complete-message {
    line-height: 24px;
}

.beginners-testimonial {
    float: left;
    margin-bottom: 30px;
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 20px;
    width: 870px;
}

.beginners-testimonial > img {
    float: left;
    width: 160px;
    padding: 20px;
    box-shadow: 3px 3px 3px 3px #ddd;
}

.beginners-testimonial > div {
    border: 1px solid #c8e8bd;
    border-radius: 12px;
    float: left;
    margin-left: 39px;
    margin-top: 55px;
    padding: 20px;
    width: 583px;
}

.footer-header-link {
    text-decoration: underline;
}

.facebook-logo > img {
    left: 19px;
    position: relative;
    top: 16px;
}

p.footer-navigation {
    margin-bottom: 8px;
}

.edit-lesson .info {
    font-size: 13px;
    vertical-align: top;
}

.slider-container {
    position: relative;
    float: left;
    width: 100%;
    height: 100%;
}

.slider-container::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;
    z-index: 1;
    opacity: .3;
}
#newCard a{
	color: #333;
	text-decoration: none;

}
#newCard a:hover{
	text-decoration: underline;
	color: green;
}

.move-lesson {
    display: none;
    position: fixed;
    width: 300px;
    height: auto;
    background: #fff;
    left: 0px;
    top: 200px;
    left: 50%;
    margin-left: -180px;
    z-index: 2;
    border: 1px solid #479C24;
    padding: 30px;
    text-align: center;
}

.move-lesson-close {
    text-decoration: none;
    color: #505050 !important;
    font-size: 26px;
    float: right;
    margin-top: -18px;
    margin-right: -19px;
}

.move-lesson select {
    font-size: 19px;
    margin-top: 18px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    float: none;
    width: 229px;
}
.move-lesson-close:after {
    content:"✖";
}

.move-lesson-background {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.5);
    display: none;
}

.move-lesson.open, .move-lesson-background.open {
    display:block;
}

.select-week, .select-week-wrapper {
    display: none;
}
.select-week-wrapper.open {
    display:block;
}

.level-1 .select-week.for-level-1, .level-2 .select-week.for-level-2, .level-3 .select-week.for-level-3, .level-4 .select-week.for-level-4 {
    display:block;
}

.submit-to-move-lesson {
    display: none;
    margin: 20px auto 20px auto;
    font-size: 20px;
    width: 231px;
}

.submit-to-move-lesson.open {
    display: block;
}

/** Hide Vue.js content until page is loaded **/
[v-cloak] {
    display: none;
}
/* Vue.js */
/* Enter and leave animations can use different */
/* durations and timing functions.              */
.slide-fade-enter-active {
    transition: all .3s ease;
}
.slide-fade-leave-active {
    transition: all .8s cubic-bezier(1.0, 0.5, 0.8, 1.0);
}
.slide-fade-enter, .slide-fade-leave-to
    /* .slide-fade-leave-active below version 2.1.8 */ {
    transform: translateX(10px);
    opacity: 0;
}
.take-quiz-question nav {
    text-align: center;
}
.quiz-result-typed-answer .tick {
    color: rgb(0, 94, 0);
}
.quiz-result-typed-answer .cross {
    color: rgb(161, 0, 0);
}
.quiz-result-typed-answer .answer {
    font-size: 1.5em;
}
.quiz-result-typed-answer .answer-inputtable {
    color: #004080;
}
#quiz-progress > div {
    height: 97px;
}
.blanked-answer {
    color: rgb(161, 0, 0);
}

.modal-choose-new-quiz-question-type__mask {
    position: fixed;
    z-index: 9998;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .5);
    display: table;
    transition: opacity .3s ease;
  }

  .modal-choose-new-quiz-question-type__wrapper {
    display: table-cell;
    vertical-align: middle;
  }

  .modal-choose-new-quiz-question-type__container {
    width: 300px;
    margin: 0px auto;
    padding: 20px 30px;
    background-color: #fff;
    border-radius: 2px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .33);
    transition: all .3s ease;
  }
.slide1,.slide2 {
    position: absolute;
    width: 100%;
    height: 100%;
}

.slide1 {
    animation:fade 40s infinite;
    -webkit-animation:fade 40s infinite;
    opacity:0;
    background: url('/resources/images/man-at-table-banner.jpg')no-repeat center;
    background-size: cover;
}

.slide2 {
    animation:fade2 40s infinite;
    -webkit-animation:fade2 40s infinite;
    opacity:1;
    background: url('/resources/images/galway-banner.jpg')no-repeat center;
    background-size: cover;
}

@keyframes fade
{
    0%   {opacity:0}
    30% { opacity: 0}
    45% { opacity: 1}
    70% { opacity: 1}
    85% { opacity: 0}
    100% { opacity: 0}
}
@keyframes fade2
{
    0%   {opacity:1}
    30% { opacity: 1}
    40% { opacity: 0}
    70% { opacity: 0}
    85% { opacity: 1}
    100% { opacity: 1}
}

@-webkit-keyframes fade
{
    0%   {opacity:0}
    30% { opacity: 0}
    40% { opacity: 1}
    70% { opacity: 1}
    85% { opacity: 0}
    100% { opacity: 0}
}
@-webkit-keyframes fade2
{
    0%   {opacity:1}
    30% { opacity: 1}
    40% { opacity: 0}
    70% { opacity: 0}
    85% { opacity: 1}
    100% { opacity: 1}
}

#top_cta {
    padding: 30px;
    background-color: #fff;
    text-align: center;
    box-sizing: border-box;  /* This is the key part so that padding doesn't add to its width */
}

#top_cta h2 {
    color: #fa5923;
}

/* Related sounds section - "You might also like..." */
.related-sounds-section {
    background: #f8f9fa;
    border: 1px solid #e8e9ea;
    border-radius: 8px;
    padding: 20px;
    margin: 30px 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.related-sounds-section h2 {
    color: #2c5234;
    font-size: 1.4em;
    margin-bottom: 15px;
    border-bottom: 2px solid #4a7c59;
    padding-bottom: 8px;
}

.related-sounds-list {
    margin-bottom: 15px;
}

.related-sound-item {
    margin-bottom: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #e0e0e0;
    line-height: 1.5;
}

.related-sound-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.related-sound-link {
    text-decoration: none;
    color: #2c5234;
    font-weight: bold;
    font-size: 1.1em;
}

.related-sound-link:hover {
    color: #4a7c59;
    text-decoration: underline;
}

.related-sound-item .english-text {
    display: inline-block;
    margin-right: 8px;
}

.related-sound-item .irish-text {
    color: #666;
    font-size: 0.95em;
    margin-right: 8px;
}

.related-sound-item .pronunciation-hint {
    color: #888;
    font-size: 0.9em;
    font-style: italic;
}

.related-sounds-note {
    color: #666;
    font-style: italic;
    margin: 0;
    text-align: center;
}

.related-sounds-note small {
    font-size: 0.85em;
}

/* Top Translations Section - Bitesize Irish Brand Design */
.top-translations-section {
    margin-bottom: 40px;
    background: #fbfadc;
    padding: 30px 20px;
    border-radius: 8px;
    border: 1px solid #e8d5a3;
}

.section-title {
    color: #fa5923;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1.8em;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    letter-spacing: 0.5px;
}

.title-icon {
    font-size: 1.2em;
}

.section-subtitle {
    color: #666;
    font-family: 'Raleway', sans-serif;
    font-size: 1.1em;
    margin-bottom: 25px;
    font-style: italic;
}

.top-translations-grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 30px;
}

.translation-card {
    background: #fefefe;
    border: 2px solid #e8d5a3;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    position: relative;
    box-shadow: 0 2px 8px rgba(250, 89, 35, 0.1);
}

.translation-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(250, 89, 35, 0.2);
    border-color: #fa5923;
}

.translation-card.featured {
    background: linear-gradient(135deg, #fefefe 0%, #fbfadc 100%);
    border-color: #fa5923;
    border-width: 3px;
}

.translation-card.featured::before {
    content: "⭐ POPULAR";
    position: absolute;
    top: -12px;
    right: 16px;
    background: #fa5923;
    color: white;
    padding: 6px 12px;
    border-radius: 15px;
    font-size: 0.75em;
    font-weight: bold;
    font-family: 'Roboto Condensed', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    z-index: 10;
}

.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: rgba(251, 250, 220, 0.3);
    border-bottom: 1px solid #e8d5a3;
}

.rank-badge {
    background: #fa5923;
    color: white;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.9em;
    font-weight: bold;
    font-family: 'Roboto Condensed', sans-serif;
}

.play-count {
    color: #666;
    font-size: 0.85em;
    font-family: 'Raleway', sans-serif;
    display: flex;
    align-items: center;
    gap: 4px;
}

.play-icon {
    color: #fa5923;
    font-size: 0.8em;
}

.card-content {
    padding: 20px 16px;
}

.translation-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.translation-link:hover {
    text-decoration: none;
}

.english-phrase {
    font-size: 1.3em;
    font-weight: bold;
    color: #fa5923;
    font-family: 'Roboto Condensed', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 8px;
    line-height: 1.3;
}

.irish-phrase {
    font-size: 1.5em;
    color: #333;
    font-weight: 600;
    font-family: 'Raleway', sans-serif;
    margin-bottom: 6px;
    font-style: italic;
}

.pronunciation-preview {
    color: #888;
    font-size: 0.95em;
    font-style: italic;
    font-family: 'IM Fell DW Pica', serif;
}

.card-footer {
    padding: 12px 16px;
    background: rgba(251, 250, 220, 0.3);
    border-top: 1px solid #e8d5a3;
}

.learn-link {
    color: #fa5923;
    font-weight: 600;
    font-size: 0.9em;
    font-family: 'Roboto Condensed', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.translation-card:hover .learn-link {
    opacity: 1;
}

.view-all-cta {
    text-align: center;
    margin-top: 25px;
}

.btn.secondary {
    background: #0056B3;
    border: 2px solid #0056B3;
    color: white;
    padding: 12px 24px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: bold;
    font-family: 'Roboto Condensed', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.btn.secondary:hover {
    background: #0170B9;
    border-color: #0170B9;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 86, 179, 0.3);
}

.btn.secondary .arrow {
    transition: transform 0.3s ease;
}

.btn.secondary:hover .arrow {
    transform: translateX(3px);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .top-translations-grid {
        gap: 12px;
    }
    
    .translation-card {
        margin: 0 5px;
    }
    
    .section-title {
        font-size: 1.5em;
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
    
    .english-phrase {
        font-size: 1.2em;
    }
    
    .irish-phrase {
        font-size: 1.3em;
    }
    
    .card-header {
        padding: 10px 12px;
    }
    
    .card-content {
        padding: 16px 12px;
    }
}

/* Translation Page - Bitesize Brand Styling */
.translation-page-section {
    background: #fefefe;
    border-left: 4px solid #fa5923;
    border-radius: 0 8px 8px 0;
    padding: 30px;
    margin: 20px 0;
    box-shadow: 0 2px 12px rgba(250, 89, 35, 0.1);
}

.translation-page-section h1 {
    color: #fa5923;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 20px;
}

.translation-page-section h2 {
    color: #fa5923;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    font-size: 1.4em;
    margin: 30px 0 15px 0;
    border-bottom: 2px solid #fa5923;
    padding-bottom: 8px;
}

.translation-page-section p {
    font-family: 'Raleway', sans-serif;
    line-height: 1.6;
    margin-bottom: 15px;
}

/* Related sounds section on translation page */
.related-sounds-section {
    background: #fbfadc;
    border: 2px solid #e8d5a3;
    border-radius: 8px;
    padding: 25px;
    margin: 30px 0;
    box-shadow: 0 2px 8px rgba(250, 89, 35, 0.1);
}

.related-sounds-section h2 {
    color: #fa5923;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 1.4em;
    margin-bottom: 15px;
    border-bottom: 2px solid #fa5923;
    padding-bottom: 8px;
}

.related-sound-card-link {
    text-decoration: none !important;
    color: inherit;
    display: block;
    margin-bottom: 12px;
}

.related-sound-card-link:hover,
.related-sound-card-link:focus,
.related-sound-card-link:active,
.related-sound-card-link:visited {
    text-decoration: none !important;
}

.related-sound-card-link:last-child {
    margin-bottom: 0;
}

.related-sound-item {
    background: #fefefe;
    border: 1px solid #e8d5a3;
    border-radius: 6px;
    padding: 15px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.related-sound-card-link:hover .related-sound-item {
    border-color: #fa5923;
    box-shadow: 0 2px 8px rgba(250, 89, 35, 0.15);
    transform: translateY(-1px);
}

.related-sound-link {
    color: #fa5923;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    font-size: 1.1em;
    text-decoration: none;
    display: block;
    margin-bottom: 4px;
}

.related-sound-card-link {
    text-decoration: none;
}

.related-sound-card-link:hover .related-sound-link {
    color: #CB491D;
    text-decoration: none;
}

.related-sound-item .irish-text {
    color: #333;
    font-family: 'Raleway', sans-serif;
    font-size: 0.95em;
    margin-left: 8px;
    font-style: italic;
    text-decoration: none !important;
}

.related-sound-item .irish-text em {
    text-decoration: none !important;
}

.related-sounds-note {
    color: #666;
    font-family: 'IM Fell DW Pica', serif;
    font-style: italic;
    margin: 20px 0 0 0;
    text-align: center;
    padding: 15px;
    background: rgba(250, 89, 35, 0.05);
    border-radius: 6px;
}

.related-sounds-note small {
    font-size: 0.9em;
}

/* Audio button styling for translation page */
.translation-page-section .audio-button-container {
    background: #fbfadc;
    border: 2px solid #fa5923;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
    text-align: center;
}

/* Newsletter form on translation page */
.translation-page-section .newsletter-form {
    background: #fbfadc;
    border: 2px solid #fa5923;
    border-radius: 8px;
    padding: 25px;
    margin: 30px 0;
}

.translation-page-section .newsletter-form h3 {
    color: #fa5923;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 15px;
}

.translation-page-section .newsletter-form p {
    color: #333;
    font-family: 'Raleway', sans-serif;
}

.translation-page-section .newsletter-form input {
    border: 1px solid #e8d5a3;
    border-radius: 4px;
    padding: 8px 12px;
    font-family: 'Raleway', sans-serif;
}

.translation-page-section .newsletter-form input:focus {
    border-color: #fa5923;
    outline: none;
    box-shadow: 0 0 0 2px rgba(250, 89, 35, 0.2);
}

/* Translation page CTA buttons */
.translation-page-section .btn {
    background: #0056B3;
    border: 2px solid #0056B3;
    color: white;
    padding: 12px 24px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: bold;
    font-family: 'Roboto Condensed', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline-block;
    transition: all 0.3s ease;
}

.translation-page-section .btn:hover {
    background: #0170B9;
    border-color: #0170B9;
    color: white;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 86, 179, 0.3);
}

/* Special styling for links within the translation content */
.translation-page-section a:not(.btn):not(.related-sound-link) {
    color: #0056B3;
    font-weight: 600;
    text-decoration: underline;
}

.translation-page-section a:not(.btn):not(.related-sound-link):hover {
    color: #0170B9;
    text-decoration: none;
}

/** Games Hub Styling **/

/* Games Hub Layout */
.games-hub {
    padding: 20px 0;
}

.games-hero {
    text-align: center;
    padding: 40px 0 60px 0;
    background: linear-gradient(135deg, #FAF7F0 0%, #F4C542 100%);
    border-radius: 12px;
    margin-bottom: 40px;
    border: 2px solid #F4C542;
}

.games-title {
    font-size: 2.8em;
    color: #fa5923;
    margin-bottom: 15px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.1);
    font-weight: 700;
}

.games-subtitle {
    font-size: 1.2em;
    color: #666;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.5;
    font-style: italic;
}

/* Game Cards */
.game-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    margin-bottom: 30px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 2px solid #f0f0f0;
}

.game-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}

.game-card.featured {
    border-color: #fa5923;
    box-shadow: 0 4px 12px rgba(250, 89, 35, 0.2);
}

.game-card.featured:hover {
    box-shadow: 0 8px 24px rgba(250, 89, 35, 0.3);
}

.card-header {
    padding: 20px 20px 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.game-badge {
    background: #fa5923;
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.9em;
    font-weight: 600;
}

.difficulty-badge {
    background: #5D4037;
    color: #FAF7F0;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.9em;
    font-weight: 600;
}

.card-content {
    padding: 20px;
}

.card-content h3 {
    font-size: 1.8em;
    color: #333;
    margin-bottom: 15px;
    font-weight: 600;
}

.puzzle-preview {
    background: #f8f8f8;
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
    text-align: center;
}

.scrambled-text {
    font-size: 2em;
    font-weight: 700;
    color: #fa5923;
    letter-spacing: 4px;
    margin-bottom: 10px;
    font-family: 'Courier New', monospace;
}

.hint-preview {
    color: #666;
    font-size: 1em;
    font-style: italic;
}

.card-actions {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-top: 20px;
}

/* Coming Soon Cards */
.game-card.coming-soon {
    opacity: 0.7;
    background: #f9f9f9;
}

.coming-soon-badge {
    background: #999;
    color: white;
    padding: 8px 15px;
    border-radius: 20px;
    font-size: 0.9em;
    font-weight: 600;
    margin-top: 15px;
    display: inline-block;
}

/* Games Grid */
.games-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 30px;
}

/* Section Titles */
.section-title {
    font-size: 2.2em;
    color: #333;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.title-icon {
    font-size: 1.2em;
}

/* Cultural Context Section */
.cultural-context {
    margin-top: 60px;
    padding: 40px 0;
    border-top: 2px solid #F4C542;
    display: flex;
    gap: 40px;
}

.cultural-context h3 {
    color: #fa5923;
    margin-bottom: 15px;
    font-size: 1.6em;
}

.cta-section {
    background: #FAF7F0;
    padding: 30px;
    border-radius: 12px;
    text-align: center;
    border: 1px solid #F4C542;
}

.cta-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    margin-top: 20px;
    flex-wrap: wrap;
}

/** Scramble Puzzle Styling **/

/* Puzzle Layout */
.scramble-puzzle {
    padding: 20px 0;
}

.breadcrumb {
    margin-bottom: 30px;
    font-size: 1.1em;
}

.breadcrumb a {
    color: #fa5923;
    text-decoration: none;
}

.breadcrumb a:hover {
    text-decoration: underline;
}

.puzzle-header {
    text-align: center;
    margin-bottom: 40px;
}

.puzzle-header h1 {
    color: #fa5923;
    margin-bottom: 10px;
}

.puzzle-date {
    font-size: 1.3em;
    color: #666;
    font-weight: 500;
}

/* Puzzle Interface */
.puzzle-interface {
    max-width: 800px;
    margin: 0 auto;
}

.puzzle-card {
    background: #fff;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
    border: 2px solid #f0f0f0;
}

.puzzle-instructions {
    text-align: center;
    margin-bottom: 40px;
}

.puzzle-instructions h2 {
    color: #333;
    margin-bottom: 15px;
    font-size: 1.8em;
}

.puzzle-instructions p {
    color: #666;
    font-size: 1.1em;
    line-height: 1.5;
}

/* Scramble Interface */
.scramble-container {
    margin: 40px 0;
    text-align: center;
}

.scrambled-letters {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.letter-tile {
    background: #fa5923;
    color: white;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 1.5em;
    font-weight: 700;
    cursor: pointer;
    user-select: none;
    transition: all 0.3s ease;
    border: 2px solid #e04a1a;
}

.letter-tile:hover {
    background: #e04a1a;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.letter-tile:active {
    transform: translateY(0);
}

/* Answer Interface */
.answer-container {
    margin: 40px 0;
}

.answer-slots {
    display: flex;
    justify-content: center;
    gap: 4px;
    flex-wrap: wrap;
    min-height: 60px;
    align-items: center;
}

.answer-slot {
    width: 45px;
    height: 50px;
    border: 2px dashed #ccc;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4em;
    font-weight: 700;
    background: #fafafa;
    cursor: pointer;
    transition: all 0.3s ease;
}

.answer-slot.filled {
    background: #f0f0f0;
    border-color: #5D4037;
    border-style: solid;
    color: #5D4037;
}

.answer-slot:hover {
    border-color: #999;
}

.space-indicator {
    color: #ccc;
    font-size: 1.2em;
}

/* Answer States */
.answer-input.success .answer-slot.filled {
    background: #F4C542;
    color: #000000;
    border-color: #F4C542;
    animation: celebration 0.6s ease;
}

.answer-input.incorrect .answer-slot.filled {
    background: #ff6b6b;
    color: white;
    border-color: #e55555;
    animation: shake 0.5s ease;
}

@keyframes celebration {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

/* Puzzle Actions */
.puzzle-actions {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin: 30px 0;
    flex-wrap: wrap;
}

.btn.hint {
    background: #f39c12;
    border-color: #e67e22;
}

.btn.hint:hover {
    background: #e67e22;
}

.btn.reveal {
    background: #e74c3c;
    border-color: #c0392b;
}

.btn.reveal:hover {
    background: #c0392b;
}

.btn.audio {
    background: #9b59b6;
    border-color: #8e44ad;
}

.btn.audio:hover {
    background: #8e44ad;
}

/* Hint and Solution Containers */
.hint-container, .solution-container {
    background: #f8f9fa;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
}

/* Feedback Messages */
.celebration-message {
    background: #F4C542;
    color: #000000;
    padding: 15px 20px;
    border-radius: 8px;
    text-align: center;
    font-size: 1.3em;
    font-weight: 600;
    margin: 20px 0;
    animation: slideIn 0.5s ease;
}

.incorrect-message {
    background: #e74c3c;
    color: white;
    padding: 15px 20px;
    border-radius: 8px;
    text-align: center;
    font-size: 1.1em;
    font-weight: 600;
    margin: 20px 0;
    animation: slideIn 0.5s ease;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.hint-content, .solution-content {
    text-align: center;
}

.solution-text {
    font-size: 2em;
    font-weight: 700;
    color: #fa5923;
    margin: 20px 0;
}

.audio-controls {
    margin: 20px 0;
}

.puzzle-notes {
    margin-top: 15px;
    font-style: italic;
    color: #666;
}

/* Puzzle Navigation */
.puzzle-navigation {
    margin-top: 40px;
    text-align: center;
}

.nav-actions {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

/** Archive Styling **/

.scramble-archive {
    padding: 20px 0;
}

.archive-header {
    text-align: center;
    margin-bottom: 40px;
}

.archive-header h1 {
    color: #fa5923;
    margin-bottom: 15px;
}

.archive-subtitle {
    font-size: 1.2em;
    color: #666;
    max-width: 600px;
    margin: 0 auto;
}

.archive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    margin: 30px 0;
}

.archive-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: transform 0.3s ease;
    border: 1px solid #e0e0e0;
}

.archive-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

.archive-card.today {
    border-color: #fa5923;
    box-shadow: 0 4px 12px rgba(250, 89, 35, 0.2);
}

.archive-card .card-header {
    background: #f8f8f8;
    padding: 15px 20px;
    border-bottom: 1px solid #e0e0e0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.puzzle-date .day-of-week {
    font-weight: 600;
    color: #333;
}

.puzzle-date .date {
    color: #666;
    font-size: 0.9em;
}

.today-badge {
    background: #fa5923;
    color: white;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 0.8em;
    font-weight: 600;
}

.archive-card .card-content {
    padding: 20px;
}

.archive-card h3 {
    margin-bottom: 15px;
    color: #333;
    font-size: 1.3em;
}

.load-more-section {
    text-align: center;
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid #F4C542;
}

.archive-note {
    color: #666;
    margin-bottom: 20px;
    font-style: italic;
}

.archive-actions {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

/* Button Enhancements */
.btn.large {
    padding: 15px 30px;
    font-size: 1.2em;
    font-weight: 600;
}

.btn.primary {
    background: #fa5923;
    border-color: #e04a1a;
    color: white;
}

.btn.primary:hover {
    background: #e04a1a;
    border-color: #cc3f17;
}

.btn.secondary {
    background: #5D4037;
    border-color: #4a342b;
    color: #FAF7F0;
}

.btn.secondary:hover {
    background: #4a342b;
    border-color: #3d2924;
}

.btn.success {
    background: #F4C542 !important;
    border-color: #e6b63a !important;
    color: #000000 !important;
}

/* Error States */
.puzzle-error, .archive-error, .puzzle-not-found {
    text-align: center;
    padding: 60px 20px;
    background: #fff;
    border-radius: 12px;
    border: 2px solid #ff6b6b;
}

.error-message {
    color: #e74c3c;
    font-size: 1.2em;
    margin-bottom: 20px;
}

.error-actions, .not-found-actions {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

/* Mobile Responsiveness */
@media (max-width: 767px) {
    .games-title {
        font-size: 2.2em;
    }
    
    .games-subtitle {
        font-size: 1.1em;
        padding: 0 20px;
    }
    
    .cultural-context {
        flex-direction: column;
        gap: 30px;
    }
    
    .scrambled-letters {
        gap: 6px;
    }
    
    .letter-tile {
        width: 40px;
        height: 40px;
        font-size: 1.2em;
    }
    
    .answer-slot {
        width: 35px;
        height: 40px;
        font-size: 1.2em;
    }
    
    .puzzle-actions {
        flex-direction: column;
        align-items: center;
    }
    
    .puzzle-actions .btn {
        width: 100%;
        max-width: 250px;
    }
    
    .archive-grid {
        grid-template-columns: 1fr;
    }
    
    .card-actions {
        flex-direction: column;
    }
    
    .card-actions .btn {
        width: 100%;
        text-align: center;
    }
}
