/* =========================
   GLOBAL
========================= */

body{
margin:0;
font-family:Inter,sans-serif;
}

/* =========================
   HERO (MOBILE FIRST)
========================= */
/* TOP BAR */
.logo-header{
color: #1e247e;
text-decoration: none;
text-shadow: 3px 3px #dbe7fe;
} 
.logo-footer{
color: white;
text-decoration: none;  
text-shadow: 1px 0px #dbe7fe;
}
.pm-topbar{
background:#2e4b9b;
color:white;
font-size:13px;
padding:6px 0;
}

.pm-topbar a{
color:white;
margin-right:15px;
text-decoration:none;
}

/* NAV */

.pm-nav{
background:white;
border-bottom:1px solid #eee;
}

.pm-nav .nav-link{
font-weight:600;
margin-left:15px;
}

/* HERO */

.pm-hero{
position:relative;
background:url("./img/Royal\ Caribbean.jpg")
center/cover no-repeat;
min-height:420px;
display:flex;
align-items:flex-end;
padding:40px 10px;
}

.pm-hero-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.2);
}

.pm-cards{
position:relative;
z-index:2;
}

/* HERO CARDS */

.pm-hero-card{
background:#e9e9e9f2;
border-radius:12px;
padding:25px;
box-shadow:0 10px 25px rgba(0,0,0,.2);
}

.pm-btn{
background:#2e4b9b;
color:white;
padding:10px 25px;
margin-top:10px;
}

/* MOBILE FIRST */

.pm-hero-card h4{
font-weight:700;
}

/* DESKTOP */

@media(min-width:992px){

.pm-hero{
min-height:520px;
align-items:center;
padding-bottom:0;
}

.pm-hero-card{
padding:35px;
}

}


/* =========================
   NEWS SECTION – MOBILE FIRST
========================= */

.pm-news{
background:#fff;
font-family:Inter,sans-serif;
}

.pm-news-title{
position:relative;
display:inline-block;
padding-bottom:10px; 
}

.pm-news-title:after{
content:'';
position:absolute;
left:0;
bottom:0;
width:40px;
height:4px;
background:#f6b21a;
border-radius:3px;
}

.pm-news-btn{
background:#2e4b9b;
color:white;
padding:10px 22px;
border-radius:6px;
font-size:14px;
}

/* CARD */

.pm-news-card{
background:white;
border-radius:10px;
overflow:hidden;
box-shadow:0 6px 18px rgba(0,0,0,.12);
height:100%;
}

.pm-news-card img{
width:100%;
height:200px;
object-fit:cover;
}

.pm-news-body{
padding:20px;
}

.pm-news-body h5{
font-weight:700;
font-size:16px;
margin-bottom:10px;
color:#2d4895;
}

.pm-news-body p{
font-size:14px;
color:#555;
margin:0;
}

/* TABLET */

@media(min-width:768px){

.pm-news-card img{
height:220px;
}

}

/* DESKTOP */

@media(min-width:992px){

.pm-news-btn{
font-size:15px;
}

.pm-news-body h5{
font-size:17px;
}

}


/* =========================
   ABOUT SECTION
========================= */

.pm-about{
padding:10px 0 0;
font-family:Inter,sans-serif;
}

.pm-about-title{
font-weight:700;
position:relative;
display:inline-block;
padding-bottom:8px;
}

.pm-about-title:after{
content:'';
position:absolute;
left:0;
bottom:0;
width:35px;
height:4px;
background:#f6b21a;
border-radius:3px;
}

.pm-about-text{
max-width:700px;
margin:15px 0 40px;
font-size:15px;
color:#444;
}

/* IMAGE STATS */

.pm-about-bg{
position:relative;
background:url("./img/stats-banner.jpg")
center/cover no-repeat;
padding:60px 0;
}

.pm-about-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.45);
}

.pm-about-bg .container{
position:relative;
z-index:2;
}

.pm-about-bg h3{
font-weight:800;
font-size:32px;
margin-bottom:5px;
}

.pm-about-bg p{
font-size:13px;
margin:0;
}

/* TABLET */

@media(min-width:768px){

.pm-about-bg h3{
font-size:40px;
}

}

/* DESKTOP */

@media(min-width:992px){

.pm-about-bg{
padding:90px 0;
}

.pm-about-bg h3{
font-size:46px;
}

.pm-about-bg p{
font-size:15px;
}

}


.miami-ships {
  padding: 60px 20px;
  background: linear-gradient(135deg, #0f2027, #2c5364);
  color: #fff; 
  
} 
.miami-ships h2 {
    margin-bottom: 30px;
}
.miami-ships p {
    font-size: 14px;
    color: #d1d1d1;
    margin-bottom: 30px;
} 
.ship-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
gap: 20px;
}

.miami-ships .ship-card {
  background: rgba(255,255,255,0.08);
  padding: 25px;
  border-radius: 16px;
  backdrop-filter: blur(10px);
  transition: 0.3s;  
} 


.miami-ships .highlight {
  border: 2px solid #00e0ff;
} 


/* =========================
   CTA
========================= */

.miami-cta-wrap{
padding:40px 15px;
}

.miami-cta{
background:linear-gradient(135deg,#003b6f,#0a7bc2);
border-radius:16px;
padding:40px 25px;
color:white;
text-align:center;
}



/* bottom CTA */
.bottom-banner {
    background: #ff9203;
    border: 2px solid #0a78bc;
    z-index: 10;
    box-shadow: 0 -1px 3px #0a78bc;
    border-radius: 8px;
    padding: 8px 10px;
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    font-weight: bold;
    bottom: 2px;
    left: 1%;
    width: 98%;
    color: #ffffff;
}

.banner-left img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.banner-middle {
    flex: 1;
    text-align: center;
    padding: 0 10px;
    color: #ffffff;
    font-size: 11px;
}

.banner-middle strong {
    display: block;
    font-size: 16px;
    margin-top: 4px;
    color: #ffffff;
}

.banner-middle .discount {
    color: #fff;
    background: #28a745;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
}

.banner-right .call-circle {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #28a745;
    color: #fff;
    font-size: 22px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    text-decoration: none;
}

/* call  */

.callIcon1 {
    position: relative;
    right: 8px;
    top: 1px;
}

.callIcon1 a._phonebox {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background-color: #c60001;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #106e00;
    animation: zoom-in-zoom-out 2s ease-out infinite;
    text-decoration: none;
}

.callIcon1 a {
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    display: block;
    padding-bottom: 1px;
    line-height: 25px;
    position: relative;
    top: -1px;
    z-index: 10;
}

.wifi-symbol {
    display: block;
    position: absolute;
    top: 6px;
    left: 12px;
    display: inline-block;
    height: 36px;
}

.wifi-symbol .wifi-circle.first {
    -o-animation-delay: 800ms;
    -moz-animation-delay: 800ms;
    -webkit-animation-delay: 800ms;
    animation-delay: 800ms;
    width: 15px;
    height: 15px;
    left: 16px;
    top: 0px;
}

.wifi-symbol .wifi-circle {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    display: block;
    width: 100%;
    height: 100%;
    font-size: 21.4285714286px;
    position: absolute;
    bottom: 0;
    left: 0;
    border-color: #fff;
    border-style: solid;
    border-width: 2px 2px 0 0;
    -webkit-border-radius: 0 100% 0 0;
    border-radius: 0 100% 0 0;
    opacity: 0;
    -o-animation: wifianimation 2.5s infinite;
    -moz-animation: wifianimation 2.5s infinite;
    -webkit-animation: wifianimation 2.5s infinite;
    animation: wifianimation 2.5s infinite;
}

.wifi-symbol .wifi-circle.second {
    width: 12px;
    height: 12px;
    -o-animation-delay: 400ms;
    -moz-animation-delay: 400ms;
    -webkit-animation-delay: 400ms;
    animation-delay: 400ms;
    left: 14px;
    top: 5px;
}

.wifi-symbol .wifi-circle.third {
    width: 8px;
    height: 8px;
    left: 12px;
    top: 10px;
}

.wifi-symbol .fourth {
    width: 30px;
    height: 36px;
    background: url(https://www.redumbrellaholidays.com/Content/images/animatePhone.png) left center no-repeat;
    background-size: 20px;
    display: inline-block;
}

@keyframes zoom-in-zoom-out {
    0% {
        transform: scale(1, 1);
    }

    50% {
        transform: scale(1.3, 1.3);
    }

    100% {
        transform: scale(1, 1);
    }
}

@keyframes wifianimation {

    0% {
        opacity: 1;
    }

    5% {
        opactiy: 1;
    }

    6% {
        opactiy: .8;
    }

    100% {
        opactiy: .8;
    }
}

._txtpuk small {
    font-size: 11px;
}

.stickybottom_uk {
    padding-top: 6px;
    padding-bottom: 4px;
}

@media (min-width:500px) {
    .bottom-banner {
        display: none;
    }
}