#travelInsuranceTool { width: 760px; color: #515151; }

.btn { font-size: 14px; cursor: pointer; white-space: nowrap; }
.btn-primary, .btn-default { position: relative; display: inline-block; padding: 9px 25px; border-radius: 5px; margin: 1px; font-weight: bold; }
.btn-primary { border: 1px solid #bd0000; margin: 1px; background-color: #d81e05; color: white; box-shadow: 0 1px 1px #900; }
.btn-default { border: 1px solid #d0d0d0; margin: 1px; background: linear-gradient(to bottom, #fefefe, #ededed); color: #d81e05; box-shadow: 0 1px 1px #666; }
    .btn-primary:hover, .btn-default:hover, .btn-primary:focus, .btn-default:focus { top: 1px; text-decoration: none; }
    .btn-default:hover { background: linear-gradient(to bottom, #ededed, #fefefe); box-shadow: none; }
.btn-primary:hover { box-shadow: 0 -8px 4px -4px #f21b1b inset; }

.info-tip { position: relative; display: inline-block; width: 17px; height: 17px; vertical-align: text-top; }
    .info-tip > a { display: block; width: 100%; height: 100%; background: url('/static-tools/common/slf/icons/slf_icon_info_off.png') no-repeat center center; background-size: contain; }
    .info-tip.open > a { background-image: url('/static-tools/common/slf/icons/slf_icon_info_on.png'); }
    .info-tip > span { position: absolute; display: none; bottom: 30px; left: 9px; width: 218px; padding: 16px; font-size: 0.8125em; font-weight: bold; line-height: 1.2em; text-align: left; background: #fff; border: 1px solid #c1c1c1; box-shadow: 1px 2px 3px rgba(0,0,0,0.15); box-sizing: border-box; z-index: 99; }
    .info-tip.open > span { display: block; }
    .info-tip > span:before { content: ""; position: absolute; bottom: -15px; left: -2px; width: 13px; height: 15px; background: url('/static-tools/common/slf/icons/slf_gui_tooltip_tip.png') no-repeat 0 0; background-size: contain; }
    .info-tip > span a { position: absolute; top: 1px; right: 5px; width: 20px; height: 20px; color: #515151; font-size: 20px; font-weight: normal; line-height: 20px; text-align: right; cursor: pointer; }
        .info-tip > span a:hover, .info-tip > span a:focus { text-decoration: none; }
        .info-tip > span a:before { content: "\d7"; }
    .info-tip > span > span { white-space: nowrap; }
/* Header */
#travelInsuranceTool header { padding: 35px 400px 50px 0; font-size: 42px; color: #d81e05; font-family: Frutiger, Arial, Helvetica, sans-serif; background: url('/static-tools/common/slf/hero/slf_header.jpg') no-repeat right center; }

/* Form */ 
#travelInsuranceTool form { padding: 30px 30px 0 30px; font-size: 1.6em; border: 2px solid #e2e2e2; margin-bottom: 1em; }
    #travelInsuranceTool form h3 { margin: 0 0 30px 0; font-size: 30px; font-weight: normal; line-height: 0.8em; text-align: center; }
#travelInsuranceTool legend, #travelInsuranceTool label { display: inline-block; padding: 0; font-weight: bold; }
#travelInsuranceTool .tripStops { margin-bottom: 36px; }
    #travelInsuranceTool .tripStops label { position: relative; vertical-align: top; display: inline-table; width: 49%; height: 102px; margin: 1px; background: url('/static-tools/common/slf/hero/slf_graphic_trip_single.png') no-repeat right 14px center; background-size: 178px 53px; border: 1px solid #a1a1a1; border-radius: 5px; }
        #travelInsuranceTool .tripStops label:last-of-type { float: right; background-image: url('/static-tools/common/slf/hero/slf_graphic_trip_multiple.png'); }
        #travelInsuranceTool .tripStops label input { position: absolute; top: 50%; left: 12px; z-index: -1; }
        #travelInsuranceTool .tripStops label span { display: table-cell; padding: 0 200px 0 40px; font-weight: normal; vertical-align: middle; }
            #travelInsuranceTool .tripStops label span:before { content: ""; position: absolute; top: 50%; left: 12px; width: 20px; height: 20px; margin-top: -10px; background: url('/static-tools/common/slf/icons/slf_icon_checkbox.png') no-repeat center center; background-size: contain; }
        #travelInsuranceTool .tripStops label input:checked + span:before { background-image: url('/static-tools/common/slf/icons/slf_icon_checkbox_checked.png'); }
        #travelInsuranceTool .tripStops label input:checked + span:after { content: ""; position: absolute; top: -2px; bottom: -2px; left: -2px; right: -2px; border: 2px solid #d81e05; border-radius: 7px; }
        #travelInsuranceTool .tripStops label strong { display: block; font-size: 1.125em; }
#travelInsuranceTool form > label { display: block; }
    #travelInsuranceTool form > label select, #travelInsuranceTool form > label input { width: 310px; height: 30px; padding: 0 0.5em; font-size: inherit; border: 1px solid #a1a1a1; border-radius: 5px; box-sizing: border-box; }
    #travelInsuranceTool form > label span { display: inline-block; width: 380px; }
#travelInsuranceTool fieldset { margin: 26px 0; padding: 0; text-align: right; border: none; }
#travelInsuranceTool legend { float: left; color: inherit; }
#travelInsuranceTool fieldset div { display: inline-block; margin-left: 20px; }
    #travelInsuranceTool fieldset div label span { font-weight: normal; }
    #travelInsuranceTool fieldset div:last-of-type .info-tip span { left: -166px; }
        #travelInsuranceTool fieldset div:last-of-type .info-tip span:before { left: 172px; }
#travelInsuranceTool form > .btn { display: block; margin: 40px auto 0 auto; }
#travelInsuranceTool form > small { display: block; margin: 12px 0; font-size: 0.625em; text-align: center; }
#travelInsuranceTool input[type='radio'][name='coverage'] { z-index: -1; position: relative; left: 0; top: -1px; margin:0;}
    #travelInsuranceTool input[type='radio'][name='coverage']:focus { border: none; }
    #travelInsuranceTool input[type='radio'][name='coverage'] + span { position: relative; }
        #travelInsuranceTool input[type='radio'][name='coverage'] + span::before {content: ""; position: absolute; top: -1.5px;left: -24px;display: block;width: 20px; height: 20px; background-image: url('/static-tools/common/slf/icons/slf_radio.png');}
    #travelInsuranceTool input[type='radio'][name='coverage']:checked + span::before { background-image: url('/static-tools/common/slf/icons/slf_radio_on.png'); }

/* Tables */
#travelInsuranceTool table { width: 100%; table-layout: fixed; border-collapse: collapse; color: #515151; font-size: 1.3em; border-bottom: 2px solid #c1c1c1; }
#travelInsuranceTool caption { margin-bottom: 10px; padding: 30px 0; font-size: 30px; background: #f2f2f2; }
#travelInsuranceTool tbody:last-of-type tr:first-of-type td { border-bottom: 1px solid #c1c1c1; border-top: 1px solid #c1c1c1; }
#travelInsuranceTool tr > *:first-child { width: 180px; box-sizing: border-box; }
#travelInsuranceTool th { font-size: 1.1539em; line-height: 1.1em; }
    #travelInsuranceTool th:first-of-type { position: relative; padding-left: 27px; text-align: left; }
#travelInsuranceTool thead th { height: 64px; padding-top:10px; font-size: 1.385em; vertical-align: top; }
#travelInsuranceTool tbody th { padding-top: 20px; padding-bottom: 16px; }
#travelInsuranceTool th:not(:first-of-type), #travelInsuranceTool td { border-left: 1px solid #c1c1c1; }
    #travelInsuranceTool td[title="included"] { background: url('/static-tools/common/slf/icons/slf_icon_check.png') no-repeat center center; background-size: 12px 9px; }
#travelInsuranceTool tfoot td { padding: 10px 0 20px 0; text-align: center; }
#travelInsuranceTool tfoot tr:last-of-type td { padding-bottom: 30px; }
    #travelInsuranceTool tbody:last-of-type tr:first-of-type td:first-of-type, #travelInsuranceTool tfoot td:first-of-type { border-left: none; }
#travelInsuranceTool tbody:last-of-type tr:first-of-type td:first-of-type { padding: 20px 10px; }
#travelInsuranceTool table .info-tip { position: absolute; display: block; top: 19px; left: 5px; }
    #travelInsuranceTool table .info-tip > span { font-size: 0.867em; }
#travelInsuranceTool > section[data-triptype] > .btn { display: block; margin: 30px auto; }

#travelInsuranceTool > section[data-triptype=''] { display: none; }
#travelInsuranceTool > section table { display: none; }
#travelInsuranceTool > section[data-triptype='single'] table[data-triptype='single'] { display: table; }
#travelInsuranceTool > section[data-triptype='multi'] table[data-triptype='multi'] { display: table; }

/* Tables - clone (just in case) */
.clone { display: none; }

/* Ways to Save */
#travelInsuranceTool aside { padding: 20px; margin-bottom: 40px; background: #f2f2f2; }
    #travelInsuranceTool aside h2 { font-weight: normal; font-size: 30px; text-align: center; }
    #travelInsuranceTool aside ul { display: block; margin: 20px 0 15px 0; overflow: hidden; }
    #travelInsuranceTool aside li { float: left; position: relative; width: 50%; height: 126px; padding: 0 25px 0 70px; font-size: 1.071em; box-sizing: border-box; }
        #travelInsuranceTool aside li:before { content: ""; position: absolute; display: block; top: 0; left: 0; width: 60px; height: 60px; background: url('/static-tools/common/slf/icons/slf_icon_savings.png') #fff no-repeat center center; background-size: 40px auto; border-radius: 60px; }
        #travelInsuranceTool aside li:nth-of-type(2):before { background-image: url('/static-tools/common/slf/icons/slf_icon_companion.png'); }
        #travelInsuranceTool aside li:nth-of-type(3):before { background-image: url('/static-tools/common/slf/icons/slf_icon_family.png'); background-size: 35px auto; }
        #travelInsuranceTool aside li:nth-of-type(4):before { background-image: url('/static-tools/common/slf/icons/slf_icon_leaf.png'); }
    #travelInsuranceTool aside strong { font-size: 1.4em; }
    #travelInsuranceTool aside footer { padding-top: 20px; font-size: 1.8em; font-weight: bold; line-height: 40px; border-top: 1px solid #c1c1c1; }
    #travelInsuranceTool aside .btn { float: right; line-height: 1em; }
#travelInsuranceTool small { display: block; font-size: 1em; }
#travelInsuranceTool small:first-of-type { padding-top: 10px;}
    #travelInsuranceTool small sup { display: inline-block; top: inherit; margin-right: 2px; font-size: 1em; padding-left: 10px; }

/* SLF GLobal CSS Overrides*/
#travelInsuranceTool table tr:nth-child( even ) td { background-color: white;}
#travelInsuranceTool thead th { background-color: white; }