/*---- PAYMENTS INTRO PAGE ---- */

.nopadding { padding: 0;}


.payments-intro h3,
.payments-intro p { text-align:center; }



p.warning { background:#405caa; color:white; padding: 3px 14px; display:block;}




.morepay-outer { background:#405caa; padding: 1px;}
.morepay { background:rgb(255,255,255, 0.85); padding: 20px;}

.morepay h3 { margin: 0 0 5px 0; font-size: 19px; }
.morepay p { color:black; }



span.required { float:right; position: absolute; top: 0; right: 0px; }
span.required .fa { font-size: 9px; }

.ui-datepicker { width: 170px; padding: 0;}

table.ui-datepicker-calendar { width: 170px; }


.ui-datepicker th {
    padding: auto;
    text-align: center;
    font-weight: bold;
    border: 0;
}
td, th {
    padding: 4px !important;
    text-align: center;
}


.thumb-thumb { background-size:cover; background-position: center center; height: auto; }
.thumb-thumb img { width: 100%; position: relative; }



/*---- PAYMENT LOGIN PAGE ---- */

.login { max-width: 950px; margin: 0 auto; }



.login label.input {max-width: 100%; width: 100%;}





.vacation p,
.vacation li { font-weight:400; color:#444444; font-size: 14px; font-family:'Montserrat'; }

.vacation li { margin-bottom: 4px; }

.vacation .disclaimer { padding: 10px 15px; }
.vacation .disclaimer p { font-size: 13px; }



.vacation .summary  { margin-bottom: 30px; }
.vacation .summary h1 { margin-top: 0; }
.vacation .summary h2 { font-size: 18px; font-weight: normal; }

.vacation .summary p.v-ship { font-weight:900; text-transform: uppercase; font-size: 15px; }
.vacation .summary p.v-ship span { font-weight:normal; font-style:italic; text-transform:none; }


.vacation .summary .summary-price { font-size: 45px; font-weight: 800; text-align:right; }
.vacation .summary .summary-price span { font-size: 15px; font-style:italic; font-weight: 300; }



.cruise-tabs p { font-size: 16px; position: relative; z-index:8; margin: 0 15px; }
.cruise-tabs a { background:#405caa; color:white; text-decoration: none; padding: 8px 20px; margin: 0 2px; display: inline-block; float:left; }
.cruise-tabs a:hover { box-shadow: none; }
.cruise-tabs a.on { background: white; color:black; border: 1px #cacaca solid; border-bottom: 0px;}


@media only screen and (max-width: 800px) 
{
.cruise-tabs p { font-size: 12px; text-transform:uppercase; }
.cruise-tabs a { padding: 5px 12px; display: inline-block; float:left; }
}

@media only screen and (max-width: 650px) 
{
.cruise-tabs a { float:none; width: 100%; margin-bottom: 2px; }
}








.itin-pic { text-align:center; font-size: 11px; font-weight: normal;}
.itin-pic img { margin-bottom: 4px;}


.vacation .tab-frame { border: 1px #cacaca solid; padding: 30px; margin-top: -1px; position: relative; z-index:7;  }

.itin a { color:black; }
.itin a:hover { box-shadow: none; }

.itin .panel { margin: 0;}
.itin .panel:hover { box-shadow:none;}

.itin .headings .dd,
.itin .headings .poc,
.itin .headings .start,
.itin .headings .end { background: #405caa; color:white; font-weight:bold; text-transform:uppercase; } 

.itin .dd,
.itin .poc,
.itin .start,
.itin .end { float: left; } 





.itin-stop { clear:both; border-bottom: 1px #cacaca solid;}
.itin-stop:hover { background: #f4f4f4;}

.itin .dd,
.itin .poc,
.itin .start,
.itin .end { float: left;  padding: 3px 10px;} 

.itin .dd { width: 15%; }
.itin .poc { width: 45%; }

.itin .start,
.itin .end { width: 20%; }

.itin span { display: none; }





@media only screen and (max-width: 767px) 
{
.itin .headings { display: none;} 
.itin span { display: inline-block; float:left; width: 40%; font-weight:300; text-transform: uppercase; font-size:10px; }

.itin .dd,
.itin .poc,
.itin .start,
.itin .end { width: 50%; } 
	
}


.itin .port-desc { padding: 15px 40px; }
.itin .port-desc p.title { font-size: 17px; font-weight: bold; margin: 0 0 4px 0; }
.itin .port-desc p { font-size: 14px; }

@media only screen and (max-width: 550px) 
{
.itin .dd,
.itin .poc,
.itin .start,
.itin .end { width: 100%; font-size:13px } 
.itin .port-desc { padding: 15px 0px; }

.itin .port-desc p.title { font-size: 14px; }
.itin .port-desc p { font-size: 12px; }



}




.itin #pre_accordion ,
.itin #post_accordion { margin: 25px 0; }

.itin #pre_accordion .panel,
.itin #post_accordion .panel { border: 1px #cacaca solid; margin-bottom: 15px}

.itin #pre_accordion .panel .prepost-title,
.itin #post_accordion .panel .prepost-title { padding: 4px 15px; display:block; font-size: 21px; text-decoration:none; }

.itin #pre_accordion .panel .prepost-title:hover,
.itin #post_accordion .panel .prepost-title:hover { background:#666666; color:white; }


.itin #pre_accordion .panel .prepost-desc,
.itin #post_accordion .panel .prepost-desc { padding: 4px 35px;  }





.phoneapp { text-align:center; font-size: 12px; line-height: 125%; }
.phoneapp img { margin-bottom: 10px; }
.phoneapp a span { font-weight: 800; color:black; display: block; margin: 0; font-size: 13px}
.phoneapp a { text-decoration: none; }
.phoneapp a:hover { text-decoration: none; }

















.v-itin .stop { clear:both; border-bottom: 1px #cacaca solid; padding: 20px; }
.v-itin .stop .image { float:right; width: 30%; margin: 0 0 20px 20px; }
.v-itin .stop .image img { width: 100%; }


.v-itin .stop .day { font-size: 24px; font-weight:bold; font-family:'Montserrat'; margin: 0;}
.v-itin .stop .dates { font-size: 16px; font-style:italic; font-family:'Montserrat'; }
.v-itin .stop .title { font-size: 20px; font-family:'Montserrat'; font-weight:bold; }
.v-itin .stop .teaser { font-size: 16px; font-family:'Montserrat'; font-weight:700; color:black;}
.v-itin .stop .desc { font-size: 14px; font-family:'Montserrat'; }










.ship .shipphoto { margin-bottom: 20px;}
.ship .stats { border: 1px #cacaca solid; padding: 15px; margin-bottom: 20px; }
.ship .stats .col-xs-4 { clear:both; }
.ship .stats .col-xs-8 { text-align:right; }

.ship .stats .col-xs-4,
.ship .stats .col-xs-8 { border-top: 1px #cacaca solid; padding: 5px; font-size: 12px; }
















.shiparea { clear:both; border-top: 1px #cacaca solid; padding: 15px ;}
.shiparea h3 { margin: 20px 0 4px 0; }
.shiparea p.deck { margin: 0 0 6px 0; font-size: 13px; }
.shiparea p { margin: 0; font-size: 15px; }
.shiparea img { margin: 10px;}








.deckplans a,
.deckplans a:hover { box-shadow: none; color:black; display: inline-block; }






.pricing .panel { margin: 0; border-bottom: 1px #cacaca solid; }

.pricing a,
.pricing a:hover { color:black; box-shadow: none; padding: 0;font-family: Montserrat;  margin: 0;}


.pricing .headers { background:#405caa; color:white; line-height: 115%; }
.pricing .headers span { font-size: 10px; font-weight:normal; font-style:italic; line-height: 115%;  }

.pricing .prices span { display:none; text-transform:uppercase; font-size: 11px; font-weight:normal;  }




.pricing .category,
.pricing .price,
.pricing .third,
.pricing .fourth,
.pricing .single,
.pricing .baby,
.pricing .child,
.pricing .status  { float: left; font-family: Montserrat; padding: 8px 10px; font-weight:bold; }

.pricing .prices { clear:both;  }
.pricing .category { width: 34%; text-align:left; }

.pricing .price,
.pricing .third,
.pricing .fourth,
.pricing .single,
.pricing .baby,
.pricing .child,
.pricing .status  { width: 9%; text-align:center; }




.pricing .prices:hover { background:#f4f4f4; }

.pricing .status a { background:black; white-space:nowrap; color:white; padding: 4px 15px; text-decoration:none; border: 1px black solid; }
.pricing .status a:hover { background:white; color:black; }

.pricing .category a { text-decoration:none;  }
.pricing .category a:hover { text-decoration:underline; }



@media only screen and (max-width: 850px) 
{
.pricing .category,
.pricing .price,
.pricing .third,
.pricing .fourth,
.pricing .single,
.pricing .child,
.pricing .baby,
.pricing .status { width: 100%; text-align:right; }
.pricing .prices span { display:inline-block; float:left; width:40%; text-align:left;  }


}






.v-pricing .prices { clear:both; border-top: 1px #cacaca solid;  }


.v-pricing .category,
.v-pricing .price,
.v-pricing .status  { float: left; font-family: Montserrat; padding: 8px 10px; font-weight:bold; }

.v-pricing .category { width: 60%;}
.v-pricing .price { width: 20%;}
.v-pricing .status  { width: 20%; text-align:right; }

















@media only screen and (max-width: 767px) 
{
}


@media only screen and (max-width: 630px) 
{

}




p.final { text-align:center; }

.coupon { border: 1px black dashed; position:relative; padding: 30px 40px 20px 40px; margin: 30px 0;}
.coupon h4 { position: absolute; top: -10px; left: 15px; margin: 0; background: black; padding: 5px 20px; text-transform:uppercase; color:white; font-size: 11px; display: inline-block; }



.rezform { background: #dddddd; padding: 20px 10px;  }
.rezform p.quest { margin: 0 0 2px 0; color:black; font-size: 12px; font-weight:bold; }
.rezform .button { margin: 0; float:none; }






























.recap-title {margin: 50px 0 -15px 30px; }
.recap-title span { background: black; display:inline-block; color:white; padding: 5px 10px; font-weight:bold; letter-spacing: 1px;  }



.recap { border: 1px #cacaca solid; padding: 40px 20px; margin-bottom: 20px; }
.recap p { margin: 3px 0; color:black; font-size: 13px; }
.recap span { font-size: 13px; color:#555555; font-weight:900; }
.recap h3 { margin: 0 0 8px 0; text-align:center; }
.recap .highlight { background: #405caa; margin-bottom: 15px; padding: 10px 0; }
.recap .highlight p,
.recap .highlight p span { color:white }








.price-box { max-width: 760px; margin: 0 auto; border: 1px #cacaca solid; padding: 20px; clear:both; margin-top: 20px;  }

.tbl-pricing { width: 100%; font-size: 12px; border-collapse: collapse;}
.tbl-pricing .tbl-headers .th { float:left; text-align:right; font-weight:bold; border-right: 1px white solid; background:#405caa; color:white; padding: 4px 6px; }


.tbl-pricing .tbl-headers .types { width: 30%;}
.tbl-pricing .tbl-headers .pax { width: 15%;}
.tbl-pricing .tbl-headers .nights { width: 15%;}
.tbl-pricing .tbl-headers .rate { width: 20%;}
.tbl-pricing .tbl-headers .sub { width: 20%;}


.tbl-pricing .tbl-row { border-top: 1px #cacaca solid; }
.tbl-pricing .tbl-row .td { padding: 4px 6px; float:left; }

.tbl-pricing .tbl-row span { display:none; float:left; width: 45%; font-weight: normal; font-size: 10px; }

.tbl-pricing .tbl-row .types { width: 30%; text-align:left; font-weight: bold; }
.tbl-pricing .tbl-row .pax { width: 15%; text-align:right }
.tbl-pricing .tbl-row .nights { width: 15%; text-align:right; }
.tbl-pricing .tbl-row .rate { width: 20%; text-align:right; }
.tbl-pricing .tbl-row .sub { width: 20%; text-align:right; }


.tbl-pricing .tbl-row .grand-subtotal { width: 80%; text-align:right; font-weight: bold; text-transform:uppercase; }
.tbl-pricing .tbl-row .grand-total { width: 20%; text-align:right; font-weight: bold; }





@media only screen and (max-width: 800px) 
{
.tbl-pricing .tbl-headers,
.tbl-pricing .tbl-row .types { display:none;}

.tbl-pricing .tbl-row span { display:block; text-align:left; }


.tbl-pricing .tbl-row .grand-subtotal { width: 40%; text-align:left; font-weight: bold; text-transform:uppercase; }
.tbl-pricing .tbl-row .grand-total { width: 60%; float:right; text-align:right; font-weight: bold; }



.tbl-pricing .tbl-row .pax,
.tbl-pricing .tbl-row .nights,
.tbl-pricing .tbl-row .rate,
.tbl-pricing .tbl-row .sub { width: 100%; float:none; clear:both;}




	
}







.addon-box { max-width: 760px; margin: 0 auto; border: 1px #cacaca solid; clear:both; margin-top: 20px;  }
.addon-box .desc { padding: 20px; }

.addon-box .price-row { clear:both; padding: 10px 5px; background: rgb(0,0,0, 0.15); }
.addon-box .price-row .price { text-align:right; font-size: 17px; }
.addon-box .price-row .formfield-small { width: 100%; }















.payment_type  { margin-bottom: 15px; }
.payment_type .fab { font-size: 30px; margin-top: 30px; }

.card_number .formfield { max-width: 100px; }
.cc_exp { width: 150px; float:left; padding-right: 20px; }






.bookit { font-family: 'Montserrat'; }
.bookit label.select select {  border: 2px #cccccc solid; }
.bookit label.select i { box-shadow: none;  }

.bookit .pax-info {clear:both; background:rgb(0,0,0, 0.05); padding: 15px 0; margin-bottom: 15px; }



.formfield-small { border: 1px #cccccc solid; padding: 3px;  color:black; font-size: 14px; font-weight:normal;}
.formfield { border: 2px #cacaca solid; color:black; padding: 8px; font-size: 16px; font-weight:normal; font-family: 'Montserrat';}
.formhead { padding: 10px 0 2px 15px; text-transform:uppercase; font-size: 12px; font-weight:bold; }
.formlabel { font-weight: bold; font-family: 'Kanit'; font-size: 19px;  }
.formspace { padding-bottom: 15px;}
.formspace span { font-size: 12px; padding: 2px 0; font-weight:bold; color:black;}




.bookit textarea,
.bookit input {width: 100%;}


.bookit .paxinfo { clear:both; display:block; margin-bottom: 1px; padding: 20px; border-top: 1px #cacaca solid; }




@media only screen and (max-width: 800px) 
{

}
