div#header {
}

div#poster {
    width: 300px;
    float: left;
}

div#poster div.poster {
}

div#poster div.poster img {
    width: 300px;
    border: 1px solid #ccc;
}

div#poster p.message {
    margin-top: 15px;
    border: 1px solid #ccc;
    background: #efefe6;
    padding: 5px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
}

#poster div.pics {
    margin-top: 15px;
}

#poster div.pics li {
    margin: 0 0 15px;
}

#poster div.pics li h5 {
    font-size: 13px;
    line-height: 1.4;
}

div#info {
    width: 620px;
    float: right;
}

div#info div.basic {
    margin-bottom: 20px;
}

div#info div.basic div.sbbb {
    font-size: 14px;
    font-weight: bold;
}

div#info div.basic h1 {
    font-size: 24px;
    font-weight: bold;
}

div#info div.basic div.info {
    font-size: 105%;
    line-height: 1.4;
}

div#info div.basic div.info span.split {
    color: #666;
    padding: 0 5px;
}

div#info div.programme {
    margin: 25px 0 30px;
}

div#info div.programme h4 {
    font-size: 105%;
}

div#info div.programme div.stage {
    padding: 10px 5px;
    margin: 5px;
    background: transparent url(../media/images/textures/paper.jpg);
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}

div#info div.programme table {
    width: 570px;
    border-collapse: collapse;
    margin: 0 auto;
}

div#info div.programme table caption,
div#info div.programme h4 {
    padding: 4px 0 15px;
    text-align: center;
}

div#info div.programme table td {
    padding-bottom: 8px;
    vertical-align: top;
}

div#info div.programme table td.title,
div#info div.programme table td.title * {
    font-size: 105%;
}

div#info div.programme table td.composer {
    text-align: right;
}

div#info div.programme table td span.en {
    font-family: serif;
    font-style: italic;
    font-size: 95%;
    color: #333;
}

div#info div.programme table td.sub,
div#info div.programme table td.sub * {
    font-size: 90%;
}

div#info div.programme table tr.no_margin td {
    padding-bottom: 2px;
}

div#info div.programme td.etc {
    text-align: right;
}

div#info div.programme ul {
	margin: 0 20px;
}

div#info div.programme ul li {
	margin: 2px 0 12px;
}

div#info div.programme ul li div.title {
	white-space: normal;
	font-size: 115%;
	margin-right: 10px;
	float: left;
}

div#info div.programme ul li div.composer {
	white-space: normal;
	font-size: 100%;
	text-align: right;
	margin-left: 10px;
	float: right;
}

div#info div.programme ul li div.english,
div#info div.programme ul li div.english * {
	font-style: italic;
	font-size: small;
	line-height: 1.6;
	font-family: serif;
}

div#info div.programme ul li div.composer div.english {
	font-size: 90%;
}

div#info div.programme ul li div.remarks,
div#info div.programme ul li div.solist {
	margin-top: 5px;
	margin-left: 10px;
	padding-bottom: 3px;
	color: #333;
	line-height: 1.5;
	font-size: 90%;
}

div#info div.programme ul li div.etc {
    margin-top: 10px;
    text-align: right;
}

div#access {
    margin: 20px 10px;
}

div#access div.left {
    width: 250px;
    float: left;
}

div#access div.right {
    width: 340px;
    float: right;
}

div#access div.access {
    border: 1px solid #ccc;
    padding: 6px;
    margin: 3px 0;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    line-height: 1.4;
}

div#access div.access,
div#access div.access * {
    font-size: 95%;
}

div#access div.access h4 {
    margin-bottom: 4px;
}

div#access div.access div.border {
    margin: 3px 0 5px;
    border-top: 1px dotted #ccc;
}

div#googlemap {
    width: 100%;
    height: 140px;
    border: 1px solid #ccc;
}

div#access div.enlarge {
    text-align: right;
}

div#members {
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.4;
}

div#members table.members {
    width: 100%;
}

div#members table.members td {
    vertical-align: top;
    padding: 0 10px 0 0;
}

div#members table.members td li {
}

div#members table.members td h4 {
    border-bottom: 1px solid #ccc;
    margin-bottom: 3px;
}

div#members table td ul.margin {
    margin-bottom: 1em;
}

div#members table td.extra {
    text-align: right;
}

div#members td div.extra {
    margin-top: 1em;
    text-align: right;
}

div#pictures {
    margin: 20px 0;
    background: #444;
}

div#pictures table {
    border-collapse: collapse;
    background: #444;
    margin: 0 auto;
    border: 10px solid #444;
}

div#pictures table td {
    vertical-align: middle;
    text-align: center;
    width: 130px;
    height: 130px;
    padding: 5px;
}

div#pictures table td.horizontal img {
    width: 130px;
}

div#pictures table td.vertical img {
    height: 130px;
}

p.summary {
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    border: 1px solid #ccc;
    line-height: 1.4;
    padding: 10px;
}

div#info div.programme table.bands {
    margin: 10px auto 20px;
    width: 100%;
}

div#info div.programme table.bands th {
    text-align: left;
}

div#info div.programme table.bands th,
div#info div.programme table.bands td {
    padding: 8px;
}

div#info div.programme table.bands tr.c th,
div#info div.programme table.bands tr.c td {
    background-color: #f0f0f0;
}

div#info div.programme h3 {
    margin: 0 5px;
    font-size: 16px;
}

div#info div.tickets {
    margin: 10px 5px;
    border: 1px solid #a88d58;
}

div#info div.tickets h4 {
    background: #a88d58;
    color: white;
    padding: 5px 10px;
    font-size: 14px;
}

div#info div.tickets h5 {
    font-size: 14px;
    margin: 5px 15px;
}

div#info div.tickets p {
    margin: 5px 25px 10px;
}

div#info div.tickets ul {
    margin: 5px 20px 10px 60px;
}

div#info div.tickets ul li {
    list-style: disc;
    margin: 3px 0;
}

/* -- 2018.09 -- */
.wrapper.main .sizecontainer {
    display: flex;
}
.wrapper #poster {
    flex: 0 0 250px;
    width: auto;
    float: none;
}
.wrapper #info {
    flex: 1 1 auto;
    width: auto;
    margin-left: 30px;
    float: none;
}
.wrapper #access .left,
.wrapper #access .right {
    width: auto;
    float: none;
}

.wrapper #info div.basic div.sbbb {
    font-size: 16px;
}

.wrapper #info div.basic h1 {
    font-size: 28px;
}

.wrapper #info div.programme h3,
.wrapper #info #access h3 {
    font-size: 18px;
    font-weight: bold;
}

.wrapper div#info div.tickets h4 {
    font-size: 16px;
    padding: 10px;
}

.wrapper div#info div.tickets h5 {
    font-size: 16px;
    font-weight: bold;
}

.wrapper div#access div.access, 
.wrapper div#access div.access * {
    font-size: 16px;
}

.wrapper div#info div.programme ul li div.title,
.wrapper div#info div.programme ul li div.composer {
    font-size: 16px;
}

.wrapper .menu_under_title {
    text-align: right;
}
.wrapper .menu_under_title a {
    display: inline-block;
    text-decoration: none;
    border: 1px solid #ccc;
    font-size: 14px;
    padding: 6px 9px;
    border-radius: 3px;
    line-height: 1;
}
.wrapper .menu_under_title a::before {
    font-family: FontAwesome;
    content: "\f0d9";
    padding-right: 5px;
}

@media screen and (max-width: 700px) {
    .wrapper.main .sizecontainer {
        display: block;
    }
    .wrapper #info {
        margin: 20px 0 0;
    }
    .wrapper #poster .poster,
    .wrapper #poster .pics {
        text-align: center;
    }
    .wrapper #info div.programme h3,
    .wrapper #info #access h3 {
        margin: 0;
    }
    .wrapper div#info div.programme div.stage {
        padding: 10px 0;
        margin-left: -10px;
        margin-right: -10px;
    }
    .wrapper div#info div.programme ul {
        margin: 0 10px;
    }
    .wrapper div#info div.programme ul li div.title {
        font-size: 14px;
    }
    .wrapper div#info div.programme ul li div.remarks, 
    .wrapper div#info div.programme ul li div.solist {
        font-size: 13px;
    }
    .wrapper div#info div.programme ul li div.composer {
        font-size: 12px;
    }
    .wrapper div#info div.programme ul li div.english, 
    .wrapper div#info div.programme ul li div.english * {
        font-size: 10px;
    }
    .wrapper div#info div.tickets p {
        margin: 5px 15px 30px;
    }
    .wrapper div#access,
    .wrapper div#info div.tickets {
        margin: 20px 0;
    }
    .wrapper div#info div.tickets ul {
        margin: -20px 10px 20px 40px;
    }
    .wrapper .menu_under_title {
        margin-bottom: 10px;
    }
    
    .wrapper div#members table.members,
    .wrapper div#members table.members tr,
    .wrapper div#members table.members tbody,
    .wrapper div#members table.members th,
    .wrapper div#members table.members td {
        display: block;
    }
    .wrapper div#members table.members {
        padding: 10px;
        box-sizing: border-box;
        font-size: 13px;
        line-height: 1.5;
    }
    .wrapper div#members table.members br {
        display: none;
    }
    .wrapper div#members table.members td {
        padding: 0;
    }
    .wrapper div#members table.members td ul {
        margin: 10px 0 20px;
    }
    
    .wrapper div#members table.members table ul {
        margin: 0;
    }
    .wrapper div#members table.members table td:first-child ul {
        margin-top: 10px;
    }
    .wrapper div#members table.members table td:last-child ul {
        margin-bottom: 20px;
    }
    
    .wrapper div#members table.members h4 {
        font-weight: bold;
    }
    
    .wrapper #pictures {
        overflow: hidden;
    }
    .wrapper #pictures::after {
        content: "";
        display: table;
        clear: both;
    }
    
    .wrapper #pictures table,
    .wrapper #pictures table tbody,
    .wrapper #pictures table tr,
    .wrapper #pictures table th,
    .wrapper #pictures table td {
        display: block;
    }
    .wrapper #pictures table td {
        width: 80px;
        height: 80px;
        padding-bottom: 5px;
        float: left;
    }
    .wrapper #pictures {
        padding-bottom: 5px;
    }
}