@font-face {
    font-family: 'ciclesemi';
    src: url('fonts/cicle_semi-webfont.eot');
    src: url('fonts/cicle_semi-webfontd41d.eot?#iefix') format('embedded-opentype'),
        url('fonts/cicle_semi-webfont.woff') format('woff'),
        url('fonts/cicle_semi-webfont.ttf') format('truetype'),
        url('fonts/cicle_semi-webfont.svg#ciclesemi') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'ciclefina';
    src: url('fonts/cicle_fina-webfont.eot');
    src: url('fonts/cicle_fina-webfontd41d.eot?#iefix') format('embedded-opentype'),
        url('fonts/cicle_fina-webfont.woff') format('woff'),
        url('fonts/cicle_fina-webfont.ttf') format('truetype'),
        url('fonts/cicle_fina-webfont.svg#ciclefina') format('svg');
    font-weight: normal;
    font-style: normal;

}

body {
    margin: 0;
    padding: 0;
}

.mainBG {

}

.topBG {
    background: url(images/bg01.jpg) no-repeat center top;
}

.mainColumn {
    margin: 0 auto;
    width: 1096px;
    overflow: hidden;
}

.mainColumn .topPic_layerBehind {
    background: url(images/bg02.png) no-repeat;
    width: 1096px;
    height: 154px;
    margin-top: 314px;
    position: absolute;
}

.mainColumn .topPic_layerTop {
    background: url(images/top_pic.jpg) no-repeat;
    width: 1096px;
    height: 315px;
    position: absolute;
}

.mainColumn .menuBar {
    width: 1096px;
    height: 46px;
    position: absolute;
    margin-top: 266px;
    background: url(images/bg03.png);
    border: rgba(255, 255, 255, 0.25) 1px solid;
    border-left: none;
    border-right: none
}

.mainColumn .menuBar .Xspacer {
    width: 19px;
    float: left
}

.mainColumn .menuBar a.menu {
    color: #fff;
    font: 16px/42px ciclesemi, Arial;
    padding: 0 20px;
    text-decoration: none;
    margin: 0 3px;
    background: url(images/bg04.png) top repeat-x;
    float: left;
    height: 46px;
}

.mainColumn .menuBar a.menu:hover {
    background-position: bottom;
    line-height: 46px
}

.mainColumn .menuBar .bubble {
    background: #000;
    width: 220px;
    height: 46px;
    float: right;
}

.mainColumn .menuBar .bubble .singleRow {
    overflow: hidden;
    font: 11px Arial;
    margin-top: 3px;
}

.mainColumn .menuBar .bubble .singleRow .label {
    color: #b31b42;
    text-align: right;
    width: 60px;
    float: left;
}

.mainColumn .menuBar .bubble .singleRow .content,
.mainColumn .menuBar .bubble .singleRow .content a {
    color: #b3b3b3;
    text-align: left;
    float: left;
    font: inherit;
    text-decoration: none
}

.mainColumn .menuBar .bubble .singleRow .content a:hover {
    color: #fff;
}

.mainColumn .topSpacer {
    height: 370px;
}

.mainColumn .page {
    position: relative;
    width: 910px;
    margin: 0 auto;
    color: #514d4e;
    font: 14px/24px Verdana, Tahoma;
    padding-bottom: 50px;
}

.mainColumn .page p {
    padding-left: 20px;
    text-align: justify;
}

.mainColumn .page p.clearTextIndent {
    text-indent: 0
}

.mainColumn .page ul {
    margin: 20px 0 40px 30px;
}

.mainColumn .page ul>li {
    margin-bottom: 14px;
    background: url(images/bullet.gif) no-repeat 0 10px;
    padding-left: 20px;
    list-style-type: none
}

.mainColumn .page ul>li>ul>li {
    background-image: url(images/tick.png);
    padding-left: 25px;
}

.mainColumn .page.testimonials p {
    font-style: italic
}

.mainColumn .page.testimonials .who {
    text-align: right;
    font: normal 14px Times New Roman;
    color: #333;
    border-right: #999 1px solid;
    padding-right: 10px;
}

.mainColumn .page.testimonials .who .name {
    font-size: 18px;
    font-weight: bold;
}

.mainColumn .page.testimonials .who .role {
    color: #a34;
    font-weight: bold
}

h1 {
    font: 42px ciclefina, Arial;
    color: #000;
    text-transform: uppercase;
    height: 54px;
    text-indent: 20px;
    margin: 50px 0 40px 0;
    border-bottom: #ccc 1px solid
}

h2 {
    font: bold 24px ciclefina;
    color: #333;
    border-bottom: #ccc 1px solid;
    margin-top: 50px;
    margin-left: 20px;
    text-shadow: 0 1px 0 #ddd;
    -moz-text-shadow: 0 1px 0 #ddd;
    -webkit-text-shadow: 0 1px 0 #ddd;
}

h3 {
    font: 30px ciclefina;
    color: #C50027;
    border-bottom: #666 1px dotted;
    border-top: #666 1px dotted;
    border-left: #C50027 10px solid;
    text-indent: 10px;
    background: rgba(255, 255, 255, 0.1);
    padding: 10px;
    box-shadow: 0 20px 10px -20px #333;
    -moz-box-shadow: 0 20px 10px -20px #333;
    -webkit-box-shadow: 0 20px 10px -20px #333;
    text-shadow: 0 1px 0 #ddd;
    -moz-text-shadow: 0 1px 0 #ddd;
    -webkit-text-shadow: 0 1px 0 #ddd;
    margin-top: 70px;
}

.footer {
    background: url(images/footer.jpg) center center;
    height: 56px;
    text-align: center;
}

.footer span {
    background: url(images/bullet.gif);
    width: 7px;
    height: 7px;
    float: left;
    margin-top: 18px;
}

.footer a {
    color: #ddd;
    font: 11px Arial;
    text-shadow: 0 -1px 0 #303030;
    -moz-text-shadow: 0 -1px 0 #303030;
    -webkit-text-shadow: 0 -1px 0 #303030;
    float: left;
    float: left;
    margin: 0 10px;
    margin-top: 10px;
    padding: 5px 10px;
    text-decoration: none;
    white-space: nowrap;
}

.footer a:hover {
    color: #fff;
    text-decoration: underline;
}

.mainColumn .page.gallery {
    width: 1050px;
}

.imageLabelContainer {
    width: 290px;
    float: left;
    margin: 25px;
}

.imageLabelContainer p {
    text-align: center !important;
    font-size: 11px;
    text-indent: 0 !important;
    margin: 4px;
}

.imageContainer {
    width: 290px;
    border: #ccc 1px solid;
    border-color: #555 #ccc #eee #ccc;
}

.imageMask {
    width: 290px;
    height: 213px;
    overflow: hidden;
    position: relative;
}

.imageMask a {
    position: absolute;
    width: 290px;
    height: 213px;
    cursor: pointer;
    display: block
}

.imageMask img {
    position: absolute;
    margin-top: 0;
}

.imageMask .innerShadow {
    box-shadow: inset 0 0 20px #000;
    -moz-box-shadow: inset 0 0 20px #000;
    -webkit-box-shadow: inset 0 0 20px #000;
    position: absolute;
    width: 290px;
    height: 213px;
}

.imageMask .overlay1 {
    background: url(images/overlay1.png);
    position: absolute;
    width: 290px;
    height: 213px
}

.imageMask .overlay2 {
    background: url(images/overlay2.png);
    position: absolute;
    width: 290px;
    height: 213px
}

.imageMask .zoom {
    background: url(images/zoom.png) no-repeat bottom right;
    width: 290px;
    height: 213px;
    position: absolute;
    opacity: 0;
    margin: -30px 0 0 -30px;
}

.mainColumn .page.gallery img {
    text-align: left;
}

.page.contact {
    overflow: hidden;
}

.page.contact .singleRow {
    overflow: hidden;
    margin-bottom: 20px;
}

.page.contact .singleRow * {
    float: left;
}

.page.contact .singleRow .label {
    width: 150px;
    padding-right: 20px;
    text-align: right;
    color: #333;
}

.page.contact .singleRow input,
.page.contact .singleRow textarea {
    background: url(images/form_bg.jpg);
    border-width: 1px;
    font: 12px Verdana;
    padding: 9px;
    width: 340px;
    box-shadow: inset 4px 4px 5px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: inset 4px 4px 5px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: inset 4px 4px 5px rgba(0, 0, 0, 0.5);
    color: #ddd;
}

.page.contact .singleRow input[type="submit"] {
    background: #C50027;
    border-radius: 10px;
    width: auto;
    box-shadow: 0 0 10px #ccc;
    color: #eee;
    margin: 10px 5px;
    padding: 10px 20px;
    cursor: pointer;
    border: none;
}

.page.contact .singleRow input[type="submit"]:hover {
    background: #a50017;
}

.page.contact .personalData {
    float: right;
    margin-left: 0px;
    color: #fff;
    font-size: 13px;
    line-height: 18px;
}

.page.contact .textBlock {
    text-align: right;
    border-top: #ccc 1px solid;
    overflow: hidden;
    margin-top: 40px;
}

.page.contact .textBlock .name1 {
    font-size: 22px;
    letter-spacing: -1px;
    color: #999;
    line-height: 30px;
}

.page.contact .textBlock .strapLine {
    color: #666;
    font-size: 12px;
    border-bottom: #ddd 1px solid;
    width: 400px;
    float: right;
    padding-bottom: 10px;
}

.page.contact .textBlock a {
    color: #c33;
}

.page.contact .textBlock a:hover {
    color: #c00;
}

.page.contact .personalData img {
    float: none;
    width: 270px;
    box-shadow: 0 20px 30px -15px #999
}

.page.contact .personalData a {
    color: #fff
}

.page.contact .personalData a:hover {
    color: #a50017;
}

.page.contact .infoMessage{
     text-align: center; border: 1px solid #aaa;
     padding: 1em;
     display: none;
    }
.page.contact .infoMessage.ok{
    background: #dce4ee;
    display: block;
}
.page.contact .infoMessage.error{
    background: #ffbdbd;
    display: block;
}

.confirmation {
    color: #333;
    border-left: #a50017 10px solid;
    border-right: #a50017 10px solid;
    padding-left: 20px;
    text-align: center;
    overflow: hidden;
    border-bottom: #a50017 1px dotted;
    border-top: #a50017 1px dotted;
    padding: 50px 10px;
    border-radius: 20px;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    background: rgba(255, 255, 255, 0.15)
}
@media only screen and (max-width: 1200px) {
    .page{
        max-width: 100vw;
        width: auto;
    }
    .mainColumn .page p {
        
        padding: 0 40px 0 20px;
    }
    .mainColumn {
        margin: 0 auto;
        max-width: 100vw;
        overflow: hidden;
        margin-right: 0px;
        width: auto;
    }
    .mainColumn .topPic_layerBehind {
        background: url(images/bg02.png) no-repeat;
        max-width: 99vw;
        height: 154px;
        margin-top: 314px;
        position: absolute;
        right: 0;
    }
    
    .mainColumn .topPic_layerTop {
        background: url(images/top_pic.jpg) no-repeat;
        max-width: 100vw;
        height: 315px;
        position: absolute;
        right: 0;
    }
    
    .mainColumn .menuBar {
        max-width: 100vw;
        height: auto;
        position: absolute;
        margin-top: 220px;
        background: url(images/bg03.png);
        border: rgba(255, 255, 255, 0.25) 1px solid;
        border-left: none;
        border-right: none
    }
    .menuBar {
        right: 0;
    }
    .footer{
        height: auto;
    }
  }
  @media only screen and (max-width: 500px) {
    .mainColumn .menuBar {
        margin-top: 174px;
    }
  }