body {
    color: #222;
    background: #fff;
    font: 18px / 1.4 "Open Sans", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
    min-width: 320px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

fieldset {
    border:0;
}

#wrapper {
	overflow: hidden;
}

.container {
	max-width: 940px;
	margin: 0 auto;
	padding: 0;
    position:relative;
}

section {
    padding:20px 0;
}

.front section {
    padding:20px;
}

section.gray {
    background:#f8f0e5;
}

section.blue {
    background:#658f8b;
    color:#fff;
}

h1, h2, h3, h4, h5 {
    font-weight: 600;
}

h1 {
    font-size:30px;    
}

h2 {
    font-size:26px;
}

h3 {
    font-size:24px;
}

h4 {
    font-size:20px;
}

h5 {
    font-size:18px;
}

h1.large {
    font-size:40px;
    font-weight:bold;
}

p.large {
    font-size:25px;
}

img {
    max-width:100%;
}

a {
    color:#658f8b;
}

.button
{
    background:#658f8b;
    color:#fff;
    border:1px solid #fff;
    font-weight:bold;
    font-size:16px;
    line-height:100%;
    padding:15px 20px;
    text-transform:uppercase;
    transition: background 100ms;
}

.button:hover
{
    background:#fff;
    color:#658f8b;
    border:1px solid #658f8b;
    text-decoration:none;
}

@media (max-width: 767px) {
    body {
        font-size:16px;
    }

    h1 {
        font-size:24px;    
    }

    h2 {
        font-size:22px;
    }

    h3 {
        font-size:20px;
    }

    h4 {
        font-size:18px;
    }

    h5 {
        font-size:16px;
    }

    h1.large {
        font-size:26px;        
    }

    p.large {
        font-size:20px;
    }

    .mob-hide {
        display:none;
    }
}

.center {
    text-align:center;
}

header {
    background: rgb(9, 31, 80) none repeat scroll 0% 0%;
    color: rgb(255, 255, 255);
    padding:20px 0;
}

header .logo {
    display:inline-block;
    float:left;
}

header nav {
    float: right;
    display:inline-block;
}

header nav ul {    
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
}

header nav ul > li {
    display:inline-block;
    position:relative;
    text-transform:uppercase;
    font-weight:bold;
    font-size:16px;
    margin:0 12px 0 0;
}

header nav ul > li:last-child {
    margin:0px;
}

header nav ul > li > a 
{
    padding:5px 0;
    color:#fff;
}
header nav ul > li > a.active,
header nav ul > li > a:hover {    
    color:#658f8b;
    text-decoration:none;
    border-bottom:3px solid #658f8b;
}

header nav ul > li > ul {
    display:none;
    position: absolute;
    background: rgb(101, 143, 139) none repeat scroll 0% 0%;
    margin: 7px -10px 0px;
    padding: 20px;
    z-index:2;
}
header nav ul > li:hover > ul {
    display:block;
}
header nav ul > li > ul li 
{
    display:block;
    font-size:14px;
    text-transform:none;
    margin:0 0 20px;
}
header nav ul > li > ul li a,
header nav ul > li > ul li a:hover {
    padding: 5px 0;
    color: #fff;
    display: block;
    margin: 0;
    padding: 0;
    white-space: nowrap;
    text-decoration:none;
    border:0;
}


.nav .opener {
	width: 30px;
	height: 22px;
	position: relative;
	text-indent: -9999px;
	overflow: hidden;
	z-index: 1000;
	display: inline-block;
	vertical-align: top;
	display: none;
	padding: 0;
}

.nav .opener:before,
.nav .opener:after,
.nav .opener span {
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	margin-top: 0;
	border-radius: 2px;
	-webkit-transition: all .2s linear;
	transition: all .2s linear;
}

.nav .opener:before,
.nav .opener:after {
	content: "";
	top: 9px;
}

.nav .opener:after {
	top: 18px;
}

.nav .opener:hover {
	background: none;
}

.nav .opener:hover:before,
.nav .opener:hover:after,
.nav .opener:hover span {
	background: #658f8b;
}

.nav.active .opener:before,
.nav.active .opener:after,
.nav.active .opener span {
	background: #658f8b;
}


@media (max-width: 767px) {
    header {
        padding-left:20px;
        padding-right:20px;
    }


    header nav {
        margin:5px 0 0;
    }

    header .logo img {
        width:125px;
    }

    .nav .opener {
        display:inline-block;
    }

	.nav.active .drop {
		opacity: 1;
		visibility: visible;
		height: auto;
		z-index: 999;
	}

	.nav .drop {
		overflow: hidden;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 999;
		opacity: 0;
		visibility: hidden;
		background: #294057;
		-webkit-transition: opacity .25s linear;
		transition: opacity .25s linear;
		height: 0;
		margin: 20px -20px;
	}

    .nav .drop ul {
        padding:20px;
    }

    .nav .drop ul li {
        display:block;
        margin:0 0 10px;
    }
    .nav .drop ul li a {
        display:block;
        width:100%;
    }
    .nav .drop ul li a.active,
    .nav .drop ul li a:hover {
        border:0;
    }
    .nav .drop ul li ul
    {
        display:none !important;
    }
}


.book-section {
    background: url(/images/templates/bakpic-grande2.jpg) 50% 50% no-repeat;
    background-size: cover;
    padding:20px 0;
}
.book-section .book-form {
    display: block;
    width: 300px;
    font-size:16px;
    color:#fff;
    background: rgba(9, 31, 80, 0.6) none repeat scroll 0% 0%;
    padding:15px 20px;
}
.book-section .book-form fieldset {
    margin:0;
    padding:0;
}
.book-section .book-form label {
    display:block;
    font-weight:bold;
    line-height:100%;
    width:100%;
    padding:0 0 7px;
}
.book-section .book-form .row-holder {
    width:100%;
}
.book-section .book-form .row-holder:after {
    display:block;
    content:'';
    clear:both;
}
.book-section .book-form .row-holder .column {
    float:left;
}
.book-section .book-form .row-holder .column.md {
    clear:both;
    width:140px;
    margin:0 0 15px;
}
.book-section .book-form .row-holder .column.sm {
    width:100px;    
    margin:0 0 20px 15px;
}
.book-section .book-form .row-holder .column.lg {
    clear:both;
    width:100%;
    margin:10px 0 0;
}

.book-section .book-form input[type=text],
.book-section .book-form select {
    display:block;
    height:38px;
    font-size:14px;
    line-height:100%;
    font-weight:normal;
    padding:10px 5px;
    background:#fff;
    color:#333;
    width:100%;
    box-sizing:border-box;
    border:0;
}
.book-section .book-form input[type=submit] {
    width: 100%;
    background: rgb(101, 143, 139) none repeat scroll 0% 0%;
    text-align: center;
    border: 0px none;
    font-weight: bold;
    padding: 15px;
    margin: 20px 0px 0px;
    transition: background .3s ease, border .3s ease, color .3s ease;
}

.book-section .book-form input[type=submit]:hover {
    background: #e14610;
}

@media (max-width: 767px) {
    .book-section {
        padding:20px 10px;
    }

    .book-section .book-form {
        margin:0px auto;
    }
}

.book-form.wide
{
    display: block;
    width: 100%;
    font-size:16px;
    color:#fff;
    background: rgba(9, 31, 80, 0.6) none repeat scroll 0% 0%;
    padding:15px 20px;
    margin:0 0 20px;
}
.book-form.wide fieldset {
    margin:0;
    padding:0;
}
.book-form.widelabel {
    display:block;
    font-weight:bold;
    line-height:100%;
    width:100%;
    padding:0 0 7px;
}
.book-form.wide .row-holder {
    width:100%;
}
.book-form.wide .row-holder:after {
    display:block;
    content:'';
    clear:both;
}
.book-form.wide .row-holder .column {
    float:left;
}
.book-form.wide .row-holder .column.md {
    clear:both;
    width:140px;
    margin:0 0 15px;
}
.book-form.wide .row-holder .column.sm {
    width:100px;    
    margin:0 0 20px 15px;
}
.book-form.wide .row-holder .column.lg {
    margin: 0 0px 0px 20px;
}

.book-form.wide input[type=text],
.book-form.wide select {
    display:block;
    height:38px;
    font-size:14px;
    line-height:100%;
    font-weight:normal;
    padding:10px 5px;
    background:#fff;
    color:#333;
    width:100%;
    box-sizing:border-box;
    border:0;
}
.book-form.wide input[type=submit] 
{
    float:right;
    width: 240px;
    background: rgb(101, 143, 139) none repeat scroll 0% 0%;
    text-align: center;
    border: 0px none;
    font-weight: bold;
    padding: 15px;
    margin: -70px 0px 0px;
}

@media (max-width: 767px) {    
    .book-form.wide {
        margin:0px auto;
    }
    
    .book-form.wide .row-holder .column.lg 
    {
        clear:both;
        margin: 0px;
        width:100%;
        margin:0 0 20px;
    }
    
    .book-form.wide .row-holder .column.lg:last-child
    {
        margin:0;
    }

    .book-form.wide input[type=submit] 
    {
        float:none;
        margin:20px 0;
        width:100%;
    }
}

.cars-list {
    margin-top:25px;
    margin-bottom:25px;
}

.gray-box {
    padding:20px;
    background:#e1e1e1;
}
.gray-box > .img:first-child {
    margin:-20px -20px 20px;
    width: calc(100% + 40px);
}
.gray-box > .img img {
    width:100%;
}
.gray-box p {
    font-size:16px;
    margin:10px 0 0;
}
.gray-box > .img + p {
    margin:0;
}

footer {
    background: rgb(35, 35, 35) none repeat scroll 0% 0%;
    color: rgb(255, 255, 255);
    padding:50px 0 100px;
    font-size:16px;
    font-weight:bold;
}

footer a {
    color:#fff;
    text-decoration:none;    
}

footer .footer-contact {
    margin:20px 0 0;
    width:300px;
}

footer .footer-contact > div {
    float:left;
    width:50%;
}
footer .footer-contact > div:last-child {
    text-align:right;
}
footer .social-list {
    float:right;
    padding:0;
    margin:0;
    list-style:none;
}

footer .social-list li {
    display:inline-block;
    margin:0 0 0 50px;
}
footer .social-list li:first-child {
    margin:0;
}

footer .social-list li a {
    display:block;
    width:54px;
    height:54px;
    text-indent:-1000px;
    overflow:hidden;
}

footer .social-list li a.icon-facebook {
    background:url(/images/templates/fb.png) 50% 50% no-repeat;
}
footer .social-list li a.icon-gplus {
    background:url(/images/templates/gplus.png) 50% 50% no-repeat;
}
footer .social-list li a.icon-twitter {
    background:url(/images/templates/tweet.png) 50% 50% no-repeat;
}
footer .social-list li a.icon-instagram {
    background:url(/images/templates/insta.png) 50% 50% no-repeat;
}

footer .footer-link {
    float:right;
    padding:0;
    margin:20px 0 0;
    list-style:none;
}

footer .footer-link li {
    display:inline-block;
    padding:2px 5px;
    border-right:1px solid #fff;
}
footer .footer-link li:last-child {
    border-right:0;
}

@media (max-width: 767px) {
    footer .container
    {
        width:280px;
        padding:0;
        font-size:14px;
    }

    footer .footer-contact {    
        width:280px;
    }

    footer .footer-logo img {
        width:245px;
    }

    footer .social-list {
        margin:20px 0 0;
    }

    footer .social-list li a {
        width:40px;
        height:40px;
        background-size:contain !important;
    }

    footer .social-list li {
        margin:0 0 0 35px;
    }

    footer .footer-link {
        float:none;
        clear:both;
        text-align:center;
        padding:20px 0 0;
    }
}



.box
{
    margin:0 0 20px;
}

.car
{	
	width:100%;
	padding:15px;
	border: 2px solid #dddddd;
	box-sizing:border-box;

}

.car > *
{
	clear:both;
}

.car h2
{
	margin-bottom:0px;
	color:#658f8b;
	line-height:120%;
}

.car h2+div img
{
    vertical-align:middle;
    margin:0 10px 0 0;
}


.car-left
{
	float:left;
	margin:15px 0px 25px 0px;
	width:50%;
	padding-right:20px;
	font-size:14px;
	line-height: 1.25em;
	border-right:1px solid #cccccc;
	box-sizing:border-box;
}

.car-left img
{
    vertical-align:middle;
    margin:0 10px 0 0;
}

.car-right
{
	position:relative;
	left:-1px;
	float:left;
	margin:15px 0px 25px 0px;
	width:50%;
	padding-left:20px;
	font-size:14px;
	border-left:1px solid #cccccc;
	box-sizing:border-box;
}

.box .car
{
    text-align:left;
    position:relative;
    padding-bottom:68px;
}

.box .car .image
{
    height:140px;
    text-align:center;
    margin:0 0 10px;
}

.box .car .image img
{
    max-width:100%;
    max-height:140px;
}

.box .car .button
{
    display:block;
    text-align:center;    
    position:absolute;
    bottom:10px;
    left:10px;
    right:10px;
}

.box .car .more-links
{
    text-align: center;
    position: absolute;
    bottom: 65px;
    left: 10px;
    right: 10px;
}
.box .car .more-links a
{
    font-size:14px;
    font-weight:bold;
    text-decoration:none;
    margin:0 7px;
    text-transform:uppercase;
}

.car-right .total 
{
    text-align:left;
}
.car-right .total label
{
    display:block;
}

.car-right .total .value
{
    color:#658f8b;
    font-weight:bold;
    font-size:20px;
}

.car-right .total .value > span
{
    font-size:16px;
    vertical-align:middle;
}

.car-right .total .perday
{
    font-size:13px;
}

.car-description .gallery 
{
    margin-top:20px;
}

.car-description .gallery > div
{
    margin-bottom:10px;
    height:100px;
}

.car-description .gallery > div a
{
    display:block;
}

.car-description .gallery > div img
{
    border:1px solid #658f8b;
}

.option input[type=checkbox]
{
    vertical-align:middle;
    margin:0 10px 0 0;
}

.option select
{
    display:none;
}

.option
{
    border-bottom:1px solid #ddd;
    padding:10px 0;
}

.option:after
{
    display:block;
    content:'';
    clear:both;
}

.option .info
{
    display: inline-block;
    width: 16px;
    height: 16px;
    font-size:12px;
    line-height:16px;
    background: #658f8b;
    color:#fff;
    border-radius:8px;
    overflow: hidden;
    vertical-align: middle;
    margin: 0 10px;
    text-align:center;
}

.option .desc
{
    display:none;
    background: rgb(255, 255, 255) none repeat scroll 0% 0%;    
    position: absolute;
    padding: 10px;
    margin: -5px 0px 0px -20px;
    font-size: 14px;
    border: 1px solid rgb(26, 38, 58);
    width:300px;
}

.option .selection
{
    float:left;
    width: 70%;
}

.option .perday
{
    float: left;
    width: 15%;
    font-style: italic;
    font-size: 14px;
}

.option .price
{
    float: left;
    width: 15%;
    text-align:right;
}

.buttons
{
    width:100%;
    padding:20px 0;
}

.buttons:after
{
    display:block;
    content:'';
    clear:both;
}
.buttons .back
{
    float:left;
}
.buttons .forward
{
    float:right;
}
.buttons .button
{
    min-width:160px
}


@media (max-width: 767px) 
{
    .options
    {
        padding:10px;
    }
    .option .selection
    {
        width:100%;
    }
    .option .perday
    {
        width: 50%;
    }

    .option .price
    {
        width: 50%;        
    }
    
    .buttons
    {
        padding:20px 10px;
    }
    
    .buttons .button
    {
        float:none;
        width:100%;
        margin:10px 0;
    }
}



.booking-summary
{
    text-align:left;
    border: 1px solid #ddd;
    width: 300px;
    float: right;
    box-sizing: border-box;
}

#dc-car-form h2,
.booking-summary h2
{
    font-size: 20px;
    text-transform: uppercase;
    margin:0 0 20px;
}

.booking-summary h3
{
    font-size:16px;
    color:#333;
    margin:0 0 10px;
}

.booking-summary > .section
{
    box-sizing:border-box;
    width:100%;
    padding: 20px;
    border-bottom: 1px solid #ddd;
    color:#333;
    font-size:14px;
}

.booking-summary > .section:last-child
{
    border-bottom:0;
}

.booking-summary > .section .item
{
    margin:0 0 10px;
}

.booking-summary > .section .item:after
{
    clear:both;
    content:'';
    display:block;
}

.booking-summary > .section .item:last-child
{
    margin:0;
}

.booking-summary > .section .item img.car-img
{
    width:100%;
}

.booking-summary > .section .item.car-info img
{
    vertical-align:text-bottom;
    margin:0 5px;    
}

.booking-summary > .section .item.car-info img:first-child
{
    margin:0 5px 0 0;
}

.booking-summary > .section .price
{
    text-align:right;
}

.booking-summary > .section .price label
{
    float:left;
}

.booking-summary > .section .price:after
{
    display:block;
    clear:both;
    content:'';
}

.booking-summary > .section .price span
{
    font-weight:bold;
}
.booking-summary > .section.total .price span
{
    font-size:20px;
    color:#3b5670;
}

.order-summary .booking-summary
{
    float:left;
    margin:0 0 0 20px;
}

.order-summary .booking-summary:nth-child(3n+1)
{
    clear:both;
    margin:0;
}


@media (max-width: 992px) 
{
    .booking-summary
    {
        width:100%;
        margin:0 0 20px;
    }
}


.personal:after
{
    clear:both;
    content:'';
    display:block;
}

.personal > div
{
    float:left;
    width:45%;
    margin:0 5% 0 0;
}

.personal > div:nth-child(2n+1)
{
    clear:both;
}

.personal > div:nth-child(3)
{
    width:100%;
    margin:10px 0 0;
}

.personal .field
{
    margin:0 0 10px;
}
.personal .field:after
{
    display:block;
    content:'';
    clear:both;
}

.personal .field label
{    
    margin:0 0 5px;
    width:100%;
}
.personal .field input,
.personal .field select,
.personal .field textarea
{    
    width:100%;
    border-radius:5px;
    border:1px solid #ccc;
    padding:5px 10px;
    box-sizing:border-box;    
}

.personal .field .dc-car-required
{ 
    width:100%;    
    font-size:14px;
    color:#f00;
    display:none;
}


#booking-container 
{
       display: block;
    width: 100%;
    height:100%;
}

#booking-container .book-form {
    display: block;
    width: 100%;
    height:100%;
    font-size:16px;
    color:#fff;
    background: rgba(9, 31, 80, 0.6) none repeat scroll 0% 0%;
    padding:15px 20px;
}
#booking-container .book-form fieldset {
    margin:0;
    padding:0;
}
#booking-container .book-form label {
    display:block;
    font-weight:bold;
    line-height:100%;
    width:100%;
    padding:0 0 7px;
}
#booking-container .book-form .row-holder {
    width:100%;
}
#booking-container .book-form .row-holder:after {
    display:block;
    content:'';
    clear:both;
}
#booking-container .book-form .row-holder .column {
    float:left;
}
#booking-container .book-form .row-holder .column.md {
    clear:both;
    width:140px;
    margin:0 0 15px;
}
#booking-container .book-form .row-holder .column.sm {
    width:100px;    
    margin:0 0 20px 15px;
}
#booking-container .book-form .row-holder .column.lg {
    clear:both;
    width:100%;
    margin:10px 0 0;
}

#booking-container .book-form input[type=text],
#booking-container .book-form select {
    display:block;
    height:38px;
    font-size:14px;
    line-height:100%;
    font-weight:normal;
    padding:10px 5px;
    background:#fff;
    color:#333;
    width:100%;
    box-sizing:border-box;
    border:0;
}
#booking-container .book-form input[type=submit] {
   position: absolute;
    bottom: 20px;
    left: 20px;
    width: 260px;
    background: rgb(101, 143, 139) none repeat scroll 0% 0%;
    text-align: center;
    border: 0px none;
    font-weight: bold;
    padding: 15px;  
}

.car-description h2
{
    margin:0;    
    color: #658f8b;
}

.car-description h2:first-child + p
{
    margin-top:0;
    padding-top:0;
}

.payment-options
{
    display:block;
    width:100%;
    margin:15px 0;
}
.payment-options input[type=radio]
{
    vertical-align:middle;
    margin-right:5px;
}