/*------------------------------------------------------------------------------
[Table of custom contents]

1. Body
2. Top menu
3. Logo
4. Search
5. Tables
6. Buttons
7. Tabs
8. Weather
9. Cinema
10. Media
11. Posts
12. Lists
13. Tooltips
14. Forms
15. Webcams
16. Search
17. Wifi Madeira
18. Responsive iframes
19. Sports
20. Reservations
21. News
22. Widgets
23. Events
24. Interstitial banners
------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------
    1. Body
------------------------------------------------------------------------------*/
@import url(//fonts.googleapis.com/css?family=Titillium+Web:300,300italic,400,400italic,700,700italic&display=swap);

nav.top_navigation,
nav.site_navigation {
    text-transform: uppercase;
}
.hide {
    display: none;
}
.center_text {
    text-align: center;
}
.pull_left {
    float: left;
}
.pull_right {
    float: right;
}
.white-text {
    color: #ffffff;
}
.green-text {
    color: #657e3c;
}
.red-text {
    color: #bf210e;
}
.gray-text {
    color: #aaa;
}
.green-background {
    background-color: #8EC022 !important;
}
.gray-background {
    background-color: #aaaaaa !important;
}
.blue-background {
    background-color: #48BEEA !important;
}
.alert_message.blue {
    background-color: #ACDDF3;
    border: 1px solid #89C4F4;
    color: #212735;
}
@media (max-width: 768px) {
    .hide-tablet {
        display: none;
    }
}
@media (min-width: 769px) {
    .show-tablet {
        display: none;
    }
}

/*------------------------------------------------------------------------------
    2. Top menu
------------------------------------------------------------------------------*/
#header_main.fixed {
    z-index: 500;
}
.weather_forecast a {
    color: #ffffff;
}

/*------------------------------------------------------------------------------
    3. Logo
------------------------------------------------------------------------------*/
#site_title a {
    background: transparent url("/assets/images/template/small-logo.png") no-repeat scroll 0 0;
    display: block;
    height: 41px;
    width: 182px;
    margin: 5px 0;
}

/*------------------------------------------------------------------------------
    4. Search
------------------------------------------------------------------------------*/
.tb_widget_search .gsc-search-button, .tb_widget_search .gsc-input {
    border: none;
    padding: 6px 10px 0px;
}
.tb_widget_search input.gsc-search-button {
    height: 30px;
    margin: 0;
    padding: 7px 15px;
    width: 45px;
}
table.gsc-search-box td {
    vertical-align: top !important;
    padding-top: 0;
}
table.gsc-search-box td.gsib_a {
    border-right: medium none;
}
table.gsc-search-box td.gsib_b {
    padding: 0 !important;
}
.gsc-input-box {
    height: 31px !important;
}
.gsc-input {
    height: 27px !important;
}

/*------------------------------------------------------------------------------
    5. Tables
------------------------------------------------------------------------------*/
.table_blue, .table_blue th, .table_blue td {
    border: medium none;
}
.table_blue thead tr th {
    color: #fff;
}
.table_blue tr:nth-child(2n+1) {
    background-color: #fff;
}
.table_blue tr:nth-child(2n) {
    background-color: #efefef;
}
.table_blue thead tr th:nth-child(2n+1) {
    background-color: #ACDDF3;
}
.table_blue thead tr th:nth-child(2n) {
    background-color: #48BEEA;
}
.table_wrapper {
    overflow: auto;
}

/*------------------------------------------------------------------------------
    6. Buttons
------------------------------------------------------------------------------*/
.btn_light_blue {
    background-color: #48beea;
}
.btn_light_blue:hover {
    background-color: #acddf3 !important;
}

/*------------------------------------------------------------------------------
    7. Tabs
------------------------------------------------------------------------------*/
.tab_content .ui-tabs-nav li.ui-state-active a {
    background-color: #ddd;
}
.tab_content .ui-tabs-hide {
    display: none;
}
.tab_content .ui-tabs-nav li {
    padding-bottom: 1px;
}

.tab_content .row {
    margin-left: 0;
    margin-right: 0;
}

/*------------------------------------------------------------------------------
    8. Weather
------------------------------------------------------------------------------*/
.weather .item_thumb {
    width: 128px !important;
}
@media all and (max-width: 992px) {
    .weather .item_thumb {
        float: none !important;
    }
}
.weather .col {
    padding-left: 0 !important;
}
.weather-temperature {
    color: #ffffff;
    background-color: #48BEEA;
    padding: 0 10px;
}
.weather-info {
    font-weight: bold;
}
.weather .category {
    background-color: #48BEEA;
    font-size: 15px;
}
.forecast h4 {
    font-size: 16px !important;
}

@media all and (max-width: 992px) {
    .weather-module .col {
        float: left !important;
        clear: none !important;
    }
    .weather-module .col_3_of_12 {
        width: 50% !important;
    }
}

@media all and (max-width: 768px) {
    .weather-module .col {
        float: none !important;
        clear: both !important;
    }
    .weather-module .col_3_of_12 {
        width: 100% !important;
    }
}

/*------------------------------------------------------------------------------
    9. Cinema
------------------------------------------------------------------------------*/
.movies ul {
    margin-bottom: 0;
}
.movies ul li {
    float: left;
    padding-right: 40px;
    width: 50%;
}
.movies ul i {
    padding-top: 2px;
}
.movies .btn {
    margin-top: 10px;
}
.movies .post {
    margin-bottom: 30px;
}
@media all and (max-width: 992px) {
    .movies ul li {
        float: none;
        padding-right: 0;
        width: 100%;
    }
}
.movie h1 {
    padding-bottom: 30px;
}

/*------------------------------------------------------------------------------
    10. Media
------------------------------------------------------------------------------*/
#gallery_grid .gallery_album .item_thumb .thumb_icon a {
    background-color: #48beea;
}
.multimedia-wrapper .gallery_album {
    min-height: 280px;
}
.multimedia-wrapper .thumb_meta {
    right: 10px;
    left: auto;
}
.calendar-wrapper {
    overflow: auto;
}
.calendar {
    border: none;
    border-collapse: initial;
}
.calendar td i {
    display: none;
}
.calendar .calendar-title {
    text-align: center;
}
.calendar .calendar-previous {
    text-align: right;
}
.calendar th i {
    font-size: 30px;
}
.calendar th {
    border-right: none;
}
.calendar tr td:first-child {
    border-left: 1px solid #eee;
}
.calendar td a {
    position: relative;
    display: block;
}
.calendar-day-title {
    height: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    overflow: hidden;
    background: #48beea;
    color: #ffffff;
    opacity: 0.9;
}
.calendar-day-title span {
    padding: 5px;
    display: block;
}
@media (max-width: 992px) {
    .multimedia-wrapper .gallery_album {
        min-height: auto;
    }
    .calendar td i {
        display: block;
    }
    .calendar img {
        display: none;
    }
}

#lightgallery img {
    width: 100%;
}
#lightgallery a {
    position: relative;
}
#lightgallery a:hover img {
    opacity: 0.3;
}
#lightgallery a:hover .thumb_icon {
    opacity: 1;
}
#lightgallery .thumb_icon {
    left: 50%;
    margin-left: -15px;
    margin-top: -15px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transition: all 0.2s ease 0s;
    z-index: 5;
}
#lightgallery .thumb_icon div {
    background-color: #48beea;
    border-radius: 50%;
    color: #fff;
    display: inline-block;
    font-size: 12px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    width: 30px;
}

.radios-list .item_thumb {
    width: auto !important;
}
.radio-layout {
    padding-bottom: 20px;
}
.radio-layout audio {
    width: 100%;
}

.image-article img {
    width: auto !important;
}
.image-article .entry_media {
    text-align: center;
}
@media (max-width: 767px) {
    .image-article img {
        width: 100% !important;
    }
}

/*------------------------------------------------------------------------------
    11. Posts
------------------------------------------------------------------------------*/
.full_meta {
    height: auto;
}
.item_meta span {
    line-height: 20px;
}
article.post .entry_media .iframe-wrapper {
    position: relative;
    padding-bottom: 56%;
    height: 0;
}
article.post .entry_media .iframe-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 10px);
}

/*------------------------------------------------------------------------------
    12. Lists
------------------------------------------------------------------------------*/
.list_posts .btn {
    margin: 0 5px 10px 0 !important;
}

/*------------------------------------------------------------------------------
    13. Tooltips
------------------------------------------------------------------------------*/
.qtip-default {
    background-color: #ffffff !important;
    border: 1px solid #D9D9D9 !important;
    color: #222;
    font-size: 14px;
}

/*------------------------------------------------------------------------------
    14. Forms
------------------------------------------------------------------------------*/
input[type="submit"] {
    width: 100%;
}
.red-text strong {
    color: #bf210e !important;
}
.regulation-wrapper {
    height: 400px;
    overflow-y: scroll;
    border: 1px solid #ddd;
}
.regulation-content {
    height: auto;
}
.check-regulation {
    margin-right: 10px;
}

/*------------------------------------------------------------------------------
    15. Webcams
------------------------------------------------------------------------------*/
/* webcam default layout */
.grid-webcams-item {
    float: left;
}
.grid-webcams-sizer,
.grid-webcams-item {
    width: 25%;
}
.grid-webcams-item-2x {
    width: 50%;
}
.grid-webcams a {
    display: block;
    position: relative;
}
.grid-webcams img {
    padding: 2px 2px 1px 2px;
    width: auto;
    max-width: 100%;
}
.grid-webcams-item img {
    height: 160px;
    width: 212px;
}
.grid-webcams-item-2x img {
    height: 320px;
    width: 424px;
}
.grid-webcams-name {
    background: #48beea;
    height: 50px;
    position: absolute;
    bottom: 1px;
    left: 2px;
    right: 2px;
    width: 100%;
    z-index: 10;
    overflow: hidden;
    background: #48beea;
    color: #ffffff;
    opacity: 0.9;
    text-align: center;
}
.grid-webcams-name span {
    padding: 5px;
    display: block;
}
@media (max-width: 800px) {
    .grid-webcams-item {
        width: 50%;
    }
    .grid-webcams-item img,
    .grid-webcams-item-2x img {
        height: 320px;
        width: 424px;
    }
}
@media (max-width: 500px) {
    .grid-webcams-item {
        width: 100%;
    }
    .grid-webcams-item img,
    .grid-webcams-item-2x img {
        height: auto;
        width: auto;
    }
}
.grid-webcams .item_thumb .thumb_icon {
    z-index: 5;
    position: absolute;
    margin-left: -13px;
    margin-top: -13px;
    top: 50%;
    left: 50%;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}
.grid-webcams .item_thumb .thumb_icon a {
    height: 29px;
    margin-top: -5px;
}
.grid-webcams .item_thumb .thumb_icon i {
    margin-top: -6px;
    margin-right: -1px;
    margin-left: -1px;
    margin-bottom: -1px;
}
.grid-webcams .thumb_icon_timelapses a {
    border-radius: 8px;
}
.grid-webcams .thumb_icon_timelapses i {
    color: #ff0000 !important;
}
.grid-webcams .thumb_icon_share i {
    color: #CCCCCC !important;
}
.grid-webcams .thumb_icon_map i {
    color: #F2756A !important;
}
/* webcam clean layout */
.clean-webcams-item {
    float: left;
    width: 25%;
}
.clean-webcams img {
    height: 160px;
    width: 212px;
}
.clean-webcams a {
    display: inline-block;
    position: relative;
}
.clean-webcams a:hover .clean-webcams-name {
    background: #acddf3;
}
.clean-webcams-name {
    transition: 0.2s;
    background: #48beea;
    position: absolute;
    bottom: 3px;
    left: 3px;
    right: 3px;
    z-index: 10;
    overflow: hidden;
    color: #ffffff;
    text-align: center;
}
@media (max-width: 1200px) {
    .clean-webcams-item {
        width: 33%;
    }
    .clean-webcams img {
        height: 175px;
        width: 230px;
    }
}
@media (max-width: 992px) {
    .clean-webcams-item {
        width: 50%;
    }
    .clean-webcams img {
        height: 270px;
        width: 360px;
    }
}
@media (max-width: 768px) {
    .clean-webcams-item {
        width: 100%;
    }
    .clean-webcams img {
        height: auto;
        width: 100%;
    }
}
.clean-webcams-item .thumb_icon_timelapses {
    position: absolute;
    top: 45%;
    left: 50%;
    margin-top: -13px;
    margin-left: -13px;
}
.clean-webcams-item .thumb_icon_timelapses i {
    color: #ff0000 !important;
}
/* webcam clean spaces layout */
.clean-spaces-webcams-item {
    float: left;
    width: 24%;
    margin: 2px;
}
.clean-spaces-webcams img {
    height: 160px;
    width: 212px;
}
.clean-spaces-webcams a {
    display: inline-block;
    position: relative;
}
.clean-spaces-webcams .webcams-list-publicity {
    clear: both;
    margin: 2px;
}
.clean-spaces-webcams a:hover .clean-spaces-webcams-name {
    background: #acddf3;
}
.clean-spaces-webcams-name {
    transition: 0.2s;
    background: #48beea;
    position: absolute;
    bottom: 3px;
    left: 3px;
    right: 3px;
    z-index: 10;
    overflow: hidden;
    color: #ffffff;
    text-align: center;
}
@media (max-width: 1200px) {
    .clean-spaces-webcams-item {
        width: 32%;
    }
    .clean-spaces-webcams img {
        height: 175px;
        width: 230px;
    }
}
@media (max-width: 992px) {
    .clean-spaces-webcams-item {
        width: 49%;
    }
    .clean-spaces-webcams img {
        height: 270px;
        width: 360px;
    }
}
@media (max-width: 768px) {
    .clean-spaces-webcams-item {
        width: 100%;
    }
    .clean-spaces-webcams img {
        height: auto;
        width: 100%;
    }
}
.clean-spaces-webcams-item .thumb_icon_timelapses,
.clean-spaces-webcams-item .thumb_icon_share,
.clean-spaces-webcams-item .thumb_icon_map {
    position: absolute;
    top: 45%;
    left: 50%;
    margin-top: -13px;
    margin-left: -13px;
}
.clean-spaces-webcams-item .thumb_icon_timelapses i {
    color: #ff0000 !important;
}
.clean-spaces-webcams-item .thumb_icon_share i {
    color: #CCCCCC !important;
}
.clean-spaces-webcams-item .thumb_icon_map i {
    color: #F2756A !important;
}
/* webcam cut layout */
.cut-webcams-item {
    float: left;
    width: 30%;
    position: relative;
    margin: 0 10px 40px;
}
.cut-webcams img {
    height: 370px;
    width: 500px;
    max-width: 500px !important;
    position: absolute;
    top: -9999px;
    bottom: -9999px;
    left: -9999px;
    right: -9999px;
    margin: auto;
}
.cut-webcams .cut-webcams-link {
    display: block;
    width: 100%;
    height: 370px;
    overflow: hidden;
    position: relative;
}
.cut-webcams-item:hover .cut-webcams-name {
    background: #acddf3;
    color: #ffffff;
}
.cut-webcams-name {
    transition: 0.2s;
    background: #48beea;
    position: absolute;
    bottom: -20px;
    left: 0;
    right: 0;
    z-index: 10;
    overflow: hidden;
    color: #ffffff;
    text-align: center;
}
@media (max-width: 1200px) {
    .cut-webcams-item {
        width: 40%;
    }
}
@media (max-width: 768px) {
    .cut-webcams-item {
        width: 100%;
        margin: 0 0 20px;
    }
    .cut-webcams img {
        height: auto;
        width: 100%;
        max-width: 100% !important;
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        margin: 0;

    }
    .cut-webcams .cut-webcams-link {
        display: inline-block;
        position: relative;
        height: auto;
    }
    .cut-webcams-name {
        bottom: 0;
    }
}
/* webcam timelapses */
.galleria {
    height: 100px;
    background: #000000;
    clear: both;
}
.galleria a.timelapse_play {
    position: absolute;
    top: 0;
    left: 0;
    z-index:2;
    width: 100%;
    height: 100%;
}
.galleria a.timelapse_play i {
    color: #ff0000 !important;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -30px;
    margin-top: -21px;
    font-size: 60px;
}
.galleria-stage img {
    width: 100% !important;
    height: auto !important;
    top: 0 !important;
}
.galleria-stage .galleria-image {
    width: 100% !important;
    height: 100% !important;
}
.timelapses_menu {
    display: none;
}
/* webcam share */
.grid-webcams-share .grid-webcams-item {
    padding: 5px;
}
.grid-webcams-share h3 {
    margin: 20px 0 5px 0;
}
.grid-webcams-share img {
    padding: 0;
}
textarea.webcam-share {
    height: 110px;
    min-height: auto !important;
}
/* webcam clean spaces layout */
.clean-spaces-share .clean-spaces-webcams-item {
    float: left;
    width: 49%;
    margin: 2px;
}
.clean-spaces-share img {
    height: 310px !important;
    width: 415px !important;
}
@media (max-width: 992px) {
    .clean-spaces-share .clean-spaces-webcams-item {
        width: 100%;
    }
    .clean-spaces-share img {
        height: auto !important;
        width: 100% !important;
    }
}
/* webcam map */
#webcams_map {
    width: 100%;
    height: 500px;
    position: relative;
}
.webcams-map #webcams_map {
    margin-bottom: 30px;
}
.info-image iframe {
    width: 208px !important;
}
/* webcam menu */
.webcam_tab a {
    background-color: #48beea !important;
    color: #ffffff;
    display: block;
}
.webcam_tab a:hover {
    background-color: #acddf3 !important;
    color: #ffffff;
}
.webcam_tab li.ui-state-active a {
    background-color: #acddf3 !important;
    color: #ffffff;
    display: none;
}
/* zoom menu */
.zoom_commands {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 300;
}
.webcam_tab .zoom_commands {
    top: 70px !important;
}
.zoom_commands a {
    padding: 0;
    width: 33px;
    height: 33px;
    line-height: 33px;
}

/*------------------------------------------------------------------------------
    16. Search
------------------------------------------------------------------------------*/
#search_content table,
#search_content td {
    border: none !important;
    padding: 0 8px !important;
    margin: 0 !important;
}

/*------------------------------------------------------------------------------
    17. Wifi Madeira
------------------------------------------------------------------------------*/
#wifi_madeira_map {
    width: 100%;
    height: 500px;
    position: relative;
}
.info-image img {
    width: 150px;
}

/*------------------------------------------------------------------------------
    18. Responsive iframes
------------------------------------------------------------------------------*/
.video-container {
    position: relative;
    padding-bottom: 52%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/*------------------------------------------------------------------------------
    19. Sports
------------------------------------------------------------------------------*/
.sports-game-hide-day {
    display: none;
}
.sports-game h4 {
    margin: 0;
}
.sports-game-result {
    padding: 20px 0;
}
.sports-team-1 {
    text-align: right;
    width: 40%;
    float: left;
}
.sports-teams-result {
    text-align: center;
    width: 20%;
    float: left;
}
.sports-team-2 {
    text-align: left;
    width: 40%;
    float: left;
}
@media (max-width: 992px) {
    .sports-game-info div {
        text-align: center;
    }
}
@media (max-width: 768px) {
    .sports-game-info div {
        text-align: left;
    }
    .sports-game-result {
        padding-top: 0px;
    }
    .sports-team-1,
    .sports-teams-result,
    .sports-team-2 {
        float: none;
        text-align: left;
        width: 100%;
    }
}

/*------------------------------------------------------------------------------
    20. Reservations
------------------------------------------------------------------------------*/
.hg-mosaicflow-price {
    z-index: 495 !important;
}
.hg-mosaicflow-content-wrapper {
    height: auto !important;
}
.hg-item-main-benefits-credit-cards {
    height: 75px !important;
    width: 475px !important;
}
@media (min-width: 401px) and (max-width: 767px) {
    .hg-item-main-benefits-credit-cards {
        height: 165px  !important;
        width: 210px  !important;
    }
}
@media (max-width: 400px) {
    .hg-item-main-benefits-credit-cards {
        height: 255px !important;
        width: 135px !important;
    }
}
@media (max-width: 767px) {
    .hg-item-main-benefits-list-item {
        height: 70px !important;
    }
}

/*------------------------------------------------------------------------------
21. News
------------------------------------------------------------------------------*/
.news-list img,
.news-article img {
    width: auto !important;
}
.news-list .entry_media,
.news-article .entry_media {
    text-align: center;
}
@media (max-width: 767px) {
    .news-list img,
    .news-article img {
        width: 100% !important;
    }
}

/*------------------------------------------------------------------------------
22. Widgets
------------------------------------------------------------------------------*/
@media (max-width: 992px) {
    .widgets .col_2_of_12 {
        width: 16.66666667% !important;
    }
    .widgets .col {
        float: left !important;
        clear: none !important;
    }
}
@media (max-width: 767px) {
    .widgets .col_2_of_12 {
        width: 33.333% !important;
    }
}

/*------------------------------------------------------------------------------
23. Events
------------------------------------------------------------------------------*/
.event-article img {
    width: auto !important;
}
.event-article .entry_media {
    text-align: center;
}
@media (max-width: 767px) {
    .event-article img {
        width: 100% !important;
    }
}

/*------------------------------------------------------------------------------
24. Interstitial banners
------------------------------------------------------------------------------*/
#interstitial-banner-wrapper {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1043;
    position: fixed;
    outline: none !important;
    background-color: #ffffff;
    display: none;
}
.interstitial-banner-top {
    text-align: center;
}
.interstitial-banner-content {
    text-align: center;
}