/* =========================================================================== */
/* HIGH-RESOLUTION DISPLAYS                                                    */
/* =========================================================================== */

@media
only screen and (-webkit-min-device-pixel-ratio: 1.25)   ,
only screen and (   min--moz-device-pixel-ratio: 1.25)   ,
only screen and (     -o-min-device-pixel-ratio: 1.25/1) ,
only screen and (        min-device-pixel-ratio: 1.25)   ,
only screen and (                min-resolution: 120dpi) ,
only screen and (                min-resolution: 1.5dppx)  
{ 
    .main ul li {
    background-image: url(/images/ui/bullet_triangle_orange_10x10@2x.png);
    }
    
    .homeIconRow3 > div.individual {
    background-image: url(/images/creative/icon200_level_individual@2x.png);
    }

    .homeIconRow3 > div.company {
    background-image: url(/images/creative/icon200_level_company@2x.png);
    }

    .homeIconRow3 > div.enterprise {
    background-image: url(/images/creative/icon200_level_enterprise@2x.png);
    }
    
    .homeIconRow4 > div.newsletter {
    background-image: url(/images/creative/icon200_newsletter.png);
    }
    
    .homeIconRow4 > div.events {
    background-image: url(/images/creative/icon200_events.png);
    }

    .homeIconRow4 > div.info {
    background-image: url(/images/creative/icon200_info.png);
    }

    .homeIconRow4 > div.support {
    background-image: url(/images/creative/icon200_support.png);
    }

    .homeIconRow5 > div.im {
    background-image: url(/images/creative/icon200_category_im_gray.png);
    }

    .homeIconRow5 > div.bm {
    background-image: url(/images/creative/icon200_category_bm_gray.png);
    }

    .homeIconRow5 > div.ex {
    background-image: url(/images/creative/icon200_category_ex_gray.png);
    }

    .homeIconRow5 > div.ds {
    background-image: url(/images/creative/icon200_category_ds_gray.png);
    }

    .homeIconRow5 > div.qa {
    background-image: url(/images/creative/icon200_category_qa_gray.png);
    }

    .homeIconRow2-1 > div.whatissm {
    background-image: url(/images/creative/icon200_home_whatissm@2x.png);
    }

    .homeIconRow2-1 > div.smrg {
    background-image: url(/images/creative/icon200_home_smrg@2x.png);
    }
    

    div.landing.iconGrid div.boxLink.individual {
    background-image: url(/images/creative/icon200_level_individual@2x.png);
    }

    div.landing.iconGrid div.boxLink.company {
    background-image: url(/images/creative/icon200_level_company@2x.png);
    }

    div.landing.iconGrid div.boxLink.enterprise {
    background-image: url(/images/creative/icon200_level_enterprise@2x.png);
    }
    
    div.landing.iconGrid.contact > div.location {
    background-image: url(/images/creative/icon200_location.png);
    }

    div.landing.iconGrid.contact > div.phone {
    background-image: url(/images/creative/icon200_phone.png);
    }

    div.landing.iconGrid.contact > div.sales {
    background-image: url(/images/creative/icon200_sales-team.png);
    }

    div.landing.iconGrid.contact > div.support {
    background-image: url(/images/creative/icon200_support.png);
    }

    div.landing.iconGrid.contact > div.president {
    background-image: url(/images/creative/icon200_president.png);
    }

    div.landing.iconGrid.contact > div.trainer {
    background-image: url(/images/creative/icon200_trainer.png);
    }

    div.landing.iconGrid.contact > div.coordinator {
    background-image: url(/images/creative/icon200_coordinator.png);
    }

    div.landing.iconGrid.contact > div.creative {
    background-image: url(/images/creative/icon200_creative.png);
    }
    
    div.landing.iconGrid.contact > div.person {
    background-image: url(/images/creative/icon200_person.png);
    }

    div.landing.iconGrid.contact > div.info {
    background-image: url(/images/creative/icon200_info2.png);
    }
    
    .ppDiv ul li {
    background-image: url(/images/ui/bullet_circle_orange_10x10@2x.png);
    }

    .ppDiv ul li ul li {
    background-image: url(/images/ui/bullet_dot_orange_10x10@2x.png);
    }

    .ppDiv .ppContents ul li {
    background-image: url(/images/ui/popup_bullet_10x10@2x.png);
    }
    
}

@media
only screen and (-webkit-min-device-pixel-ratio: 2.25)   ,
only screen and (   min--moz-device-pixel-ratio: 2.25)   ,
only screen and (     -o-min-device-pixel-ratio: 2.25/1) ,
only screen and (        min-device-pixel-ratio: 2.25)   ,
only screen and (                min-resolution: 200dpi) ,
only screen and (                min-resolution: 2.55dppx)  
{ 
    .main ul li {
    background-image: url(/images/ui/bullet_triangle_orange_10x10@4x.png);
    }
    
    div.landing.iconGrid div.boxLink.individual {
    background-image: url(/images/creative/icon200_level_individual@4x.png);
    }

    div.landing.iconGrid div.boxLink.company {
    background-image: url(/images/creative/icon200_level_company@4x.png);
    }

    div.landing.iconGrid div.boxLink.enterprise {
    background-image: url(/images/creative/icon200_level_enterprise@4x.png);
    }
    
    div.landing.iconGrid div.boxLink.individual {
    background-image: url(/images/creative/icon200_level_individual@2x.png);
    }

    div.landing.iconGrid div.boxLink.company {
    background-image: url(/images/creative/icon200_level_company@2x.png);
    }

    div.landing.iconGrid div.boxLink.enterprise {
    background-image: url(/images/creative/icon200_level_enterprise@2x.png);
    }
    
    div.landing.iconGrid.contact > div.location {
    background-image: url(/images/creative/icon200_location@2x.png);
    }

    div.landing.iconGrid.contact > div.phone {
    background-image: url(/images/creative/icon200_phone@2x.png);
    }

    div.landing.iconGrid.contact > div.sales {
    background-image: url(/images/creative/icon200_sales-team@2x.png);
    }

    div.landing.iconGrid.contact > div.support {
    background-image: url(/images/creative/icon200_support@2x.png);
    }

    div.landing.iconGrid.contact > div.president {
    background-image: url(/images/creative/icon200_president@2x.png);
    }

    div.landing.iconGrid.contact > div.trainer {
    background-image: url(/images/creative/icon200_trainer@2x.png);
    }

    div.landing.iconGrid.contact > div.coordinator {
    background-image: url(/images/creative/icon200_coordinator@2x.png);
    }

    div.landing.iconGrid.contact > div.creative {
    background-image: url(/images/creative/icon200_creative@2x.png);
    }
    
    div.landing.iconGrid.contact > div.person {
    background-image: url(/images/creative/icon200_person@2x.png);
    }

    div.landing.iconGrid.contact > div.info {
    background-image: url(/images/creative/icon200_info2@2x.png);
    }
    
    .ppDiv ul li {
    background-image: url(/images/ui/bullet_circle_orange_10x10@4x.png);
    }

    .ppDiv ul li ul li {
    background-image: url(/images/ui/bullet_dot_orange_10x10@4x.png);
    }

    .ppDiv .ppContents ul li {
    background-image: url(/images/ui/popup_bullet_10x10@4x.png);
    }
    
}


/* =========================================================================== */
/* HD Displays                                                                 */
/* =========================================================================== */

@media only screen and (min-width: 1320px) {
    #rtLink a {
        width: 352px;
        height: 75px;
        margin: 5px 16px 21px 16px;
    }
    
    #topLinks {
        margin-top: 60px;
    }
    
    #megamenu > li {
        margin-right: 40px !important;
    }
    
    #bodyDiv2 {
        width: 1280px;
    }

    #homeMainSlider {
        width: 1260px  !important;
        height: 480px  !important;
    }
    
    #homeMainSlider .slide {
        background-size: 1280px auto !important;
        height: 480px  !important;
    }
    
    #topLinks li {
        padding: 0px 16px;
    }
    
    
    .homeIconRow > div > h2 {
        font-size: 24px;
    }
    
    .homeIconRow > div > h3 {
        margin-top: 160px;
        font-size: 18px;
    }
    
    .homeIconRow > div > p, .homeIconRow > div.blog .h, .homeIconRow > div.blog .p {
        font-size: 16px !important;
    }
    
    .homeIconRow3 > div {
        width: calc(33% - 2.5px) !important;
        background-size: 150px auto;
        background-position: center 15px;
        height: 270px;
    }
    
    .homeIconRow3 > div > h2 {
        margin-top: 150px;
    }
    
    .homeIconRow3 > div > p {
        font-size: 14px !important;
    }
    
    .homeIconRow4 > div, .homeIconRow5 > div {
        background-position: center 50px;
    }
    
    .homeIconRow4 > div {
        width: calc(25% - 7.5px) !important;
        height: 220px;
    }
    
    .homeIconRow5 > div {
        width: calc(20% - 8.33px) !important;
        height: 220px;
    }
    
    .homeIconRow2 > div {
        width: calc(50% - 5px) !important;
        height: 326px;
    }
    
    .homeIconRow2-1 > div:last-child, .homeIconRow1-2 > div:first-child {
        width: 33%;
    }
    
    .homeIconRow2-1 > div:first-child, .homeIconRow1-2 > div:last-child {
        width: calc(66% + 2px);
    }
    
    #homeMainSlider .slide div.text {
        width: 45%;
    }
    
    #PreviewLinkScroller {
        width: 480px;
        margin: 20px auto;
    }
    
    #PreviewLinkScroller .vidThumb {
        margin: 0px 20px 0px 20px;
    }
    
    #PreviewLinkScroller .vidThumb .h {
        font-size: 15px;
    }
    
    #PreviewLinkScroller .vidThumb .p {
        font-size: 12px;
    }
    
    
    div.iconGrid.product > div.box h2 {
        font-size: 20px;
    }
    
    div.iconGrid.product > div.box p, div.ppBoxLink p {
        font-size: 16px;
    }
    
    .ppImgSeqM {
        margin-left: 40px;
    }
    
    div.landing.iconGrid.pstype div.boxLink:nth-child(3n-4) {
        width: calc(33% - 6px);
    }
    
    div.landing.iconGrid div.boxLink p {
        font-size: 16px;
        line-height: 1.4em;
    }
    
    div.landing.iconGrid.pstype div.boxLink {
        padding-left:  25px;
        padding-right: 25px;
    }
    
    div.landing.iconGrid div.boxLink h2, div.landing.iconGrid div.boxLink a {
        font-size: 20px;
    }
    
    div.landing.iconGrid.psproc > div.boxLink:nth-child(1n) {
        width: calc(20% - 10px);
    }
    
    div.main.landing div.imgWrap {
        max-width: 18%;
    }
    
    div.landing.iconGrid.psproc > div.boxLink {
        padding-top: 180px;
    }
    
    div.landing.iconGrid.psproc > div.boxLink:nth-child(1n) {
        background-position: center 50px;
        background-size: 100px;
        height: 224px;
    }
    
    div.landing.iconGrid.psproc > div.boxLink > h2, div.landing.iconGrid.psproc > div.boxLink > h2 > a {
        font-size: 18px;
    }
    
    div.main.landing > div > h2.iconRowName {
        font-size: 20px;
    }

    div.landing.iconGrid.contact > div > p.tel > a  {
        font-size: 24px !important;
    }
    
    div.landing.iconGrid.contact > div > p.tel > span.ext {
        font-size: 18px !important;
    }
    
    div.landing.iconGrid.contact p.country {
        text-wrap: balance;
        margin-bottom:10px;
    }
    
    div.landing.iconGrid.contact > div.location > p {
        font-size: 24px;
    }
    
    div.landing.iconGrid.contact.physical div.phone p.tel a {
        font-size: 36px !important;
    }
    
    div.landing.iconGrid.contact.physical div.phone p.fax {
        font-size: 20px;
    }
    
    div.landing.iconGrid.contact > div > p.name {
        font-size: 22px !important;
    }
    
    div.landing.iconGrid.contact.people > div {
        min-height: 300px;
    }
    
   div.support.iconGrid div.boxLink {
        width: calc(20% - 10px);
   } 
   
   .plLink h2 {
       font-size: 22px;
       margin-top: 0.25em;
   }
   
    .box.main.ppBoxLink.boxLink p:has(.more)::before {
        height: 80px !important;
    }
    
    div.ppBoxLink h2 {
        font-size: 24px;
    }
    

    
}

/* =========================================================================== */
/* Mobile Devices                                                              */
/* =========================================================================== */

@media only screen and (max-width: 959px) {

    #bodyDiv2 {
        width: 800px;
    }
    
    div.slicknav_menu  { display: block; }
    ul#megamenu        { display: none;  }
    
    #topLinks li            { display: none  !important; }
    #topLinks li:last-child { display: block !important; }
    
    .homeIconRow3 > div {
        width: calc(760px / 3) !important;
        background-size: 150px;
        background-position: center 15px;
    }
    
    .homeIconRow3 > div > h2 {
        margin-top: 150px;
    }
    
    .homeIconRow4 > div {
        width: calc(750px / 4);
        background-position: center 15px;
    }
    
    .homeIconRow5 > div {
        width: calc(740px / 5);
        background-position: center 15px;
    }
    
    .homeIconRow5 > div > h3 {
        margin-top: 110px;
    }
    
    .homeIconRow2-1 > div:first-child {
         width: calc(66.666% - 10px) !important;
         background-size: auto 150px;
    }
    
    .homeIconRow2-1 > div:last-child {
         width: 33.333% !important;
    }
    
    .homeIconRow2-1 > div.whatissm > p {
        margin-left: 120px;
        margin-top: 20px;
    }
    
    .homeIconRow2-1 > div.smrg {
        background-size: auto 150px;
    }
    
    .homeIconRow2-1 > div.smrg > h2 {
        margin-right: 0;
    }
    
    .homeIconRow2-1 > div.smrg > p {
        font-size: 14px;
        margin-right: 80px;
    }
    
    .homeIconRow2 > div {
        width: 100% !important;
        height: auto;
    }

    #homeMainSlider .slide div.text {
        width: 45%;
    }
    
    #PreviewLinkScroller {
        width: 390px;
    }

    .homeIconRow > div.blog .h {
        font-size: 16px;
    }
    
    div.landing.iconGrid div.boxLink {
        background-position: 10px 10px;
        height: 200px;
        padding-left: 95px;
    }
    
    div.iconGrid.product > div.box {
        height: 210px;
    }
    
    div.landing.iconGrid.pstype div.boxLink {
        background-size: 100px;
        padding-top: 125px;
        height: 270px;
    }
    
    div.landing.iconGrid.psproc > div.boxLink {
        width: 148px;
        height: 148px;
        background-position: center 20px;
        padding-top: 110px;
    }
    
    div.support.iconGrid div.boxLink {
        width: calc(33.33% - 10px);
    }

}

@media only screen and (max-width: 799px) {
    #bodyDiv2 {
        width: 600px;
    }
    
    div#footer div {
        height: auto;
    }
    
    div#footer div a {
        font-size: 15px;
    }
    
    .homeIconRow3 > div {
        float: none;
        width: auto !important;
        height: 130px;
        background-position: 15px 15px;
        padding-left: 135px;
        margin-right: 0;
        background-size: 100px auto;
    }
    
    .homeIconRow3 > div > h2 {
        margin-top: 10px;
    }
    
    .homeIconRow3 > div > h2, .homeIconRow3 > div > p {
        text-align: left;
    }
    
    .homeIconRow5 > div {
        background-size: 75px auto;
        width: 110px;
        height: 150px;
        margin-right: 7.5px;
        padding: 10px;
    }
      
    .homeIconRow5 > div > h3 {
        margin-top: 95px;
    }
    
    .homeIconRow2-1 > div {
        height: 320px;
    }
    
    .homeIconRow2-1 > div > p {
        font-size: 14px !important;
    }
    
    .homeIconRow2-1 > div.smrg > p {
        margin-right: 0px;
    }
    
    .homeIconRow4 > div {
        width: calc(25% - 5.75px);
        margin-right: 7.5px;
        background-position: center 15px;
    }
    
    .homeIconRow4 > div > h3 {
        margin-top: 110px;
    }
    
    div.iconGrid.product > div.box {
        width: auto;
        height: auto;
        margin-right: 0;
        clear: both;
        background-position: 15px 25px;
        padding-left: 105px;
    }
    
    div.ppBoxLink h2 {
        font-size: 18px;
    }
    
/*
    div.main.landing > div {
        padding: 20px;
    }
*/

    div.landing.iconGrid div.boxLink {
        width: calc(50% - 10px);
        height: 180px;
    }

    div.landing.iconGrid.psmain div.boxLink {
        width: calc(50% - 10px);
        background-position: 10px 10px;
        padding-left: 95px;
    }
    
    div.main.landing h2.noborder {
        margin-top: 0px;
    }
    
    div.landing.iconGrid.pstype div.boxLink {
        height: 320px;
    }
    
    div.landing.iconGrid.psmain > div {
        background-position: 15px 15px;
        height: 215px;
    }
    
    div.landing.iconGrid.psproc > div.boxLink, div.landing.iconGrid.psproc::after {
        width: calc(33.33% - 10px);
        height: 148px;

    }
    
    div.landing.iconGrid.psproc > div.boxLink {
        background-position: center 25px;
        padding-top: 115px;
        clear: none;
    }
    
    div.landing.iconGrid.psproc::after {
        content: "";
        display: block;
        background-color: #a0a0a0;
        border-radius: 5px;
        float: left;
        margin-left: 10px;
        clear: none;
        background-image: url(/images/creative/routsis_bug_240_ff.png);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: 66.6% auto;
    }

    p.ppPrice {
        padding-left: 10px;
        margin-top: 5px;
    }

    p.ppUnit {
        font-size: 14px;
        margin-top: 15px;
        width: auto;
        float: none;
    }
    
    div.iconGrid.product.rightstart > div.box {
        float: left !important;
        clear: none !important;
        margin-right: 10px !important;
        width: calc(50% - 5px);
    }
    
    div.iconGrid.product.rightstart > div.box:last-child {
        margin-right: 0px !important;
    }
    
    .shIconBox3 {
        height: auto;
        min-height: 100px;
        background-size: 120px auto;
        background-position: -5px 15px;
    }
    
    .shIconBox3 h2, .shIconBox3 a {
        margin-left: 75px;
    }
    
    div.landing div.icon h3 {
        font-size: 16px;
    }
    
    form#reqForm {
        width: auto;
        padding-top: 0;
    }
    
    #reqForm input, #reqForm select {
        width: 410px;
    }
    
    #reqForm label, #reqForm .pseudoLabel {
        width: 130px;
    }
    
    #reqForm .radioGroup {
        width: 400px;
    }
    
    #reqForm textarea, #reqForm .radioGroup.referral {
        width: 540px;
    }
    
    #reqForm #zipLabel, #reqForm #extensionLabel {
        margin-left: 20px;
    }
    
    #reqForm #zip, #reqForm #extension {
        width: 130px;
    }
    
    #reqForm select#state, #reqForm #phone, #reqForm #mobile {
        width: 180px;
    }
    
    div.landing.iconGrid.contact.physical > div {
        float: none;
        width: auto;
    }
    
    div.landing.iconGrid.contact > div {
        background-position: left top;
    }
    
    div.landing.iconGrid.contact.single > div {
        padding-top : 0px;
        padding-bottom: 0;
    }
    
    div.landing.iconGrid.contact > div.info,
    div.landing.iconGrid.contact > div.sales {
        background-position: left -10px;
    }
    
    div.landing.iconGrid.contact > div.support {
        background-position: left -12px;
    }
    
    div.landing.iconGrid.contact.teams > div {
        padding-top: 0;
        float: none;
    }
    
    div.landing.iconGrid.contact.people > div {
        width: calc(50% - 10px)
    }
    
    div.landing.iconGrid.contact.physical,
    div.landing.iconGrid.contact.teams,
    div.landing.iconGrid.contact.single {
        div { width: 100%; }
    }
    
    div.iconGrid.product.certportal > div.box {
        width: 100%;
    }
    
    div.certportal.languages > a {
        margin-bottom: 20px;
        margin: 0px 8px 15px 8px;
    }

}

@media only screen and (max-width: 619px) {
    #bodyDiv2 {
        width: 480px;
    }
    
    div#footer div {
        margin-top: 20px;
        clear: both;
    }
    
    div#footer p {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    
    div#footer div a {
        display: block;
        border: none;
        margin-bottom: 10px;
    }
    
    #homeMainSlider, #homeMainSlider .slide {
        height: 300px;
    }
    
    #homeMainSlider .slide div.text h1 {
        font-size: 28px !important;
    }
    
    #homeMainSlider .slide div.text h2 {
        font-size: 20px !important;
    }
    
    #homeMainSlider .slide div.text p {
        font-size: 14px !important;
    }
    
    #homeMainSlider .slide div.text {
        padding-left: 10px;
        padding-right: 10px;
    }
    
    .homeIconRow3 > div {
        height: auto;
    }
    
    .homeIconRow5 > div {
        background-size: 100px auto;
        width: 146.666px;
        height: 170px;
        margin-right: 10px;
        padding: 10px;
    }
    
    .homeIconRow5 > div:nth-child(3) {
        margin-right: 0px;
    }
    
    .homeIconRow5 > div > h3 {
        margin-top: 115px;
    }
    
    .homeIconRow5::after {
        content: "";
        float: left;
        box-sizing: border-box;
        background-color: #a0a0a0;
        border-radius: 5px;
        display: block;
        background-size: 100px auto;
        width: 146.666px;
        height: 170px;
        margin-left: 10px;
        padding: 10px;
        background-image: url(/images/creative/routsis_bug_240_ff.png);
        background-position: center center;
        background-repeat: no-repeat;
    }
    
    .homeIconRow2-1 > div:first-child, .homeIconRow2-1 > div:last-child {
        width: auto !important;
        margin-right: 0;
    }
    
    .homeIconRow2-1 > div {
        height: auto;
    }
    
    .homeIconRow2-1 > div.smrg {
        background-size: 120px auto;
    }
    
    .homeIconRow2-1 > div.smrg > p {
        margin-right: 90px;
    }
    
    div.ppBoxLink h2 {
        margin-top: 0px;
        margin-bottom: 5px;
    }
    
    .box.main.ppBoxLink.boxLink:has(.ppImgSeqS) p:has(.more)::before {
        width: calc(100% - 133px);
    }
    
    div.ppBoxLink, div.ppBoxLink .ppImgSeqS {
        height: 100px;
    }
    
    div.ppBoxLink .ppImgSeqS {
        width: 133px;
        margin-right: 15px;
    }
    
    div.landing.iconGrid div.boxLink {
        width: auto;
        height: auto;
        min-height: 100px;
    }
    
    div.landing.iconGrid.pstype div.boxLink,
    div.landing.iconGrid.psmain div.boxLink {
        width: auto;
        clear: both;
    }
    
    div.landing.iconGrid.psmain div.boxLink {
        height: 140px;
    }
    
    div.landing.iconGrid.pstype div.boxLink {
        background-size: 150px;
        padding-top: 170px;
        height: 265px;
    }
    
    div.landing.iconGrid.pstype div.boxLink a {
        font-size: 20px;
    }
    
    div.landing.iconGrid.psproc > div.boxLink,
    div.landing.iconGrid.psproc::after {
        height: 160px;
    }
    
    .plLink p {
        font-size: 13px;
        margin-top: 6px;
        margin-bottom: 0;
        line-height: 1.33em;
    }

    .shIconBox3 p {
        font-size: 14px;
    }
    
    div.GapqLandingMain div.imgWrap {
        margin-left: 15px;
        margin-bottom: 0;
        float: none;
    }
    
    .event {
        background-position: center 30px;
        background-size: 150px auto;
        min-height: 180px;
        padding-top: 135px;
        padding-left: 20px;
    }
    
    .event p.when {
        margin-bottom: 0px;
    }
    
    .event p.when, .event p.where {
        float: none;
    }

    
    #reqForm input, #reqForm select, #reqForm #zip, #reqForm select#state {
        width: 290px;
    }
    
    #reqForm label, #reqForm #zipLabel {
        width: 130px;
    }
    
    #reqForm .pseudoLabel {
        width: auto;
    }
    
    #reqForm #zipLabel {
        margin-right: 0px;
    }
    
    #reqForm .radioGroup {
        width: 100%;
        margin-right: 0;
    }
    
    #reqForm textarea, #reqForm .radioGroup.referral {
        width: 420px;
    }
    
    #reqForm #zipLabel, #reqForm #extensionLabel {
        margin-left: 20px;
    }
    
    #reqForm #zipLabel {
        margin-left: 0px;
    }
    
    #reqForm #extensionLabel {
        margin-left: 10px;
        width: 50px;
    }
    
    #reqForm #extension {
        width: 70px;
    }
    
    #reqForm #zipDiv {
        clear: both;
    }
    
    #reqForm #phone, #reqForm #mobile {
        width: 150px;
    }
    
    div.landing.iconGrid.contact.people > div {
        width: 100%;
    }
    
    div.landing.iconGrid.contact.physical,
    div.landing.iconGrid.contact.teams,
    div.landing.iconGrid.contact.single {
        margin-left: -20px;
        div {
            background-size: 75px;
            padding-left: 100px;
        }
    }

    div.landing.iconGrid.contact > div.sales {
        margin-top: 30px;
    }

    div.certportal.languages > a {
        margin-bottom: 20px;
        margin: 0px 8px 15px 8px;
    }

    div.certportal.languages > a:nth-child(3n+1) {
        clear: both;
        margin-left: 0;
    }
    
}

@media only screen and (max-width: 480px) {

    #bodyDiv2 {
        width: auto;
    }
    
    .breadcrumbs {
        display:none;
    }
    
    .main h1 {
        font-size: 24px;
    }
    
    div.main.landing > div > h3 {
        font-size: 20px;
    }
    
    .homeIconRow5 > div {
        margin-right: 10px;
    }
    
    .homeIconRow5 > div, .homeIconRow5::after {
        width: calc(33.333% - 7px);
    }
    
    .homeIconRow5::after {
        background-size: 75px;
    }
    
    .homeIconRow5 > div:nth-child(3) {
        margin-right: 0px;
    }
    
    .box.main.ppBoxLink.boxLink:has(.ppImgSeqS) p:has(.more)::before {
        width: calc(100% - 100px);
    }
    
    div.ppBoxLink .ppImgSeqS {
        height: 66px;
    }
    
    div.ppBoxLink p {
        font-size: 13px;
    }
    
    div.ppBoxLink {
        height: 100px;
    }
    
    div.ppBoxLink .ppImgSeqS {
        width: 100px;
        margin-bottom: 34px;
    }
    
    div.main h3.subhead {
        font-size: 18px;
    }
    
    .plLink a {
        margin-bottom: 10px;
    }
    
    .plLink h2 {
        font-size: 18px;
        line-height: 1.25em;
    }
    
    .plLink p {
        clear: both;
        margin-top: 10px;
    }
    
    .plLink span.duration {
        display: none;
    }
    
    div.support.iconGrid div.boxLink {
        background-size: 75px auto;
        padding-top: 110px;
        height: 145px;
    }
    
    #reqForm input, #reqForm select, #reqForm #zip, #reqForm select#state {
        width: 270px;
    }
    
    #reqForm #extensionLabel {
        width: 45px;
    }
    
    #reqForm #extension {
        width: 55px;
    }
    
    #reqForm textarea, #reqForm .radioGroup.referral {
        width: 400px;
    }
}

@media only screen and (max-width: 479px) {

    #PreviewLinkScroller {
        width: 320px;
        margin: auto;
    }
    
    #PreviewLinkScroller .vidThumb img, #PreviewLinkScroller .arrow {
        height: 90px;
    }
    
    #PreviewLinkScroller .vidThumb img, #PreviewLinkScroller .vidThumb .h, #PreviewLinkScroller .vidThumb .p {
         width:  120px;
    }
    
    #rtLink a {
        /* 4.7:1 ratio */
        width: 240px;
        height: calc(240px / 4.7);
        margin: 0px 16px 16px 16px;
    }
    
    #topLinks {
        margin-top: 33px;
        margin-right: 0px;
    }
    
    #topLinks ul {
        display: block;
    }
    
    div.landing.iconGrid.psmain div.boxLink {
        height: auto;
        min-height: 120px;
    }
    
    div.landing.iconGrid.pstype div.boxLink {
        background-size: 100px auto;
        padding-top: 120px;
        height: auto;
    }
    
    .ppImgSeqM {
        float: left;
        clear: both;
        margin-left: 0px;
    }
    
    .ppDiv h1 {
        clear: both;
    }
    
    div.iconGrid.product.wide.rightstart2 > div.box {
        height: auto !important;
        min-height: 120px !important;
    }
    
    #reqForm label, #reqForm input[type=text], #reqForm textarea, #reqForm select {
        font-size: 15px !important;
    }
    
    #reqForm label, #reqForm #zipLabel {
        width: 85px;
    }
    
    #reqForm > div {
        clear: both;
    }
    
    #reqForm textarea, #reqForm .radioGroup.referral, #reqForm .radioGroup {
        width: 360px;
    }
    
    #reqForm #submitDiv {
        margin-top: 10px;
        float: none;
    }
    
    div.certIconWrap {
        width: 150px;
        height: 150px;
    }
    
}

@media only screen and (max-width: 460px) {
    .homeIconRow4 > div {
        width: calc(50% - 5px);
        margin-right: 10px;
    }
    
    .homeIconRow4 > div:nth-child(even) {
        margin-right: 0px;
    }
    
    
    #topLinks {
        margin-top: 0px;
        margin-right: 0px;
    }
    
}

@media only screen and (max-width: 440px) {
    .homeIconRow2-1 > div.whatissm {
        background-image: none;
    }
    
    .homeIconRow2-1 > div.whatissm > p {
        margin-left: 0px;
    }
    
    #rtLink a {
            /* 2.24:1 ratio */
        width: 160px;
        height: calc(160px / 2.247);
        margin: 0px 16px 16px 16px;
        background-image: url(/images/ui/rt_logo_compact_2025.svg);
    }
    
    #reqForm label, #reqForm #zipLabel {
        width: 100%;
    }
    
    #reqForm textarea, #reqForm .radioGroup.referral, #reqForm .radioGroup {
        width: 280px;
    }
    
    div.iconGrid.product.wide.certportal > div.box > h2 {
        font-size: 16px;
    }
    
}

@media only screen and (max-width: 410px) {
    
    #topLinks a.cart::before {
        content: "Cart";
    }
    
    .plLink a {
        width: 100px;
        height: 66px;
    }
    
    .plLink a span {
        display: block;
        width: 100px;
        height: 66px;
        background-size: auto 66px;
        background-repeat: no-repeat;
        background-position: center center;
        background-image: url(/images/ui/play_overlay_82x82.png);
    }
    
    div.support.iconGrid div.boxLink {
        width: calc(50% - 10px);
        padding-top: 110px;
        height: 145px;
    }

}



@media only screen and (max-width: 399px) {
    
    #PreviewLinkScroller {
        width: 270px;
    }
    
    #PreviewLinkScroller .vidThumb img, #PreviewLinkScroller .arrow {
        height: 75px;
    }
    
    #PreviewLinkScroller .vidThumb img, #PreviewLinkScroller .vidThumb .h, #PreviewLinkScroller .vidThumb .p {
         width:  100px;
    }
    
    div.GapqLandingMain div.imgWrap > img {
        width: 260px;
        height: auto;
    }
}

@media only screen and (max-width: 380px) {
    
    div.landing.iconGrid.psproc > div.boxLink,
    div.landing.iconGrid.psproc::after {
        height: 140px;
    }
    
    div.landing.iconGrid.psproc > div.boxLink {
        background-position: center 15px;
        background-size: 50px auto;
        padding-top: 75px;
    }
}

@media only screen and (max-width: 359px) {
    .homeIconRow5 > div {
        background-size: 75px;
        height: 150px;
    }

    .homeIconRow5::after {
        background-size: 50px;
        height: 150px;
    }
    
    .box.main.ppBoxLink.boxLink:has(.ppImgSeqS) p:has(.more)::before {
        width: 100%;
    }
    
    #PreviewLinkScroller {
        width: 270px;
        margin: 0;
    }
    
    #PreviewLinkScroller .vidThumb img, #PreviewLinkScroller .arrow {
        height: 75px;
    }
    
    #PreviewLinkScroller .vidThumb img, #PreviewLinkScroller .vidThumb .h, #PreviewLinkScroller .vidThumb .p {
         width:  100px;
    }
    
    #PreviewLinkScroller .vidThumb {
        margin: 0px 5px 0px 5px;
    }
    
    #PreviewLinkScroller .vidThumbL {
        margin-right: 0px;
    }
    
    div.ppBoxLink h2 {
        font-size: 15px;
    }
    
    .homeIconRow5 > div > h3 {
        margin-top: 90px;
    }
    
    #reqForm input[type=text], #reqForm select, #reqForm textarea, #reqForm .radioGroup.referral, #reqForm .radioGroup {
        width: 260px !important;
    }
    
    #reqForm .radioGroup label {
        font-family: "Roboto Condensed";
        font-size: 14px;
    }
    
    #reqForm .radioGroup {
        padding-left: 5px;
        padding-right: 2px;
    }
    
    
    
    div.landing.iconGrid.contact p.email {
        font-size: 14px;
    }
    
    div.certIconWrap {
        float: none;
        margin-left: 0px;
    }
    
    div.certportal.languages > a {
        margin-left: 4px;
        margin-right: 4px;
    }


    
    
    
}

/* =========================================================================== */
/* minimum body width = 320px                                                  */
/* =========================================================================== */

@media only screen and (max-width: 320px) {
    body, html {
        width: 320px;
    }
}

/* =========================================================================== */
/* iconRow layoput                                                             */
/* =========================================================================== */

@media only screen and (min-width: 800px) and (max-width: 1319px) {
    div.iconRow > div.boxLink:nth-child(6) {
        margin-left: 0 !important;
        clear: both;
    }
}

@media only screen and (min-width: 800px) and (max-width: 959px) {
    div.landing div.iconRow > div.boxLink > div.icon {
        background-size: 80px auto;
        width: 120px;
        height: 120px;
    }
    
    div.landing div.iconRow div.boxLink {
        width: 120px;
    }
}

@media only screen and (min-width: 620px) and (max-width: 799px) {
    div.iconRow > div.boxLink:nth-child(3n + 1) {
        margin-left: 0 !important;
        clear: both;
    }
}

@media only screen and (min-width: 480px)  and (max-width: 619px) {
    div.iconRow > div.boxLink:nth-child(3n) {
        margin-right: 0 !important;
    }
    
    div.iconRow > div.boxLink:nth-child(3n + 1) {
        margin-left: 0 !important;
        clear: both;
    }
    
    div.landing div.iconRow > div.boxLink > div.icon {
        width: 118px;
        height: 118px;
    }
    
    div.landing div.iconRow div.boxLink {
        width: 118px;
    }
}

@media only screen and (max-width: 479px) {
    
    div.iconRow > div.boxLink:nth-child(odd) {
        margin-left: 0 !important;
        clear: both;
    }
    
    div.iconRow > div.boxLink:nth-child(even) {
        margin-right: 0 !important;
    }

}

@media only screen and (min-width: 308px) and (max-width: 404px) {
    div.landing div.iconRow > div.boxLink > div.icon {
        width: 123px;
        height: 123px;
    }
    
    div.landing div.iconRow div.boxLink {
        width: 123px;
    }
}

@media only screen and (min-width: 308px) and (max-width: 350px) {
    div.landing div.iconRow > div.boxLink > div.icon {
        width: 100px;
        height: 100px;
        background-size: 80px auto;
    }
    
    div.landing div.iconRow div.boxLink {
        width: 100px;
    }
}

@media only screen and (max-width: 307px) {
    div.iconRow > div.boxLink {
        margin-left: 0 !important;
        margin-right: 0 !important;
        clear: both;
    }
}

/* =========================================================================== */
/* catalog layout                                                             */
/* =========================================================================== */


@media only screen and (min-width: 960px) and (max-width: 1319px) {
    div.catalog div > div > div:nth-child(5n + 1) {
        margin-left: 0px;
    }
}

@media only screen and (min-width: 800px) and (max-width: 959px) {
    div.catalog div > div > div:nth-child(4n + 1) {
        margin-left: 0px;
    }
}

@media only screen and (min-width: 620px) and (max-width: 799px) {
    div.catalog div > div > div:nth-child(3n + 1) {
        margin-left: 0px;
    }
}

@media only screen and (min-width: 350px) and (max-width: 619px) {
    div.catalog div > div > div:nth-child(2n + 1) {
        margin-left: 0px;
    }
}

@media only screen and (min-width: 350px)  and (max-width: 405px) {
    div.catalog div > div > div {
        background-size: 60px auto;
        width:  120px;
        height: 165px;
        background-position: center 25px;
    }
    
    div.catalog div > div > div > h3 {
        margin-top: 100px;
    }
}

@media only screen and (max-width: 349px) {
    
    div.catalog div > div > div {
        margin-left: 0;
        margin-right: 0;
    }
}









