body
{
    width: 100vw;
    font-family: "Arial";
    font-size: 1.5vw;
}

p
{
    line-height: 1.7vw;
    margin: 1.25vw 1.25vw 0 1.25vw;
}

.underline
{
    text-decoration: underline;
    text-decoration-color: #E51937;
    text-underline-offset: 0.5625vw;
}

h1
{
    font-size: 3.125vw;
}


h2
{
    overflow: visible;
    margin: 1.25vw 1.25vw 0 1.25vw;
    font-size: 2.1875vw;
    font-family: "Encode Sans Condensed";
    font-weight: 700;
}

h3
{
    margin: 1.25vw 1.25vw 0 1.25vw;
    font-size: 2vw;
    font-family: "Encode Sans Condensed";
    font-weight: 700;
}

h4
{
    margin: 1.25vw 1.25vw 0 1.25vw;
    font-size: 1.75vw;
    font-family: "Encode Sans Condensed";
    font-weight: 700;
}

h5
{
    margin: 1.25vw 1.25vw 0 1.25vw;
    font-size: 2.25vw;
    font-family: "Encode Sans Condensed";
    font-weight: 700;
}

ul.post.content
{
    padding: 0 0 0 1.25vw;
}

li.post.content
{
    overflow: visible;
}

header
{
    z-index: 10;
    position: fixed;
    overflow: hidden;
    top: 0;
    left: 0;
    width: 100vw;
}

div.header
{
    background-color:#0A2A47;
    margin: auto;
    width: 100vw;
    height: 5vw;
    min-height: 60px;
    overflow: hidden;
}

a.header.button.blue
{
    color: #7AF;
}

a.header.button.green
{
    color: #7FA;
}

a.header.button.white
{
    color: #EEE;
}

a.header.button
{
    float: right;
    display: block;
    margin: max( 0.75vw, 1px ) 0.75vw;
    width: 12vw;
    min-width: 175px;
    height: 2vw;
    min-height: 28.5px;
    border-radius: 0.625vw;
    border: 1px solid #000;
    box-shadow: 0 2px 7px 1px rgba( 0, 0, 0, 0.5 );
    overflow: visible;
}

img.header.icon
{
    float: left;
    width: 1.6vw;
    min-width: 22.5px;
    height: 1.6vw;
    min-height: 22.5px;
    margin: max( 0.2vw, 3px ) max( 0.4vw, 6px );
}

span.header.label
{
    float: left;
    margin: max( 0.2vw, 3px );
    font-family: "Arial";
    font-size: max( 1.6vw, 22.5px );
    line-height: max( 1.6vw, 22.5px );
    font-weight: bold;
}

span.header.info
{
    position: absolute;
    top: 32px;
    left: 0;
    width: 18.75vw;
    min-width: 175px;
    font-family: "Encode Sans Condensed";
    font-size: max( 1vw, 12px );
    line-height: max( 1.25vw, 15px );
}

a.header.logo
{
    float: left;
    display: block;
    margin: 0.625vw;
}

img.header.logo
{
    width: 15.5625vw;
    min-width: 217.875px;
    height: 3.75vw;
    min-height: 52.5px;
}

main
{
    overflow: hidden;
    width: 100vw;
}

section.top
{
    top: 0;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

div.top.container
{
    margin: 0 auto 6.25vw;
    width: 100vw;
    height: 100vh;
    overflow: visible;
}

div.top.headline
{
    z-index: 9;
    position: absolute;
    width: 100vw;
    top: 14vh;
    margin: 0 0 0 6.25vw;
    color: white;
}

h1.top.headline
{
    z-index: 9;
    opacity: 0;
    filter: blur( 0.8333vw );
    transition: filter 1s ease-in-out;
}

h1.top.headline.show
{
    opacity: 1;
    filter: blur( 0 );
}

h2.top.headline
{
    margin: 0;
    opacity: 0;
    filter: blur( 0.8333vw );
    font-size: 1.5625vw;
    font-family: Poppins;
    transition: filter 1s ease-in-out;
}

h2.top.headline.show
{
    opacity: 1;
    filter: blur( 0 );
}

img.top.shop
{
    position: absolute;
    z-index: 0;
    bottom: 5vh;
    object-fit: cover;
    width: 1600px;
    left: calc( ( 100vw - 1600px ) / 2 );
}

img.top.shadow
{
    position: absolute;
    opacity: 0;
    filter: blur( 0.8333vw );
    z-index: 9;
    bottom: -5vh;
    left: 45vw;
    transition: filter 1s ease-in-out;
}
img.top.car
{
    position: absolute;
    opacity: 0;
    filter: blur( 0.8333vw );
    z-index: 10;
    bottom: 5vh;
    left: 51vw;
    transition: filter 1s ease-in-out;
}

img.top.shadow.show,img.top.car.show
{
    opacity: 1;
    filter: blur( 0 );
}

section.about
{
    width: 100vw;
    color: white;
    overflow: hidden;
}

div.about.container
{
    width: 100vw;
    margin: 6.25vw auto;
}

div.about.focus
{
    float: left;
    width: 100vw;
    background-color: black;
    border-radius: 0.625vw;
    margin: 0;
}

img.about.focus
{
    float: left;
    object-fit: cover;
    object-position: -4vw 0;
    width: 15vw;
    height: 20vw;
}

h2.about.focus
{
    float: left;
    width: 80vw;
    margin: 2.1875vw 0 2.1875vw 3.125vw;
}

p.about.focus
{
    float: left;
    width: 74vw;
    margin: 0 0 0 3.125vw;
}

div.about.list
{
    float: left;
    width: 100vw;
}


ul.about.list
{
    margin: 2px auto;
    width: 100vw;
    text-align: center;
}

li.about.list
{
    display: inline-block;
    text-align: center;
    margin: 0;
}

a.about.list
{
    filter: blur( 0.8333vw );
    opacity: 0;
    display: block;
    width: 19vw;
    height: 10vw;
    border-radius: 0.625vw;
    background-color: black;
    text-align: center;
    transition: filter 0.5s ease-in-out;
    border: 0.1vw solid black;
}

a.about.list.show
{
    filter: blur( 0 );
    opacity: 1;
}


a.about.list:hover,a.about.list.visible
{
    border: 0.1vw solid rgba( 255, 0, 0, .9 );
}

img.about.list
{
    height: 5vw;
    width: 5vw;
    margin: 0.9375vw 2.1875vw 0.5vw;
}

h3.about.list
{
    margin: 0 auto;
    color: white;
    display: block;
    text-align: center;
    font-family: "Encode Sans Condensed";
    font-weight: bold;
    font-size: 1.8vw;
}

a.about.list span.about.list
{
    display: none;
}

a.about.list.selected span.about.list
{
    display: block;
    position: absolute;
    left: 16.5vw;
    top: 0.5vw;
    width: 2vw;
    height: 2vw;
    border-radius: 0.4375vw;
    background-color: #E51937;
    font-family: "Arial";
    font-size: 2vw;
    line-height: 2vw;
    text-align: center;
    text-shadow: 0.0625vw 0.0625vw 0.8333vw black;
}

ul.about.content
{
    width: 100vw;
    height: 35vw;
    background-color: black;
    border-radius: 0.625vw;
    overflow: hidden;
}

li.about.content
{
    display: block;
    width: 100vw;
    height: 35vw;
    filter: blur( 0.8333vw );
    height: 0;
    transition: filter 0.25s ease-in-out;
}

li.about.content.visible
{
    filter: blur( 0 );
    height: 35vw;
    transition: filter 0.5s ease-in-out;
}

h3.about.content
{
    display: block;
    float: left;
    margin: 2vw;
    width: 40vw;
}

p.about.content
{
    display: block;
    float: left;
    clear: left;
    margin: 0 2vw;
    width: 40vw;
}

div.about.content.blog
{
    border-radius: 0.625vw;
    display: block;
    width: 56vw;
    height: 35vw;
    overflow-y: auto;
    overflow-x: hidden;
}

img.about.content
{
    display: block;
    width: 56vw;
    height: 35vw;
    object-fit: cover;
    object-position: -10vw 0;
}

div.about.content.blog > div.post
{
    float: left;
    width: 100vw;
    height: 45.45vw;
    color: white;
    background-color: #222;
}

div.about.content.blog > div.post:nth-child(even)
{
    background-color: #333;
}

div.about.content.blog div.post.top
{
    float: left;
    width: 31.25vw;
    height: 31.25vw;
    text-shadow: 0.0625vw 0.0625vw 0.8333vw black;
}

div.about.content.blog img.post.image
{
    display: block;
    float: left;
    height: 31.25vw;
    width: 31.25vw;
}

div.about.content.blog h3.post.title
{
    margin: 0;
    position: absolute;
    width: 25vw;
    top: 1.5625vw;
    left: 1.5625vw;
    padding: 0.625vw 1.5625vw 2.1875vw;
    font-size: 1.125vw;
    line-height: 1.25vw;
    background-color: rgba( 25, 25, 25, 0.8 );
}

div.about.content.blog p.post.date
{
    margin: 0;
    position: absolute;
    font-size: 1vw;
    top: 3.75vw;
    left: 3.125vw;
}

div.about.content.blog div.post.content
{
    float: left;
    display: inline-block;
    width: 36.25vw;
    height: 30vw;
    margin: 0.625vw;
    overflow-y: auto;
}

section.insurance
{
    width: 100vw;
    color: black;
    overflow: hidden;
}

div.insurance.container
{
    width: 100vw;
    margin: 6.25vw auto;
    background: #FFF;
}

div.insurance.focus
{
    width: 100vw;
    margin: 1.5625vw auto;
}

h2.insurance.focus
{
    margin: 1.5625vw auto;
    width: 90vw;
}

p.insurance.focus
{
    margin: 1.5625vw auto;
    width: 90vw;
}

div.insurance.list
{
    clear: both;
    margin: 0 0 2.5vw 0;
}

ul.insurance.list
{
    margin: auto;
    width: 100vw;
    text-align: center;
}

li.insurance.list
{
    display: inline-block;
    text-align: center;
    margin: 0.625vw;
}

a.insurance.list
{
    display: block;
}

a.insurance.list > img
{
    border: 0.125vw solid #DDD;
    border-radius: 0.75vw;
    width: 17vw;
    height: 10vw;
    transition: border 0.5s ease-in-out;
}

a.insurance.list > img:hover,
a.insurance.list.visible > img
{
    border: 0.125vw solid #000;
}

h3.insurance.list
{
    margin: 0;
    color: #5F5F5F;
    font-size: 1.5vw;
    line-height: 1.75vw;
}

a.insurance.list > span
{
    display: none;
}

a.insurance.list.selected > span
{
    display: block;
    position: absolute;
    left: 15vw;
    top: 0.3125vw;
    width: 1.75vw;
    height: 1.75vw;
    border-radius: 0.4375vw;
    background-color: black;
    font-family: "Arial";
    font-size: 1.75vw;
    line-height: 1.75vw;
    text-align: center;
    text-shadow: 0.0625vw 0.0625vw 0.8333vw black;
    color: white;
}

ul.insurance.content
{
    background: #DDD;
    width: 100vw;
}


li.insurance.content
{
    filter: blur( 0.8333vw );
    height: 0;
    list-style-type: none;
    transition: filter 0.25s ease-in-out;
}

li.insurance.content.visible
{
    filter: blur( 0 );
    height: auto;
    width: 90vw;
    margin: 2vw auto;
    transition: filter 0.5s ease-in-out;
}

h3.insurance.content
{
    margin: 1.5625vw auto;
    width: 90vw;
}

p.insurance.content
{
    margin: 1.5625vw auto;
    width: 90vw;
}

div.insurance.content.blog
{
    height: 4.6875vw;
    margin: 1.25vw 0 0 4.375vw;
    cursor: pointer;
    border-radius: 0.625vw;
    width: 31.25vw;
}

div.insurance.content.blog.expanded
{
    height: 31.25vw;
    margin: 1.25vw 0 0 0;
    width: 68.75vw;
}

div.insurance.content.blog > div.post
{
    background-color: #CCC;
}

div.insurance.content.blog > div.post:nth-child(even)
{
    background-color: #EEE;
}

div.insurance.content.blog > div.post
{
    width: 31.25vw;
    height: 4.6875vw;
}

div.insurance.content.blog > div.post.visible
{
    width: 68.75vw;
    height: 31.25vw;
}

div.insurance.content.blog div.post.top
{
    float: left;
    height: 4.6875vw;
}

div.insurance.content.blog > div.post.visible div.post.top
{
    float: left;
    width: 31.25vw;
    height: 31.25vw;
    text-shadow: 0.0625vw 0.0625vw 0.8333vw black;
    color: white;
}

div.insurance.content.blog img.post.image
{
    float: left;
    width: 4.6875vw;
    height: 4.6875vw;
    margin: 0;
}

div.insurance.content.blog > div.post.visible img.post.image
{
    width: 31.25vw;
    height: 31.25vw;
}

div.insurance.content.blog h3.post.title
{
    float: left;
    margin: 0.625vw 0 0 1.25vw;
    font-size: 1.125vw;
    line-height: 1.5625vw;
    width: 25vw;
}

div.insurance.content.blog > div.post.visible h3.post.title
{
    margin: 0;
    position: absolute;
    width: 25vw;
    top: 1.5625vw;
    left: 1.5625vw;
    padding: 0.625vw 1.5625vw 2.1875vw;
    font-size: 1.125vw;
    line-height: 1.25vw;
    background-color: rgba( 25, 25, 25, 0.8 );
}

div.insurance.content.blog p.post.date
{
    float: left;
    margin: 0 0 0 1.25vw;
    font-size: 0.9375vw;
    line-height: 1.25vw;
    width: 25vw;
}

div.insurance.content.blog > div.post.visible p.post.date
{
    margin: 0;
    position: absolute;
    font-size: 1vw;
    top: 3.75vw;
    left: 3.125vw;
}

div.insurance.content.blog div.post.content
{
    display: none;
}

div.insurance.content.blog > div.post.visible > div.post.content
{
    float: left;
    display: inline-block;
    width: 37.5vw;
    height: 31.25vw;
    overflow-y: auto;
}

section.services
{
    width: 100vw;
    color: white;
    overflow: hidden;
}

div.services.container
{
    width: 100vw;
    margin: 6.25vw auto 3.125vw;
    background-color: black;
}

div.services.focus
{
    width: 100vw;
}

h2.services.focus
{
    margin: 3vw auto;
    width: 90vw;
    overflow: visible;
}

p.services.focus
{
    width: 90vw;
    margin: 1.5625vw auto 3.125vw;
}

ul.services.list.first
{
    width: 98.4375vw;
    margin: 0 0 0 1.5625vw;
    overflow: visible;
}

li.services.list.first
{
    display: inline-block;
    width: 31.25vw;
    margin: 0 1.5625vw 0 0;
    float: left;
    overflow: visible;
}

a.services.list.first
{
    display: block;
}

a.services.list.first > img.services.list.first
{
    float: left;
    width: 31.25vw;
    height: 25vw;
    border-radius: 0.9375vw 0.9375vw 0 0;
    transition: opacity 1s ease-in-out;
}

a.services.list.first.visible > img.services.list.first
{
    filter: blur( 0.3125vw) brightness( 75% );
}

h3.services.list.first
{
    margin: 0;
    border-radius: 0 0 0.9375vw 0.9375vw;
    float: left;
    width: 31.25vw;
    line-height: 3.125vw;
    height: 3.125vw;
    background-color: #111;
    text-align: center;
}

a.services.list.first ~ ul.services.list.second
{
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 0;
    transition: opacity 0.5s linear;
}

a.services.list.first.visible ~ ul.services.list.second
{
    opacity: 1;
    height: 25vw;
    transition: opacity 0.5s linear;
}

li.services.list.second
{
    float: left;
    width: 8.75vw;
    height: 6.5625vw;
    margin: 1.3125vw 0 0 1.25vw;
}

a.services.list.second
{
    display: block;
    width: 8.125vw;
    height: 5.9375vw;
    margin: 0.3125vw;
    background-color: #111;
    border-radius: 0.9375vw;
}

a.services.list.second:hover,a.services.list.second.visible
{
    box-shadow: 0 0.125vw 0.4375vw 0.0625vw rgba(255,0,0,.8);
}

img.services.list.second
{
    margin: 0.625vw 2.5625vw 0;
    width: 3.125vw;
    height: 3.125vw;
}

h4.services.list.second
{
    margin: 0;
    font-size: 1.25vw;
    color: white;
    text-align: center;
}

ul.services.content.first
{
    border-radius: 0.9375vw;
    display: block;
    float: left;
    clear: both;
    width: 100vw;
    margin: 1.5625vw auto;
    background-color: black;
}

li.services.content.first
{
    opacity: 0;
    width: 90vw;
    height: 0;
    margin: 0 auto;
    transition: opacity 1.5s ease-in-out;
}

li.services.content.first.visible
{
    opacity: 1;
    height: auto;
    margin: 1.5625vw auto;
}

h3.services.content.first
{
    margin: 0 0 0 1.25vw;
}

h4.services.content.second
{
    border-left: 0.1875vw solid #E51937;
    border-right: 0.1875vw solid #E51937;
    padding: 0 0.625vw;
    margin: 1.25vw 0.4375vw 0 0.4375vw;
    display: inline-block;
}

a.services.content.second
{
    display: inline-block;
    margin: 1.25vw 1.25vw 0 1.25vw;
    font-size: 1.25vw;
    line-height: 1.5625vw;
    font-family: "Encode Sans Condensed";
}

li.services.content.second
{
    opacity: 0;
    height: 0;
}

li.services.content.second.visible
{
    opacity: 1;
    height: auto;
}

a.services.list.second > span.services.list.second
{
    display: none;
}

a.services.list.second.selected > span.services.list.second
{
    display: block;
    position: absolute;
    left: 6.5625vw;
    top: 0.25vw;
    width: 1.25vw;
    height: 1.25vw;
    border-radius: 0.4375vw;
    background-color: #E51937;
    font-family: "Arial";
    font-size: 0.9375vw;
    line-height: 0.9375vw;
    text-align: center;
    text-shadow: 0.0625vw 0.0625vw 0.8333vw black;
}


div.contact.container
{
    width: 100vw;
    height: 50vw;
    margin: 0 auto;
    background-image: url( "../images/contact.mobile.jpg" );
    background-size: 100vw;
    border-bottom: 0.625vw solid red;
    overflow-y: visible;
    border-radius: 0.9375vw 0.9375vw 0 0;
}

h2.contact.container
{
    display: block;
    width: 100vw;
    margin: 0 auto 1.875vw;
    text-align: center;
    color: white;
}

div.contact.form
{
    position: absolute;
    top: 3vw;
    left: 50vw;
    width: 47vw;
    background-color: white;
    border-radius: 0.625vw;
    box-shadow: 0.0625vw 0.0625vw 0.625vw black;
}

h3.contact.form
{
    margin: 0;
    height: 2.5vw;
    padding: 0.625vw 1.25vw;
    background-color: #222;
    color: white;
}

p.contact.form.sub
{
    font-size: 1.35vw;
    line-height: 1.75vw;
    margin: 0 1.25vw 0 1.25vw;
}

h4.contact.form
{
    margin: 1.25vw 1.25vw 0.125vw 1.25vw;
}

h4.contact.form > a
{
    font-size: 2.25vw;
    text-underline-offset: 0.1875vw;
}

section.map
{
    width: 100vw;
    height: 37.5vw;
    margin: 0 auto;
}

input.map.directions
{
    position: absolute;
    top: 1.5625vw;
    left: 1.5625vw;
    background-color: black;
    border: none;
    box-shadow: 0 0.125vw 0.4375vw 0.0625vw rgba(0,0,0,.3);
    border-radius: 0.8333vw;
    height: 1.5625vw;
    width: 18.75vw;
    padding: 0.8333vw;
    font-family: "Arial";
    font-size: 1.75vw;
    color: white;
}

div.map.directions.zoom
{
    position: absolute;
    right: 1.5625vw;
    padding: 0.5859vw 1.64vw;
    border-radius: 0.625vw;
    background-color: black;
    box-shadow: 0 0.125vw 0.4375vw 0.0625vw rgba(0,0,0,.3);
    font-family: Arial;
    font-weight: bold;
    font-size: 2.5vw;
    color: white;
    cursor: pointer;
    user-select: none;
    user-focus: none;
}

[id="/Map/Directions/ZoomIn"]
{
    bottom: 6.5625vw;
}

[id="/Map/Directions/ZoomOut"]
{
    bottom: 1.5625vw;
}


div.map.directions.link
{
    position: absolute;
    right: 1.5625vw;
    top: 1.5625vw;
}

a.map.directions.link
{
    display: block;
}

img.map.directions.link
{
    margin: 0.3125vw;
    width: 5vw;
    height: 5vw;
    border-radius: 0.625vw;
    box-shadow: 0 0.125vw 0.4375vw 0.0625vw rgba( 0, 0, 0, .3 );
}

div.map.display
{
    width: 100vw;
    height: 37.5vw;
}

div.map.marker.image
{
    float: left;
    width: 3.4375vw;
    height: 3.5vw;
    padding: 0.625vw;
    border-radius: 0.625vw;
    user-select: none;
    user-focus: none;
    background-color: black;
    background-image: url( "../images/logo.carstar.png" );
    background-repeat: no-repeat;
    background-clip: content-box;
    background-position: 0.625vw;
    background-size: 21.5vw 5.1875vw;
}

div.map.marker.text
{
    width: 18vw;
    padding: 0.625vw;
    color: white;
    user-select: none;
    user-focus: none;
}

div.gm-style-iw-chr
{
    display:none;
}

div.gm-style-iw.gm-style-iw-c
{
    padding: 0;
    background-color: black;
    color: white;
}

h4.map.marker
{
    margin: 0;
    font-size: 1.5vw;
}

p.map.marker
{
    font-size: 1.2vw;
    margin: 0.1875vw 0 0 0;
}

section.footer
{
    font-family: "Encode Sans Condensed";
    width: 100vw;
    color: white;
}

div.footer.container
{
    width: 100vw;
    margin: 0 auto;
    background-color: #000;
    height: 47vw;
}

div.footer.certifications.first
{
    background-color: #FFF;
    filter: grayscale(100%)
}

img.footer.certifications.first
{
    height: 5vw;
    width: 56.8125vw;
    margin: 1.25vw 21.5625vw;
}


div.footer.certifications.second
{
    background-color: #FFF;
    filter: grayscale(100%) opacity(0.9);
}

div.footer.certifications.second.inner
{
    margin: 0 auto;
    width: 80vw;
}


img.footer.certifications.second
{
    height: 3.125vw;
    margin: 2.1875vw 0.625vw;
    width: auto;
}

div.footer.navlinks
{
    width: 85vw;
    margin: 0 7.5vw;
}

ul.footer.navlinks
{
    display: block;
    margin: 3.125vw 2vw;
    float: left;
}

li.footer.navlinks
{
    margin: 0.5vw;
}

h3.footer.navlinks
{
    margin: 0;
    font-family: "Encode Sans Condensed";
    font-weight: bold;
    font-size: 2vw;
}

a.footer.navlinks
{
    font-size: 1.75vw;
}

h4.copyright
{
    margin: 1.25vw 0;
    clear: left;
    width: 75vw;
    text-align: center;
    font-size: 1.75vw;
    color: white;
}