
body {
	font-family: sans-serif;
	text-align: center;
	font-size: 12pt;
        margin: 0px;
}

#layoutMain {
	text-align: left;
}

#legacyTitle {
	visibility: hidden;
}

#indexImages a {
	outline: none;
}

.menuUl {
	display: block;
	margin: 0px;
}

.menuUl {
	list-style: none;
}

.menuLink {
	text-decoration: none;
	font-family: sans-serif;
	/*font-family: 'Josefin Sans Std Light', serif;*/
	/*color: #532;*/
	color: #611;
	display: block;
	font-size:11pt;
	font-weight: bold;
	line-height: 22pt;
	padding-left: 30px;
}

.menuLink:hover {
	background: url("../img/circle.png") 15px 12px no-repeat;
}

.menuLink img {
	border: none;
	margin: 3px 4px 3px -4px;
	vertical-align: -2px;
}

.menuSeparatorDiv {
	margin: 1.3ex 0em;
	padding-left: 67px;
}

.menuLinkBottom {
	text-decoration: none;
	color: #411;
	font-family: 'Cuprum', sans-serif;
        margin: 1em 0.55em;
}

.menuLinkBottom:hover {
	text-decoration: underline;
}

.bottomMenuSentinel {
	margin: 2px 10px 2px 5px;
}

.menuLinkSelected {
	color: black;
	font-weight:bold;
}

.menuLinkSelected:first-letter {
	font-size: 14pt;
}

#footer {
	padding: 3px 3em 3px 2em;
	text-align: right;
}

.bottomMenuLink {
	color:black;
}

.clearBoth {
	clear: both;
}

.photo {
	border: 1px black solid;
	margin-bottom: 10px;
}

h2 {
	font-family: sans-serif;
	font-weight: bold;
}

h1, h3, h4 {
	font-family: sans-serif;
	font-weight: bold;
}

ul.featureList {
	color: #422;
	border: 1px #421 solid;
	padding: 7px 10px 7px 25px;
	border-radius: 0.5em;
	background: url("../img/back_marble.png");
}

li.featureList {
	margin-bottom: 4px;
}

img.decorImage {
	position: absolute;
	z-index: -1;
}

a {
	color: darkred;
}

a:hover {
	color: black;
}

#adminLine {

	text-align: right;
	background: url("../img/back_marble.png");
	border: 1px black solid;
	margin-bottom: 1ex;
	padding: 3px 5px;
}

.menuTable {
    width: 100%;
    border-spacing: 0px;
}

.menuTable tr td {
    border-bottom: 1px #999 solid;
    padding: 3px;
}

iframe.map-frame {
    border: 1px gray solid;
    width: 100%;
    height: 480px;
    max-height:100%;
}

/**
 *  Open pop-up menu is shown only in phone layout.
 *  If menu is opened and the the layout changed, open menu should not be
 *  displayed.
 */
.menuOpen {
    display: none;
}

/* Phone or tablet */
@media all and (max-width: 909px) {

    body {
        background: #faf4a6 -webkit-linear-gradient(left, #faf4a6, #feb01c);
        background: #faf4a6 linear-gradient(to right, #faf4a6, #feb01c);
    }

    #layoutMain {
        margin: 2em 1em 1em 1em;
    }

    #simpleLogo {
        text-align: center;
    }

    #simpleLogo img {
        width: 75%;
        max-width: 300px;
    }

    #decorLogo {
        display: none;
    }

    #indexImages {
        text-align: center;
        max-width: 420px;
        margin: 1em auto;
    }

    #layoutMain > img:last-child { /* footer decor */
        display: none;
    }

    .menuUl {
        padding: 0px;
    }
}

/* Phone */
@media all and (max-width: 640px) {

    body {
        position: relative;
    }

    #layoutMenu {
        display: none;
        position: absolute;
        right: 0px;
        width: 12em;
        background: #faf4a6;
        border-left: 2px black solid;
        border-bottom: 2px black solid;
        border-top: 1px black solid;
        border-right: 1px black solid;
        border-bottom-left-radius: 0.5em;
        padding: 1em 0.5em;
        box-shadow: black -5px 2px 10px;
        text-align: left;
    }

    #layoutMenu.menuOpen {
        display: block;
    }

    .menuLink {
        margin-bottom: 0.6em;
    }

    .popUpMenuLine {
        display: block;
        text-align: right;
        background: black -webkit-linear-gradient(left, #faf4a6, black);
        background: black linear-gradient(to right, #faf4a6, black);
        border-bottom: 1px black solid;
        padding: 10px;
    }

    .popUpMenuIcon {
        display: inline-block;
        padding: 8px 5px 5px 5px;
    }

    .popUpMenuIcon img {
        width: 40px;
    }

    .menuLinkBottom {
        display: block;
        margin: 0.5em;
        padding: 0.5em;
        border: 1px black solid;
        border-radius: 0.5em;
        background: url("../img/back_marble.png");
        text-align: center;
    }

    .menuLinkBottomSeparator {
        display: none;
    }

    .bottomMenuSentinel {
        display: none;
    }

    #footer {
        padding: 0px;
        margin: 0px;
    }
}

/* Tablet */
@media all and (min-width: 641px) and (max-width: 909px) {

    #layoutMenu {
        float: left;
        width: 180px;
    }

    #layoutContent {
        float: left;
        width: calc(100% - 220px);
        padding-left: 20px;
        border-left: 1px #da0 solid;
    }

    .popUpMenuLine {
        display: none;
    }

    .menuLink {
        margin-bottom: 0.75em;
    }

    .menuLinkBottom {
        display: inline-block;
    }

    .menuLinkBottom:first-of-type {
        margin-left: 0.3em;
    }

    .menuLinkBottom:last-of-type {
        margin-right: 0.3em;
    }

    .clearBoth {
        height: 0px;
        overflow: hidden;
    }

    #footer {
        padding: 3px;
        border-top: 1px #da0 solid;
    }
}


/* Desktop */
@media all and (min-width: 910px) {

    body {
        background: white url("../img/back0.png");
    }

    #layoutMain {

	width: 900px;
	margin-top: 15px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 10px;
    }

    #layoutTitle {
	height: 122px;
    }

    #simpleLogo {
        display: none;
    }

    #layoutMenu {
	float: left;
	width: 180px;
	padding-top: 20px;
	padding-left: 0px;
	padding-right: 25px
    }

    #layoutContent {
        float: left;
        width: calc(100% - 220px);
    }

    #innerLayout {
            background: white url("../img/back1.png") top left repeat-y;
    }

    #indexText {
            float: left;
            width: 350px;
    }

    #indexText.wide {
            width: 650px;
    }

    #indexImages {
            float: left;
            width: 250px;
            margin-left: 40px;
            margin-top: -60px;
    }

    #indexBottom {
            clear: both;
            padding-top: 1rem;
            margin: 1rem 3rem 0 0;
    }

    .evenPhoto {
	margin-left: 40px;
    }

    .popUpMenuLine {
        display: none;
    }

    iframe.map-frame {
        width: calc(100% - 3em);
    }
}

/* menu */
.daily-menu-box {
    margin: 1rem 0;
}
.daily-menu-box > a {
    font-weight: bold;
}

.others-menu-box {
    margin: 1rem 0;
    line-height: 1.5;
}

.other-menu {
    margin-top: 1rem;
}

.menu-info {
    margin-top: 0.4rem;
    margin-bottom: 1.5rem;
}