/**
 *  Gastronovi
 */

/***********************************************
FLOATINGS & CLEARINGS
***********************************************/

.fleft {
    float: left;
}

.fright {
    float: right;
}

.cleft {
    clear: left;
}

.cright {
    clear: right;
}

.cboth {
    clear: both;
}

/* CLEARFIX */

.clearfix::after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

.clearfix {
    display: inline-block;
}

html[xmlns] .clearfix {
    display: block;
}

* html .clearfix {
    height: 1%;
}

* html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}

.clear {
    font-size: 1px;
}

.footer.clearfix::after {
    content: "";
}

/* for IE */

.col_min {
    min-width: 100px;
}

.wraptocenter {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

.wraptocenter * {
    vertical-align: middle;
}

/***********************************************
  Links
***********************************************/

a:link,
a:visited,
a:focus,
a:active {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/***********************************************
BASE
***********************************************/

* {
    margin: 0;
    padding: 0;
}

img {
    border: 0;
}

iframe {
    border: 0;
}

.permeable .imgdiv {
    opacity: 0.7;
    -moz-opacity: 0.7;
    filter: alpha(opacity=70);
}

table {
    width: 100%;
}

/***********************************************
PAGER
***********************************************/

.pager_content {
    padding: 0 3px;
}

.pager_prev {
    background: url(../images/pager_prev.png) 1px 0 no-repeat;
    padding-left: 15px;
}

.pager_first {
    background: url(../images/pager_first.png) 1px 0 no-repeat;
    padding-left: 12px;
}

.pager_next {
    background: url(../images/pager_next.png) 5px 0 no-repeat;
    padding-right: 15px;
}

.pager_last {
    background: url(../images/pager_last.png) 5px 0 no-repeat;
    padding-right: 15px;
}

.pager_deactivate {
    opacity: 0.5;
    -moz-opacity: 0.5;
    filter: alpha(opacity=50);
}

/* Navigation for Gallery, Events etc */

.pager {
    padding-bottom: 2em;
}

.pager_bottom .pager {
    padding-top: 2em;
}

.pager .pager_element {
    display: inline-block;
    zoom: 1;
    /* stylelint-disable-next-line declaration-block-no-duplicate-properties */
    *display: inline;
    padding: 3px 5px;
}

a.more {
    background: url(../images/arrow_right.png) 0 50% no-repeat;
    padding-left: 11px;
}

.moreWrap.white a.more {
    background: url(../images/arrow_right_white.png) 0 50% no-repeat;
}

a.prev,
span.prev {
    background: url(../images/pager_prev.png) 0 50% no-repeat;
    padding-left: 14px;
    margin-right: 0.5em;
}

a.next,
span.next {
    background: url(../images/pager_next.png) 100% 50% no-repeat;
    padding-right: 14px;
    margin-left: 0.5em;
}

a.prev.white,
span.prev.white {
    background: url(../images/pager_prev_white.png) 0 50% no-repeat;
}

a.next.white,
span.next.white {
    background: url(../images/pager_next_white.png) 100% 50% no-repeat;
}

.EventTime {
    float: left;
    width: 7em;
    text-align: center;
}

.EventTime > div {
    padding: 0.2em 0.5em;
    margin: 0;
    margin-bottom: 0.2em;
}

.EventTime .date span {
    font-size: 1.7em;
    line-height: 1em;
}

.EventTime .time span {
    font-size: 0.8em;
}

.EventTime .time,
.EventTime .EventtypePreview {
    margin-top: 0.8em;
}

.EventInfo {
    margin-left: 9em;
}

.EventList .File {
    float: right;
    margin-left: 20px;
    margin-bottom: 20px;
}

.EventDetail .File {
    float: right;
    margin-left: 20px;
    margin-bottom: 20px;
}

/***********************************************
SITEMAP
***********************************************/
.Sitemap ul {
    list-style: none;
}

.Sitemap ul li {
    font-size: 1em;
}

.Sitemap ul li ul li {
    margin-left: 20px;
    font-size: 0.9em;
}

/***********************************************
CONTENT
***********************************************/

h1 {
    font-size: 1.2em;
    text-transform: uppercase;
}

h2 {
    font-size: 1.1em;
}

h3 {
    font-size: 1em;
}

h4 {
    font-size: 0.95em;
}

h5 {
    font-size: 0.9em;
}

h6 {
    font-size: 0.85em;
}

.Site {
    padding-bottom: 3.5ex;
    padding-top: 10px;
}

.Site .description {
    margin-top: 1ex;
}

.SiteContent .File,
.NewsletterItem .File {
    float: right;
    margin-left: 20px;
    margin-bottom: 20px;
}

.File {
    line-height: 0;
}

.SiteContent .File.wide,
.NewsletterItem .File.wide {
    float: none;
    margin-left: 0;
    margin-bottom: 0;
}

.LinkWrap {
    margin-top: 1em;
}

.LinkWrap .Link {
    display: inline-block;
    zoom: 1;
    /* stylelint-disable-next-line declaration-block-no-duplicate-properties */
    *display: inline;
    margin-right: 10px;
}

.LinkWrap .Link a,
.SiteContentLink a.textlink,
.LinkWrap .Link span.textlink,
.SiteContentLink span.textlink {
    vertical-align: 25%;
}

.section .element {
    padding-top: 1em;
    padding-bottom: 1em;
    clear: both;
}

.section .title {
    font-weight: bold;
    padding-bottom: 1em;
}

.section > .element.first {
    padding-top: 0;
}

.element .moreWrap {
    padding-top: 0.5em;
}

.element .backWrap {
    padding-bottom: 2em;
}

.SiteContentDownload .download_description {
    padding-bottom: 0.5em;
}

/* Tooltip */
.tooltipWrapper {
    background-image: none;
    height: auto;
    width: auto;
}

/***********************************************
EVENT
***********************************************/

.Event .title {
    font-size: 1em;
    font-weight: bold;
    padding-bottom: 0.5ex;
}

.Event .time_start,
.Event .time_end {
    margin-bottom: 0.5em;
}

.EventList .moreWrap {
    margin-top: 0;
    text-align: left;
}

.EventtypePreview a {
    text-decoration: none !important;
}

.Event span.time_box {
    display: inline-block;
    zoom: 1;
    /* stylelint-disable-next-line declaration-block-no-duplicate-properties */
    *display: inline;
    margin: 0;
}

/***********************************************
MENUSECTION
***********************************************/

.Menusection .title {
    font-size: 1.7em;
}

.Menusection .description_long {
    padding-top: 2.5ex;
}

.Menusection .description_tax {
    font-size: 0.7em;
    padding-top: 2.5ex;
}

.Menusection .MenusectionMain {
    padding-bottom: 3.5ex;
}

.Menusection .MenusectionSub {
    padding-bottom: 2ex;
}

.Menusection .MenusectionSub .title {
    font-size: 1.2em;
}

.MenusectionSubWrap {
    padding-bottom: 3ex;
}

.MenusectionInfo .MenusectionDownload {
    padding-bottom: 0.5em;
}

.MenusectionInfo .File a {
    vertical-align: 25%;
}

.MenusectionContent {
    padding: 0 0 2ex;
}

.MenusectionPager {
    padding-bottom: 10px;
}

.MenusectionPager .next {
    float: right;
}

.MenusectionPager .prev {
    float: left;
}

.MenusectionPager .validation {
    margin-left: auto;
    margin-right: auto;
}

.MenusectionPager .validation.centered {
    text-align: center;
}

.Menuhint .title {
    font-weight: bold;
    padding-bottom: 0.5ex;
    font-size: 1em;
}

.Menuhint .File {
    padding-bottom: 0.5ex;
}

.Recipe .title {
    font-weight: bold;
    padding-bottom: 0.5ex;
    font-size: 1em;
}

.Recipe .description {
    padding-right: 7em;
}

.Recipe .amount_description {
    padding-bottom: 1ex;
}

.Recipe .price {
    padding-left: 1ex;
}

.Recipe .Additive {
    font-size: 0.6em;
    line-height: 1em;
    vertical-align: top;
}

.Additive.Mark {
    display: inline-block;
}

.Additive.Mark img {
    display: inline-block;
    height: 1em;
}

.Recipe .section {
    float: right;
    text-align: right;
    padding-left: 1ex;
}

.Recipe .RecipeGroup {
    display: block;
    padding-top: 0.5em;
}

.Recipe .RecipeGroup.noPadding {
    padding-top: 0;
}

.Recipe .RecipeGroupTitle,
.Recipe .RecipeGroupRecipe,
.Recipe .RecipeGroupSeparator,
.Recipe .RecipeGroupRecipeTitle,
.Recipe .RecipeGroupRecipeDescription {
    display: block;
}

.Recipe .RecipeGroupTitle {
    font-weight: bold;
}

.Recipe .RecipeGroupSeparator {
    font-style: italic;
}

.Recipe .RecipeGroupRecipe,
.Recipe .RecipeGroupSeparator {
    padding-top: 0.25em;
}

.Recipe .RecipeGroupRecipePrice {
    padding-left: 1ex;
    float: right;
}

.AdditiveWrap {
    padding-top: 4em;
}

.AdditiveWrap div {
    font-size: 0.7em;
    padding-right: 1ex;
}

.RecipeTagcloud {
    text-align: center;
}

.RecipeHighlight .description {
    padding-right: 0;
}

.highlight {
    margin-left: -0.5em;
    margin-right: -0.5em;
    padding: 0.5em;
    margin-bottom: 2ex;
}

.MenusectionOpening .menusection_opening {
    padding-bottom: 0.5em;
}

.MenusectionOpening .menusection_opening:last-of-type {
    padding-bottom: 0;
}

.MenusectionOpening .menusection_opening .days {
    display: table-cell;
}

.MenusectionOpening .menusection_opening .times {
    display: table-cell;
    padding-left: 1ex;
    text-align: right;
    width: 100%;
}

/***********************************************
Social
***********************************************/

.socialshares_button {
    margin-top: 20px;
}

.MenusectionDownload .socialshares_button {
    margin-top: 0;
}

.socialshares_button a {
    vertical-align: 25%;
}

.SocialPostWrap {
    display: inline-block;
    zoom: 1;
    /* stylelint-disable-next-line declaration-block-no-duplicate-properties */
    *display: inline;
}

/***********************************************
Gallery
***********************************************/

.GalleryList .Gallery h3 {
    padding-top: 0.7em;
}

/***********************************************
Opening
***********************************************/

.OpeningException .text {
    font-weight: bold;
}

.OpeningWrap.element {
    width: 300px;
}

table.Opening td.right {
    text-align: right;
}

/***********************************************
Contact
***********************************************/

.AddressMap .section {
    margin-bottom: 20px;
    margin-top: 10px;
    margin-right: 0;
}

.section.AddressDirections .adp-list {
    color: #000;
}

/***********************************************
MOBILE VERSION TEASER
***********************************************/

.mobileversion_logo,
.mobileversion_app {
    height: 64px;
}

.mobileversion_app {
    width: 64px;
    display: inline-block;
    zoom: 1;
    /* stylelint-disable-next-line declaration-block-no-duplicate-properties */
    *display: inline;
}

.mobileversion_logo span.arrow_right {
    vertical-align: 15px;
    margin-left: -6px;
    margin-right: -24px;
}

a.mobileversion_inline.img:hover {
    text-decoration: none;
}

/***********************************************
Fancy
***********************************************/

.fancy {
    overflow: hidden;
}

#fancybox-overlay {
    background-color: #000 !important;
}

#fancybox-content > div {
    max-width: 100%;
}

/***********************************************
Gastronovi
***********************************************/

.gn-control-wrapper {
    height: 45px;
    width: 100%;
    position: fixed;
    bottom: 0;
    z-index: 99999;
    background-color: #e8e7e2;
    border-top: 1px solid #cecdc0;
}

.gn-control-wrapper * {
    font-size: 12px !important;
    font-family: "Trebuchet MS", "Tahoma" !important;
    margin: 0;
    padding: 0;
}

.gn-control {
    padding: 2px 5px;
}

.gn-control-logo {
    background: url(../data/Default/gastronovi/gn_control_logo.png) 0 0 no-repeat;
    width: 23px;
    height: 19px;
    float: left;
    margin-right: 10px;
}

.gn-control-status {
    float: left;
    margin-right: 10px;
}

.gn-control .right {
    float: right;
}

.gn-control .left {
    position: absolute;
    z-index: 20;
    margin: 10px 10px 0;
}

.gn-control .gn-control-infos {
    overflow: hidden;
}

.gn-control .gn-infos-picture {
    float: right;
    margin-left: 5px;
    margin-right: 5px;
    margin-top: 3px;
}

.gn-control .gn-infos-description {
    float: left;
    margin-left: 10px;
    padding: 3px;
    text-align: right;
}

.gn-control .gn-control-buttons {
    float: left;
}

.gn-control-buttons .button {
    height: 22px;
    padding: 3px;
    float: left;
    margin-right: 5px;
}

.gn-control-buttons .button a,
.gn-control-buttons .button a:hover {
    text-decoration: none !important;
}

.gn-control-buttons .button button {
    color: white;
    font-weight: bold;
    background: none repeat scroll 0 0 transparent;
    border: 0 none;
    cursor: pointer;
    margin: 0;
    outline: 0 none;
    overflow: visible;
    padding-left: 20px;
    padding-right: 3px;
    width: auto;
}

.gn-control-buttons .cacheButton {
    background: url("../data/Default/gastronovi/gn_control_btn_orange.gif") repeat-x;
}

.gn-control-buttons .reloadButton {
    background: url("../data/Default/gastronovi/gn_control_btn_black.gif") repeat-x;
}

.gn-control-buttons .refresh {
    background: url("../data/Default/gastronovi/gn_control_icon_refresh.png") 3px 0 no-repeat !important;
}

.gn-control-buttons .reload {
    background: url("../data/Default/gastronovi/gn_control_icon_refresh.png") 3px 0 no-repeat !important;
}

.GastronoviPowered .slogan {
    font-weight: normal;
}

.GastronoviPowered .File {
    float: left;
}

/************
LANGUAGES
************/

.LanguageWrap > div.Language {
    display: inline;
    padding-right: 5px;
    padding-bottom: 5px;
}

.LanguageWrap > div.Language.active {
    opacity: 0.3;
    -moz-opacity: 0.3;
    filter: alpha(opacity=30);
}

/************
inherit
************/

.inheritWrap .field {
    margin-bottom: 2em;
}

/***********************************************
LISTS
***********************************************/

.content_wrapper ul li {
    margin-left: 10px;
}

ol li {
    margin-left: 20px;
}

/***********************************************
FORMS
***********************************************/

.formular_content .description {
    margin-bottom: 20px;
    margin-top: 0;
}

.form-errors {
    display: none;
    margin-bottom: 20px;
    border: 1px solid red;
}

.form-errors li {
    list-style: none;
}

.formular .html {
    padding-bottom: 2em;
}

.formular_finish {
    font-style: italic;
}

.formular ul,
.formular li {
    list-style: none;
}

.formular dl {
    max-width: 400px;
}

.formular dl dt {
    margin-bottom: 6px;
    float: left;
}

.formular dl dd {
    text-align: right;
    margin-bottom: 6px;
    width: auto;
}

.formular .errors li {
    color: #c00;
}

.formular input {
    width: 220px;
    height: 20px;
    border: 1px solid #aaa;
}

.formular textarea {
    width: 220px;
    height: 80px;
    border: 1px solid #aaa;
}

.formular .submit,
form input[type="button"] {
    width: auto;
    padding: 0 10px;
}

.formular #formular_description-label {
    padding-bottom: 2em;
}

.formular dd label {
    text-align: left;
    width: 222px;
    display: inline-block;
}

.formular dd label input[type="checkbox"] {
    width: auto;
    margin-right: 1em;
    height: auto;
}

input,
select,
textarea {
    font-size: inherit;
}

#ui-datepicker-div {
    display: none;
}

.uptodate.element a img,
.newsletter.element a img,
.subscription.element a img,
.mobileversion_logo span img,
.SocialWrap a img {
    opacity: 0.7;
    -moz-opacity: 0.7;
    filter: alpha(opacity=70);
}

.uptodate.element a:hover img,
.newsletter.element a:hover img,
.subscription.element a:hover img,
.mobileversion_logo:hover span img,
.SocialWrap a:hover img {
    opacity: 1;
    -moz-opacity: 1;
    filter: alpha(opacity=100);
}

.SocialWrap {
    overflow: hidden;
}

.selectgroup {
    float: right;
}

#formular_date_until_year-label,
#formular_use_description-label {
    clear: left;
}

.formular fieldset {
    border: 0;
}

.SiteContentOrderform .formular .subtitle {
    margin: 0;
    width: auto;
    text-align: left;
    padding: 0 0 0.5em;
    font-size: 1em;
    font-weight: normal;
}

.SiteContentOrderform .formular span.price {
    display: block;
    float: right;
}

.SiteContentOrderform .formular input,
.SiteContentOrderform .formular textarea {
    width: 200px;
}

.SiteContentOrderform .formular input.submit {
    width: auto;
}

.SiteContentOrderform .formular dl {
    max-width: 100%;
    display: table;
    width: 100%;
}

.SiteContentOrderform #orderform_description-label {
    display: table-row;
}

.SiteContentOrderform #orderform_description-label label {
    display: table-cell;
    padding-bottom: 1.5em;
}

.SiteContentOrderform dl.zend_form > dt {
    display: none;
}

.SiteContentOrderform dl.zend_form > dd {
    display: table-cell;
    width: 45%;
    -webkit-margin-start: 0;
}

.SiteContentOrderform dl.zend_form > dd legend {
    font-size: 1.1em;
    text-align: left;
    padding-bottom: 1em;
}

.SiteContentOrderform dl.zend_form > dd#order-element {
    padding-right: 10%;
    width: 55%;
}

.SiteContentOrderform dl.zend_form fieldset {
    border: 0;
}

.SiteContentOrderform #order-element dt {
    float: right;
    text-align: left;
    min-height: 22px;
    width: 80%;
}

.SiteContentOrderform #order-element dd {
    text-align: left;
    padding-right: 1em;
}

.SiteContentOrderform .recipe {
    display: table-row;
}

.SiteContentOrderform #order-element input {
    width: 15%;
}

.blankWrapper {
    width: 400px;
    margin-left: auto;
    margin-right: auto;
}

.blankWrapper h1 {
    margin-bottom: 0.8em;
}

.blankWrapper h2 {
    margin: 0.6em 0;
}

.blankWrapper .formular dl dd {
    margin-bottom: 15px;
}

#formular_reservation dd p {
    padding-left: 200px;
}

#formular_reservation #code-label {
    font-size: 1.3em;
}

#formular_reservation #code-element input {
    font-size: 1.3em;
}

.newsletter_fallback {
    text-align: center;
    width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding: 10px;
}

.subtitle {
    font-weight: bold;
    margin-bottom: 10px;
}

.event_footer {
    margin-top: 10px;
}

#map_directions {
    background-color: #fff;
}

.searchform dd,
.searchform dt {
    display: inline-block !important;
}

.searchresults {
    margin-top: 20px;
}

.searchresults ul li::before {
    content: "" !important;
    margin-right: 0 !important;
}

.searchresults ul li {
    list-style: none;
    margin-bottom: 10px;
}

.SiteContentCallout.element {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    padding: 0;
    z-index: 99999;
    pointer-events: none;
}

.SiteContentCallout.element .mask {
    width: 100%;
    height: 100%;
    display: block;
    background: #000;
    opacity: 0.3;
    pointer-events: all;
}

.SiteContentCallout.element .callout {
    position: fixed;
    top: 20px;
    left: 20px;
    width: 300px;
    max-width: 75%;
    max-width: calc(100% - 60px);
    max-width: -moz-calc(100% - 60px);
    max-width: -webkit-calc(100% - 60px);
    max-width: -o-calc(100% - 60px);
    display: block;
    padding: 10px;
    z-index: 99999;
    pointer-events: all;
}

.SiteContentCallout.element .callout img {
    max-width: 100%;
}

.SiteContentCallout.element h2.title {
    border: 0;
    font-size: 2em;
    padding: 0;
}

.SiteContentCallout.element .close {
    text-align: right;
    padding-bottom: 0.5em;
}
