@media (min-width: 450px) {
body {
    font-family: arial;
}
#top_menu {
    position: fixed;
    top: 0px;
    height: 95px;
    left: 43px;
    width: 100vw;
    background-color: white;
    z-index: 20;
}
#logo img {
    height: 80px;
    width: auto;
}
#social {
    position: relative;
    left: 0px;
    top: -35px;
}
/* Language control */
#lang {
    position: absolute;
    top: 57px;
    right: 100px;
}
#lang:hover {
    cursor: pointer;
}
#lang-rect {
    height: 15px;
    width: 30px;
    background: lightgray;
    border-radius: 8px;
}
#lang_circle {
    border: 1px solid gray;
    border-radius: 50%;
    height: 20px;
    width: 20px;
    position: relative;
    top: -3px;
    background: white;
}
.flag {
    height: 20px;
    width: 20px;
    position: absolute;
    top: -3px;
}
.flag img {
    height: 100%;
    width: 100%;
    overflow: hidden;
    border-radius: 50%;
}
#uk_flag {
    left: -29px;
}
#th_flag {
    right: -28px;
}
.lang_circle_en {
    display: block;
}
.lang_circle_th {
    right: -10px;
}

.en {
    display: block;
}
.th {
    display: none;
}
.c_us div {
    position: relative;
    left: -8px;
    top: -3px;
}
#hamburger {
    display: none;
}

.course_bar_link {
    text-decoration: none;
    color: black;
}
.course_bar_link:hover {
    cursor: pointer;
    text-decoration: underline;
}

.fb-like {
    background-image: url(../images/FB.png);
    width: 30px;
    height: 30px;
    background-size: cover;
    border-radius: 3px;
}
#welcome_en, #welcome_th, .section {
    margin-top: 25px;
    margin-bottom: 10px;
    line-height: 25px;
    color: #525151;
}
#main {
    position: relative;
    font-family: sans-serif;
    
}
.social_icon {
    display: inline-block;
}
.social_icon img {
    height: 30px;
    width: 30px;
    border-radius: 3px;
}
.social_icon:hover {
    cursor: pointer;
}
#fb_tt {
    position: absolute;
    bottom: -28px;
    border: 1px solid grey;
    background: white;
    font-family: arial;
    font-size: 10px;
    height: 20px;
    line-height: 20px;
    padding: 3px;
    display: none;
}
#topbar {
    width: 100%;
    position: fixed;
    top: 95px;
    left: 44px;
    display: flex;
    background: white;
    z-index: 10;
    height: 24px;
    border-top: 1px solid grey;
}

#topbar a {
    font-variant: small-caps;
    margin-right: 20px;
}
#topbar a:hover, .hovered {
    text-decoration: underline;
    font-weight: bold;
    cursor: pointer;
}
#sb_login {
    position: absolute;
    right: -8px;
}

/* Accounts page */
#acc_bottom {
    height: 50px;
}
#u_tickets {
    margin-top: 5px;
}

#user_details {
    display: none;
    font-size: 15px;
    border: 1px solid black;
    height: 88px;
    width: 150;
    background: white;
    z-index: 50;
    position: absolute;
    right: 0px;
    margin-top: 20px;
    padding: 5px;
    top: -1px;
    box-shadow: -2px 3px 3px grey;
    text-align: center;
}
#u_info_name {
    margin-top: 15px;
}
#u_info_email {
    font-weight: bold;
    margin-top: 3px;
    margin-bottom: 10px;
}
.u_link {
    font-variant: small-caps;
}
.u_link:hover {
    text-decoration: underline;
    cursor: pointer;
}
#logout {
    margin-left: calc(50% - 40px);
    margin-top: 20px;
    width: 80px;
    margin-top: 2px;
}
#logout:hover {
    background: blue;
    color: white;
    cursor: pointer;
}
#close_user_info {
    position: absolute;
    right: 5px;
    top: 0px;
    color: #d1cece !important;
    font-family: monospace;
}
#close_user_info:hover {
    cursor: pointer;
    color: black !important;
}
#select_purchase {
    border: 1px solid grey;
}
#payment_summary {
    margin-top: 10px;
    padding: 5px;
}
#payment {
    margin-top: 20px;
}
.num {
    width: 40px;
}
input[type=number]::-webkit-inner-spin-button {
    opacity: 1
}
#show_pay {
    margin-top: 10px;
}
#show_pay:hover {
    background: blue;
    color: white;
    cursor: pointer;
}
#paypal-button-container {
    width: 300px !important;
    margin-top: 10px;
}




#courses_bar {
    background: white;
    font-variant: small-caps;
    position: absolute;
    top: 20px;
    border: 1px solid black;
    padding: 8px 17px 8px 8px;
    display: none;
    box-shadow: 3px 1px 5px grey;
    width: 150px;
}
#courses_bar a {
    display: block;
    margin-right: 10px;
}
#body_fade {
    width: 97%;
    height: 31px;
    position: fixed;
    top: 102px;
    background-image: linear-gradient(rgb(255 255 255/ 100%), rgb(255 255 255 / 50%));
    z-index: 20;
}
#sidebar {
    display: none;
}
.sb_ar {
   display: none !important;
   display: inline-block;
   margin-right: 10px;
    cursor: pointer;
}

#msg_box {
    display: none;
    background: white;
    border: 1px solid black;
    padding: 10px;
    z-index: 30;
    position: absolute;
    width: 200px;
    text-align: center;
    left: calc(50% - 100px);
    top: 200px;
    box-shadow: 4px 3px 3px grey;
}
.modal_open {
    height: 100vh;
    overflow-y: hidden;
}
#grey {
    display: none;
    height: 104vh;
    width: 104vw;
    background: grey;
    opacity: 0.5;
    z-index: 25;
    position: fixed;
    top: -10px;
    left: -10px;
}
#close_msg_box {
    margin-left: calc(50% - 35px);
    margin-top: 10px;
}
#close_msg_box:hover {
    cursor: pointer;
    background: blue;
    color: white;
}
.nb_header {
    font-weight: bold;
    font-size: 18px
}
#content {    
    text-align: justify;
    margin-left: 122px;
    margin-top: 132px;
    margin-right: 122px;
}
#footer {
    width: 98%;
    background: black;
    color: white;
    text-align: right;
    padding: 10px;
    padding-right: 20px;
    position: fixed;
    bottom: 0px;
    z-index: 500;
}
/* Log in and sign up pages */
#login, #signup {
    position: relative;
    top: 20px;
    width: 100px;
}
#signup:hover {
    cursor: pointer;
}
#sign_up_error {
    display: none;
    height: 20px;
    width: 200px;
    border: 1px solid black;
    position: relative;
    top: -10px;
    background: lightgoldenrodyellow;
    font-size: 12px;
    line-height: 20px;
    left: 50px;
    box-shadow: 2px 2px 2px grey;
}

/*  CALENDAR */
.hidden {
    display: none;
}
#calendar_navigation {
    width: 414px;
    position: relative;
}
#month_back {
    position: absolute;
    top: 26px;
    font-size: 12px;
}
#month_back i {
    padding-right: 20px;
}
#month_forward i {
    padding-left: 20px;
}
#month_forward {
    position: absolute;
    top: 26px;
    font-size: 12px;
    right: 0px;
}
#month_back:hover, #month_forward:hover {
    cursor: pointer;
    color: blue;
}
#month_now {
    font-size: 18px;
    text-align: center;
    width: 414px;
}

#calendar table tr {
    height: 55px;
}
#calendar table td {
    width: 55px;
}
#calendar_day_info {
    display: none;
    position: absolute;
    top: -130px;
    left: calc(50% - 160px);
    background: white;
    z-index: 31;
    width: 326px;
    border: 1px solid black;
    box-shadow: 3px 3px 3px black;
}

#calendar_day_top {
    background: darkgreen;
    color: white;
    padding: 10px;
}
#calendar_day_close {
    color: #99cf99;
    positioN: absolute;
    right: 6px;
    top: 14px;
}

#calendar_day_close i:hover {
    cursor: pointer;
    color: white;
}
#calendar_day_table {
    width: 300px;
    margin-left: 10px;
    margin-top: 10px;
    table-layout: fixed;
    border-collapse: collapse;
    margin-bottom: 20px;
}
.reserved {
    background: green;
    color: white;
    width: 69px;
    padding-left: 10px;
    padding-right: 10px;
    line-height: 20px;
    font-size: 12px;
}
.book_now {
    background: white;
    width: 106px;
    color: red;
}
.book_now:hover {
    font-weight: bold;
    cursor: pointer;
}
#calendar_day_table tr {
    height: 25px !important;
    border-bottom: 1px solid lightgrey;
}
.time_column {
    width: 50px;
}
.calendar_day {
    border: 1px solid grey;
    border-radius: 5px;
    height: 50px;
    width: 50px;
    position: absolute;
}
.date_number {
    width: 100%;
    text-align: center;
    line-height: 40px;
    font-size: 24px;
    opacity: 1;
}
.full {
    background: green;
    color: white;
}
.available {
    background: green;
}
.na {
    color: grey;
}
.grey {
    background-color: #e6e4e4;
    color: grey;
}
.available:hover {
    box-shadow: 2px 2px 3px black;
    cursor: pointer;
}
.not_month {
    background-color: lightgrey !important;
    height: 25px;
    width: 25px;
    margin-left: 12px;
    margin-top: 12px;
}
.not_month .booked_bar {
    width: 18px;
    position: absolute;
    bottom: 3px;
}
.not_month .date_number {
    font-size: 12px;
    position: absolute;
    top: -11px;
}
.white_black {
    background-color: white !important;
    color: grey;
}
.white_black .booked_bar .inner_bar .color_bar {
    background: grey;
}
.booked_bar {
    position: absolute;
    bottom: 5px;
    height: 3px;
    width: 36px;
    left: 12%;
    border: 1px solid black;
    background-color: white;
    opacity: 1;
}
.greyed_bar {
    position: absolute;
    bottom: 5px;
    height: 3px;
    width: 38px;
    left: 10%;
    background: lightgrey;
    border: 1px solid lightgrey;
    
}
#calendar_info {
    position: relative;    
    top: 30px;
    height: 10px;
    ---o-animation-play-state: hidden;
}
@keyframes progbarzoom {
    from {width: 0%}
    to   {width: 100%}
}

.inner_bar {
    position: absolute;
    height: 5px;
    top: 0px;
    left: 0px;
    
}
.color_bar {
    background: black;
    animation: progbarzoom 2s;
    animation-fill-mode: forwards;
    position: absolute;
    height: 5px;
    top: -1px;
    left: -1px;
}

/*  SLIDESHOW    */

#slideshow {
    width: 100%;
    position: relative;
    margin-bottom: 100px;
}
#slideshow_img {
    width: 100%;
    height: 100%;
    position: relative;
    border: 1px solid black;
}
#slideshow_img img:hover {
    cursor: pointer;
}
#slideshow_img img {
    position: absolute;
    width: 100%;
    height: 100%;
}
.top_img {
    z-index: 2;
}
.below_img {
    z-index: 1;

}
.img_hide {
    display: none;
}

#slideshow_text {
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
}
.ss_text {
    text-align: center; 
    position: absolute;
    top: 20px;
    z-index: 8;
    background: rgb(128 128 128 / 60%);
    border-radius: 20px;
    padding: 10px;
    color: white;
}
.ss_text:hover {
    cursor: pointer;
}
#ss_text1 {
    /*  Conversation */
    right: 10px;
    position: absolute;
    width: 33%;
    height: 195px;
}
#ss_text2 {
    /* ielts */
    right: 11px;
    position: absolute;
    width: 24%;
    height: 283px;
    top: 10px;
} 

#ss_text3 {
    /* translation */
    left: 10px;
    top: 61px;
    position: absolute;
    height: 173px;
    width: 45%;
}
#ss_text4 {
    /* technical */
    left: 10px;
    top: 91px;
    position: absolute;
    height: 233px;
    width: 30%;
}
#ss_text5 {
    /* business */
    right: 10px;
    top: 271px;
    position: absolute;
    height: 147px;
    width: 70%;
}
#ss_text6 {
    /* academic */
    left: 10px;
    top: 112px;
    position: absolute;
    height: 153px;
    width: 30%;
}
#ss_text7 {
    /* medical */
    left: 10px;
    top: 63px;
    position: absolute;
    height: 175px;
    width: 42%;
}
#ss_text8 {
    /* corporate */
    right: 10px;
    top: 16px;
    position: absolute;
    height: 153px;
    width: 60%;
}

.ss_text_title {
    position: absolute;
    text-align: left;
    width: 100%;
    top: 13px;
    display: block;
    font-weight: bold;
    font-size: 18px;
    margin-left: 5%;
}
.ss_text_body {
    margin-left: 5%;
    text-align: left;
    width: 95%;
    height: 300px;
    margin-top: 32px;
    vertical-align: middle;

}
.ss_text_body a {
    display: block;
    text-decoration: none;
    color: white;
    font-weight: bold;
    margin-top: 20px;    
}
.ss_text_body a:hover {
    cursor: pointer;
    color: blue;
}
#ss_control_strip {
    height: 27px;
    border: 1px solid black;
    position: absolute;
    top: 10px;
    left: 1%;
    width: 31%;
    background: white;
    opacity: 0.5;
    border-radius: 100px;
    z-index: 3;
}
#ss_control_strip:hover {
    opacity: 1;
}
#left_arrow {
    width: 0;
    height: 0;
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
    border-left: 21px solid grey;
    position: absolute;
    display: inline-block;
    top: 12%;
    right: 3px;
}
#left_arrow:hover {
    border-left: 21px solid black;
    cursor: pointer;
}
#right_arrow {
    width: 0;
    height: 0;
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
    border-right: 21px solid grey;
    position: absolute;
    display: inline-block;
    top: 12%;
    left: 3px;
}
#right_arrow:hover {
    border-right: 21px solid black;
    cursor: pointer;
}

#dot_selector {
    position: absolute;
    left: 20%;
    top: 17%;
    height: 20px;
}
.dot {
    background-color: white;
    border: 1px solid black;
    border-radius: 50%;
    height: 10px;
    width: 10px;
    display: inline-block;
}
.dot_active {
    background-color: grey;
}
.dot:hover {
    background-color: black;
    cursor: pointer;
}
.ss_tt {
    display: none;
    position: absolute;
    height: 40px;
    line-height: 40px;
    font-size: 28px;
    width: 100%;
    color: white;
    text-align: center;
    bottom: 30px;
    z-index: 5;
}
.black {
    color: black;
}

/* EMAIL DIVS */
#form_error {
    display: none;
}
#email_div {
    font-family: arial;
    position: relative;
    width: 98%;
    height: 92%;
    top: 10px;
    border-radius: 20px;
    background: white;
    z-index: 4;
}
#email_title {
    font-weight: bold;
    font-size: 18px;
    border-bottom: 1px solid black;
    width: 99%;
    margin-bottom: 5px;
}
#booking_date_time {
    display: none;
    font-weight: bold;
    border-bottom: 1px solid black;
    width: 99%;
}
.email_table {
    font-size: 14px;
    width: 35%;
    margin-bottom: 10px;
    margin-top: 10px;
}
.email_text {
    font-size: 14px;
}
#email_msg {
    width: 88%;
    height: 50%;
    resize: none;
}
#inc_table {
    table-layout: fixed;
}
#inc_msg {
    width: 80% !important;
}

#email_send {
   margin-top: 10px;
}
.btn {
    background: white;
    width: 70px;
    color: black;
    font-size: 20px;
    line-height: 40px;
    height: 40px;
    border-radius: 10px;
    text-align: center;
    border: 1px solid black;
}
.btn_ok {
    background: blue;
    color: white;
    cursor: pointer;
}
#form_err_msg {
    border: 1px solid black;
    display: none;
    position: relative;
    top: -30px;
    left: 50px;
    font-size: 13px;
    width: 200px;
    height: 30px;
    background: #eceda7;
    line-height: 30px;
    border-radius: 3px;
}
#blank_bottom {
    height: 30px;
    width: 100%;
}


#email_thanks {
    top: 30vh;
    left: 38vw;
    display: none;
    position: fixed;
    z-index: 20;
    border: 1px solid black;
    width: 20vw;
    height: 22vh;
    padding: 20px;
    text-align: center;
    border-radius: 10px;
    box-shadow: 5px 5px 5px grey;
    background: white;
}
#e_t_body {
    margin-bottom: 10px;
}
#close_email_thanks {
    margin-left: calc(50% - 39px);
}
#close_email_thanks:hover {
    background: blue !important;
    color: white !important;
    cursor: pointer;
}
/* MAIN BODY CONTENT */

#other_content_header {
    font-size: 40px;
    margin-bottom: 30px;
    border-bottom: 2px solid black;
    width: 70%;
    color: black;
}
.section img {
    display: block;
    margin-bottom: 10px;
    width: 100%;
}
.section_header {
    font-weight: bold;
    font-size: 27px;
    height: 50px;
    line-height: 50px;
    margin-bottom: 10px;
}
.section_header tr td {
    vertical-align: middle;
    height: 50px;
}
.section_header table tr td:nth-child(1) img {
    height: 40px;
    width: 40px;
    position: relative;
    top: 5px;
}
.section_header table tr td:nth-child(2) {
    font-size: 27px;
    padding-left: 20px;
}

.c_us {
    height: 40px;
    margin-top: 20px;
}
.c_us:hover {
    cursor: pointer;
}
.c_us tr td {
    vertical-align: middle;
}
.c_us img {
    display: block;
    vertical-align: middle;
    height: 30px;
    width: 30px;
    margin-top: 5px;
}
.c_us td:nth-child(2) {
    padding-left: 5px;
}
.c_us td:nth-child(2):hover {
    color: blue;
}
#bottom_space {
    height: 100px;
}

#select_purchase {
    position: relative;
}